Avantages du Pi pico

Petit retour sur une série de choses sont intéressantes avec le Pi Pico

Le prix

Clairement, le point décisif, au delà des performances, etc. c'est le prix de la carte à 4$ ! Et ce prix ne devrait pas se démentir au fil du temps, car la première fournée a entraîné 1 000 000 de commandes en à peine 2 mois, ce qui crée un effet volume qui renforcera le maintien d'un prix bas.

C'est possible car la Fondation Rapsberry Pi a décidé de créer son propre micro-contrôleur (on se demande d'ailleurs pourquoi Arduino n'en n'a pas fait autant depuis un bail... ?!) Et puis, il y a une "politique maison" de la Raspberry Pi Foundation qui est coutumière du fait : un mini pc à moins 40€ avec le Raspberry Pi dès 2012, et même le Pi Zéro à 5€ qui pouvait faire tourner un Linux !

Ceci étant, çà vient malgré tout totalement changer la donne sur le marché en question :

  • le prix de la "carte coeur" n'est désormais plus un problème pour créer des projets, etc.
  • tout l'écosystème existant, notamment Arduino, au moins pour la partie "carte logique" se fait "court-circuiter" par le bas, en venant fixer une nouvelle barre de "prix maximum" d'une carte logique.
  • même les chinois sont "court-circuités", et c'est pas bête au final comme stratégie : le prix est tellement bas que la concurrence n'y arrivera pas... et la réputation de la Pi Foundation fera le reste...

Premier avantage donc, le prix.

Les caractéristiques du microcontrôleur, mémoire

La carte dispose :

  • d'un microcontrôleur ARM M0 double coeur cadencé à 130 MHz,
  • de plus de 200 Ko de RAM
  • et 2Mo de Flash programme, ce qui veut dire un espace de stockage à minima intégré.

Fait tourner Micropython !

Deuxième atout de taille : bien que proposant aussi l'écosystème C/C++, le très gros atout de cette carte est de faire tourner Micropython ! Donc en clair, on a Une carte Micropython à 4 $ !! Même en rêve on n'imaginait pas mieux !!

Bon ok, il y a quelques petits manques à la marge, mais à on avis, c'est uniquement des défauts de jeunesse : la classe RTC ou la classe USB_VCP ne sont pas implémentées à ce jour dans la version de base. (Février 2021) Mais, c'est des "broutilles" sans importance si on n'est pas un habitué de Pyboard, la carte officielle Micropython.

Les avantages de Micropython !

Du coup, Pi Pico bénéficie des avantages de micro-python, nombreux et on peut citer notamment :

  • le mode interpréteur qui permet d'interagir avec la carte "à la volée" ce qui est très pratique pour apprendre, faire des essais, etc. Un must en fait, du à Micropython.
  • une programmation "puissante", synthétique et facile à apprendre à la fois,
  • la programmation par fichiers (et non plus code compilé) ce qui rend la maintenance d'un projet très facile : on a la carte du projet déjà utilisée, on a les codes !

A tout ce qu'on attend en tant d'une carte Microcontrôleur

Sur une carte à microcontrôleur pour un usage DIY, un truc qu'on attend obligatoirement c'est :

  • broches E/S
  • broches PWM
  • mesure analogique ADC
  • comm' sérielles I2C, SPI, UART,
  • support des communication 1wire, DHT,

La carte Pi Pico a tout çà. La conversion analogique est en 12 bits / 3.3V ce qui donne une résolution de 0.8mV, ce qui est très intéressant avec certains capteurs ayant des sorties "pincées".

Mais le Pico a aussi, ce qui est idéal pour une prise en main :

  • une LED "onboard"
  • un capteur de température "onboard"

Elle n'a pas la conversion Digital Analogique (DAC) ni la RTC (peu de cartes l'ont en natif), ou encore de SD intégrée (mais connexion possible). Mais tout ceci est disponible par modules externes au besoin.

Des détails intéressants

