Flasher micropython sur le Pi pico

Pour comprendre

Le pico pi est vendu "vide", autrement dit, il ne dispose pas du Micropython et il faut le programmer sur la carte avant toute chose, ce qui se fait facilement.

Vous pouvez voir Micropython comme une sorte de firmware, un micrologiciel, que l'on flashe dans la carte et qui va ajouter l'interpréteur Python à la carte

La procédure officielle est ici : https://www.raspberrypi.org/documentation/rp2040/getting-started/

Pré-requis

Pour faire la manip', on a besoin :

  • d'une carte Raspberry Pi pico

  • d'un ordinateur ayant accès au web

  • d'un câble micro-USB

Télécharger le fichier d'installation de Micropython

Le fichier de Micropython compilé est fourni par la Raspberry Pi Fondation : c'est un fichier au format dit UF2.

On commence donc par télécharger le fichier à partir d'ici : https://www.raspberrypi.org/documentation/rp2040/getting-started/

Versions plus récentes sur le site Micropython.org !

Le site de la Pi Foundation ne propose pas forcément la version la plus récente, et il est intéressant d'aller faire un tour ici plutôt : https://micropython.org/download/rp2-pico/

Le fichier fait 486Ko au moment où je fais la manip'.

Note

Le fichier *.UF2 correspond en fait à la version compilée pour la carte Pico pi de Micropython. La fondation fournit donc ce fichier "prêt à l'emploi" mais il est possible de compiler soi-même à partir des sources, et c'est l'objet d'une page séparée.

Appuyer sur le bouton BOOTSEL de la carte

La carte étant toujours débranchée : appuyer sur le bouton BOOTSEL du picopi :

Brancher la carte sur le port USB du PC

Tout en maintenant le bouton appuyé, connecter la carte au port USB.

La carte apparaît sur le système comme un volume appelé RPI-RP2 :

Relâcher le bouton une fois le volume apparaît sur le système

Note

Je trouve plus pratique de connecter d'entrée de jeu le port micro-usb de la carte au câble et de connecter le câble USB au PC plutôt que l'inverse.

Note

Sur la carte on a 2 fichiers déjà présent :

  • un fichier HTML qui redirige vers la page RP2040 officielle
  • un fichier INFO_UF2.TXT qui donne l'info du bootloader UF2 présent sur la carte

Copier le fichier UF2 sur la carte pico pi

A présent, il suffit de glisser/déposer ou copier/coller le fichier *.uf2 téléchargé à la première étape sur le volume RPI-RP2 :

La manip' n'a pas fonctionné pour moi graphiquement sous Gnu/Linux, probablement pour des questions de droits d'utilisateur et j'ai résolu facilement en ouvrant un terminal à l'emplacement où se trouvait le fichier UF2 et en faisant :

sudo cp rp2-pico-20210205-unstable-v1.14-8-g1f800cac3.uf2 /media/user/RPI-RP2/

Dans cette commande :

  • sudo donne les droits admin
  • cp est la commande pour copier
  • rp2-pico-xxxxx.uf2 est le fichier uf2
  • /media/user/RPI-RP2 est le chemin de la carte montée sur le système.

Ceci peut être à faire aussi si on le fait sur un raspberry Pi par exemple. Une autre option serait de lancer le navigateur de fichier thunar en mode sudo pour effectuer la manip', mais c'est moins orthodoxe !

Noter que le volume disparaît alors du système, ce qui correspond à priori à l'opération de programmation de la carte.

Note

Cette manip' d'auto-installation du fichier UF2 sans avoir à utiliser un utilitaire comme çà serait le cas avec la Pyboard par exemple est rendue possible car la carte Pico Pi dispose d'un bootloader UF2 qui installe le fichier UF2 placé sur la carte. Bien vu !

Relancer le pico pi

Une fois fait, déconnecter / reconnecter la carte, cette fois SANS APPUYER sur le bouton BOOTSEL.

Le volume cette fois ne ré-apparaît pas sur le système.

Note

Pour ceux qui ont l'habitube de la Pyboard, le comportement de la carte Pi Pico est ici différent d'avec la Pyboard par exemple qui réapparaît sur le système comme un volume. Sur le Pi Pico, ce n'est le cas que lorsque l'on appuie sur le bouton BOOTSEL qui lance un bootloader, un lanceur, déjà implémenté sur la carte et capable de détecter la présence du fichier *.UF2 pour le charger dans le micro-contrôleur RP2040.

That is it !

Voilà, c'est fait, Micropython est installé sur la pico pi et est opérationnel ! Et tout çà sur une carte à 4€ !! Trop cool !

A présent, voyons comment "discuter" avec le Pi Pico.

Liens utiles