Pico (RP2040) - Microcontrôleur 2 coeurs Raspberry-Pi
100 Max. par commande
Microcontrôleur Raspberry-Pi Pico
- RP2040 Cortex M0+ @ 133 MHz, 2 coeurs
- 2 Mio Flash
- 265 Kio SRAM
- 30x GPIO @ 3.3V (26 entièrement disponibles)
- 5x ADC 12bits (3x utilisateurs, 1x VSys, 1x température)
- 16x PWM
- 2x UART, 2x I2C, 2x SPI
- SD IO, VGA IO
- SWD debug port (Open OCD)
Les paiements sont sécurisés par LyraCollect, une société de collecte de paiements française
Il est possible de se faire livrer chez soi, en point relais ou retirer sur rendez-vous chez MCHobby
Nous préparons, emballons et expédions vos commandes avec un grand respect et un grand soin.
Le microcontrôleur Raspberry-Pi Pico, un double coeur surpuissant pour vos développements C++ ou MicroPython
Voici le tout premier microcontrôleur créé par le fondation Raspberry-Pi, le RP2040. Il s'agit d'un Cortex-M0+ double coeurs à 133 Mhz épaulé par une mémoire flash de 2 Mio (QSPI). Le RP2040 dispose aussi d'une mémoire RAM dépassant les 256 Kio (~265Kio), ce qui fait quand même un mastodonte dans son domaine.
Sous MicroPython, le RP2040 dispose également d'un espace Flash (~ 128Kio) réservé au système de fichiers MicroPython.
Les 26 GPIOs de la carte offrent des caractéristiques biens intéressantes: il y a 6 bus (2x I2C, 2x SPI, 2x UART) qu'il est possible de localiser à de très nombreux emplacements sur les GPIOs. Rassurez-vous, les amateurs MicroPython disposent d'une configuration matérielle par défaut. L'autre point digne d'intérêt c'est la disponibilité de 16 canaux PWM, tous les GPIOs disponibles disposent de fonctionnalité PWM. Enfin, la carte dispose également de 3 entrées analogiques en résolution 12 bits (500.000 échantillons par seconde).
Si la carte ne dispose pas de lecteur pour carte SD, le RP2040 dispose d'une interface SDIO. Les plus téméraire pourrons explorer l'interface VGA décrite dans le manuel de conception matériel pour RP2040 (voir détails sur pico.raspberrypi.org).
Finalement, le connecteur microUSB permet au RP2040 d'offrir un support USB Client/Hôte 1.1.
C/C++ ou MicroPython
Le Pico se programme en MicroPython ou en C++. Pour MicroPython, la fondation offre un firmware pré-compilé (fichier UF2) qu'il ne reste plus qu'a le téléverser sur le microcontrôleur. MicroPython peut fonctionner indépendamment sur les deux coeurs (module _thread) sans mécanisme de d'inter-blocage Python entre les threads. Il s'agit donc d'une vraie exécution concurrente, attention a bien protéger la mémoire partagée.
Pour les développements C/C++, la fondation s'appuie sur une chaîne de compilation open-source qui produit un fichier UF2 à téléverser sur le Pico. Le support du débogage sur le Pico est assuré via OpenOCD.
Toute l'information nécessaire est disponible sur pico.raspberrypi.org
Mode DFU et fichier UF2
Le Pico se programme simplement grâce au mode DFU. Presser le bouton "Bootsel" lors de la mise sous tension fais passer le microcontrôleur en mode DFU (Device Firmware Upgrade). Dans ce mode, le microcontrôleur expose la mémoire Flash comme un disque USB sur lequel il suffit de glisser le fichier UF2 fournit par le compilateur sur le disque pour reprogrammer la plateforme. Une fois le fichier UF2 complètement téléverser sur la carte, celle-ci redémarre pour exécuter le nouveau programme.
Pour mettre MicroPython sur votre Pico, passer en mode DFU puis glisser le firmware MicroPython (UF2) dans le lecteur. Après le redémarrage, MicroPython est actif sur la carte. Après plus besoin du mode DFU.
Programmation sous MicroPython
Bien que le RP2040 dispose des ressources nécessaires pour monter un Lecteur USB (USB 1.1 Hôte et client), ce support n'est pas activé dans le firmware MicroPython. MicroPython utilise plutôt la liaison USB-Série via le connecteur USB. Par conséquent, des outils comme Thonny IDE (graphique), mpremote (micropython) RShell ou Ampy permettent de manipuler le système de fichier présent sur le Pico.
PIO - programmation des IO
PIO (Programmable IO) est un langage de bas-niveau offre de vrais avantages concernant le traitement de données et manipulations des entrées/sorties en bas niveau. PIO offre des machines à état fini (StateMachine) associé à un GPIO et à une programme PIO (qui manipule le GPIO). Le programme sera exécuter à une fréquence entre 2000 Hz et 125.000.000 Hz (125 MHz). PIO permet d'envisager la réalisation d'application "time-critical" comme, par exemple, une sortie VGA.
CMS Ready
Le Pico est prévu est prêt pour le breadboard et pour la soudure en CMS. Soudez y des connecteurs et il peut être branché sur une platine de prototypage/breadboard.
Les utilisateurs avancés pourrons aussi l'intégrer directement sur leur propre carte comme un composant CMS. Les contacts découpés en demi-lune permettent de souder plus facilement le Pico sur une plaque disposant de l'empreinte Adéquate.
Composant Fritzing
Fritzing est un excellent outil permettant aux néophytes de dessiner des schémas avec composants électroniques directement sur des platines d'essais. Ces schémas/graphiques restent très facile à lire et permettent une communication optimal du savoir dans un monde des makers/apprentissage/Neophytes (un outil de reve pour l'éducation).
Nous aimons beaucoup Fritzing pour cette approche DIY... les plus aguerri opterons pour un outil comme Kicad.
Le composant Fritzing est directement disponible sur pico.raspberrypi.org .
Contenu
Pour chaque commande, vous recevrez un carte RaspberryPi-Pico seule.
Si vous voulez utiliser votre Pico sur un breadboard, il sera nécessaire d'y souder des connecteur (pinHeader), les pinHeader ne sont pas inclus... mais vous pourrez facilement vous en procurer ici.
La fondation recommande de souder les connecteurs pointant vers le bas pour les GPIO (et pointant vers le haut pour les 3 broches de débogage)
Kit électronique pour Pico
Le kit ARDBase est un bon point de départ pour découvrir le monde de l'électronique avec le Raspberry-Pi Pico. l'ARDBase est aussi un excellent choix pour faire la transition d'Arduino vers MicroPython.
Ressources
- Pico.raspberrypi.org (anglais)
Guide de démarrage, MicroPython, Fritzing, etc - Des tutoriels Pico sur la page officielle (Raspberry-Pi, Anglais)
Monter une carte SD, Ajouter le support Ethernet ou Lora, etc - Python SDK en Français (Français, pdf, traduction MCHobby + Framboise 314)
Des tonnes d'informations utiles autour de MicroPyhton sur Pico - Wiki MCHobby sur le Pico (Français, Wiki MCHobby)
- Utiliser RShell (Français, Wiki MCHobby)
- Utiliser Ampy (Français, Wiki MCHobby)