Plusieurs détails techniques rendent l'utilisation du Pi Pico intéressante :

  • absence de bornier soudé ce qui laisse une grande liberté d'usage de la carte ! Une incitation en soi à la créativité, aux bonnes idées... autant en profiter ! On peut sortir du "schéma obligé" d'une connectique précise, voir même souder directement sur la carte des câbles, modules. Broches au pas de 2.54mm.

  • les ports i2C, SPI, UART sont disponibles sur plusieurs broches différentes ce qui permet de s'adapter facilement !

  • les tensions disponibles sur broches sont variées : Vsys(1.8 à 5.5V), Vbus (5V), 3.3V

  • LED onboard et capteur de température "onboard" ainsi que VSys/3 sur broche analogique.

  • alimentation via le port Micro-USB qui est standard et commun de nos jours à de nombreus smartphones, etc.

  • alimentation externe dans une plage comprise entre 1.8V et 5.5V, ce qui facilite un usage avec des petites batteries externes. Le VSys/3 sur broche analogique permettra de facilement monitorer une batterie.

Une carte "bien foutue et bien pensée" !

et même un peu plus : les PIO !

Un truc unique par contre, c'est les PIO : des broches E/S un peu "universelles", programmables en assembleur, pour obtenir une très grande réactivité lorsque cela est nécessaire.

un format de carte "à souder" et polyvalent

La carte a le format d'un Arduino Nano, avec les broches sous forme de pastilles "à souder" ce qui offre une très grande souplesse d'usage :

  • on peut l'utiliser brute, faire de la soudure directe de câble
  • on peut utiliser toute une variété de connecteurs de son choix, au pas 2,54mm, sans être "forcé" : connecteurs mâles, femelles, borniers à vis
  • soudage directe sur PCB

Une autre chose qui est très intéressante ici : la masse est répartie régulièrement et à plusieurs endroits sur les broches de la carte : on peut ainsi facilement disposer de la masse avec un capteur, un bouton poussoir. Et cela offre aussi plusieurs endroit où l'on dispose de plusieurs broches (3 à 4 ) + la masse, ce qui est idéal pour utilisation directe avec des étages externes de moteurs pas à pas, etc.

un format qui facilite les développements "hardware"

La carte est petite, autonome techniquement, et peut facilement être intégrée sur des shields DIY : aucun composant externe n'est nécessaire pour le Pi pico : seule la connectique de la carte est nécessaire. Cela redonne un espace de créativité possible, d'autant que tous les outils existent pour cela.

On peut même facilement envisager des adaptations vers un format carte UNO, etc. permettant de réutiliser des shields existants, etc.

Au final, c'est le concept de "shields" mais à l'envers : ce n'est plus le shield qui vient sur la logique de commande comme avec Arduino UNO, c'est la logique de commande qui vient sur le shield, et cela offre une très grande polyvalence. C'est la même idée que le Arduino Nano finalement, mais ici avec une carte très puissante.

De plus, on a une reprise sur broche de l'alimentation 5V USB, de l'alimentation Vsys par batterie et de l'alimentation 3.3V, ce qui fournit tout ce qui est nécessaire pour une compatibilité avec cartes, shields, etc.

Caractéristiques électriques intéressantes

L'alimentation se fait par microUSB 5V, polyvalent de nos jours (chargeurs de smartphone).

Il est possible de l'alimenter aussi par batterie externe dans une plage 1.8 à 5.5V... et cerise sur le gâteau, la carte dispose d'une mesure de la tension d'alimentation sur une broche analogique, permettant un monitoring du niveau de la batterie...

Et la consommation de la carte, avec quelques modules associés, ne dépasse pas les 100mA en 5V, ce qui donne une consommation de l'ordre de 0.5 à 1W, de l'ordre de celle d'une carte Arduino Uno.

Facilitation au développement de cartes utilisant le Pi Pico

Le fondation Raspberry Pi fournit un PDF pour les développeurs de matériel pour faciliter le développement de cartes basées sur le Pi Pico voire sur le RP2040. Exemple détaillé à l'appui, fichiers associés au format Fritzing, etc. En un mot, à la fois un encouragement et une facilitation au développements de projets "Pi Pico based" !

Au final

On a envie de dire qu'une chose : Tout çà pour... 4€ !!! Ben là, y'a pas photo ! Go, go, go !!!!!! A vos Pi Picos !

Et comment dire, on dispose d'une double liberté retrouvée pour des développements :

  • on peut facilement faire son propre IDE pour la carte, ses interfaces, qui permettent de plus de facilement programmer la carte.

  • on peut intégrer le Pi Pico dans plein de contexte différents sans aucun problème, créer ses propres shields, etc.

On n'a pas fini d'en entendre parler... et le nom du micro-contrôleur, RP2040, est probablement prophétique de la durée de vie de cette carte...