Utiliser la Pi Pico depuis l’Arduino IDE

Le support sur Arduino IDE de la carte Pi Pico ne s’est pas fait attendre. Il est désormais possible de programmer la carte Raspberry Pi Pico avec le code Arduino directement depuis l’Arduino IDE. L’ajout du support est similaire à l’installation des cartes ESP32 via le gestionnaire de cartes supplémentaires via l’Arduino IDE.

Installation du logiciel Arduino IDE

Si vous n’avez toujours pas l’Arduino IDE d’installé, vous pouvez vous référer à la première partie du tutoriel pour l’ESP32.

L’installation du logiciel en lui même se fait très simplement.

Ajouter le support du RP2040 dans l’Arduino IDE

Pour installer les outils nécessaires de la Pi Pico, il faut
  • Allez dans Fichier > Préférences
    Accéder aux préférences du logiciel Arduino IDE

    Fenêtre des préférences d’Arduino IDE

  • Cliquez sur URL de gestionnaires de cartes supplémentaires et ajoutez l’URL suivante :
    https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
    
    Ajouter l'url pour programmer la pi pico depuis l'Arduino IDE

    Ensembles des URL pour gérer les cartes supplémentaires (ESP32, Raspberry Pi Pico)

    Avertissement

    Il ne faut pas enlever les urls déjà existantes si vous programmer également sur ESP8266/ESP32 depuis l’Arduino IDE.

  • Ensuite il faut aller dans le gestionnaire de cartes : Outils > Type de carte > Gestionnaire de carte . Descendez tout en bas jusqu’à trouver Raspberry Pi Pico/RP2040 et cliquer sur installer. L’installation des outils de développement se fait automatiquement, il suffit d’attendre.

    Installation du paquet *Raspberry Pi Pico/RP2040* de **Philhower** depuis le gestionnaire de cartes

    Cliquer sur le bouton installer du paquet Raspberry Pi Pico/RP2040 de Philhower

    Note

    Le téléchargement peut prendre un peu de temps en fonction de votre connexion internet.

Lorsque l’installation est finie, vous pouvez changer le type de carte en choisissant la carte Raspberry Pi Pico

Choix de la carte basée sur un microcontroleur RP2040

Choix du type de carte basée sur le RP2040 (Ici Raspberry Pi Pico)

Téléverser un programme sur la Pi Pico :

L’upload d’un programme sur la Pi Pico est différent qu’avec les cartes Arduino et ESP32 : Pour que la Pi Pico reçoit un nouveau programme, il faut qu’elle soit en mode ‘USB’. Si vous avez MicroPython d’installé sur la Pi Pico, il faudra mettre manuellement la carte en mode BOOT en maintenant appuyé le bouton BOOT/BOOTSEL lors du branchement à l’ordinateur. On ne peut pas directement téleverser un programme en ayant MicroPython qui tourne sur la Pi Pico.

Bug upload sketch avec Micropython d'installé

Erreur lors du téleversement du croquis : l’IDE Arduino n’arrive pas à accéder au mode USB du Pi Pico

Avertissement

Pensez à bien sauvegarder touts les éventuels scripts Python présents dans le gestionnaire de fichiers de MicroPython avant de mettre la Raspberry Pi Pico en mode USB. En effet, toute la mémoire flash sera écrasée par le nouveau programme.

Une fois que vous avez mis manuellement la Pi Pico en mode USB, vous pouvez vérifier que le téléversement d’un sketch Arduino fonctionne. Vous pouvez prendre l’exemple du code blink accessible dans Fichiers > Exemples > Basics > Blink qui fait clignoter la led de la carte.

Exemples de sketch pour le Pi Pico depuis l'Arduino IDE

Ouvrir le sketch Blink depuis les exemples de l’Arduino IDE

Vous pouvez aussi directement copier le code ci-dessous :

void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(750);                        // wait for a second
    digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
    delay(750);                        // wait for a second
}

Il suffit ensuite de cliquer sur la flèche habituelle pour compiler puis téléverser le programme. La première compilation prend un peu de temps mais les suivantes seront plus rapides.

Televersement d'un programme sur la Pi Pico depuis l'Arduino IDE

Téléversement d’un programme sur la Pi Pico (Ici, c’est le port série COM10 qui est utilisé)

Lors des futurs téléversements, la Pi Pico se mettra directement en mode USB, il ne serra donc plus nécessaire d’appuyer sur le bouton BOOTSEL.

En fait, lors de chaque téléversement, il se passe les choses suivantes :
  • La liaison série via un port COM est arrêtée.

  • La carte Pi Pico se met en mode USB : elle se comporte comme une mini clé USB.

  • La carte Pi Pico reçoit son nouveau programme compilé avec l’extension UF2 : il est copié dans sa mémoire.

  • La Pi Pico redémarre en exécutant le nouveau programme et active de nouveau sa liaison série.

Note

La seule chose ennuyante est que l’on entend le bruit de détection caractéristique de Windows lors de chaque téléversement

Bravo, vous pouvez dorénavant utiliser le code Arduino pour programmer la Pi Pico. Vous pouvez donc rependre vos programmes fait pour une Arduino et éventuellement l’adapter un peu pour la Pico.

Note

Puisque le portage de la Pi Pico avec le code est récent, il se peut que toutes les librairies ne soient pas encore compatible avec la Pico.