Raspberry Pi Pico
⚡ L’essentiel en 60 secondes
- mcu — Raspberry RP2040 — dual-core ARM Cortex-M0+ (ARMv6-M) @ 133 MHz nominal; "originally run at 133 MHz, but later certified at 200 MHz" (Wikipedia — RP2040; RP2040 datasheet). 40 nm TSMC process, 7×7 mm QFN-56 (Wikipedia). No FPU, no DSP on Cortex-M0+ (CircuitPython board page).
- gpu — none (no video core; VGA can be bit-banged via PIO — see Features).
- ram — 264 KB SRAM on-chip in six independent banks, plus 16 KB of XIP cache usable as extra SRAM (RP2040 datasheet; errata E9 describes cache-as-SRAM).
- storage — no internal flash; board carries a 2 MB external QSPI flash (Winbond W25Q16JV) with execute-in-place; RP2040 QSPI controller supports up to 16 MB (Pico datasheet §1, Wikipedia — RP2040).
- connectivity — none wireless on this model (Wi-Fi/BT only on Pico W). Wired: USB 1.1 (LS/FS, device and host) controller + PHY (RP2040 datasheet key features).
- gpio_board — 40-pin 0.1″ castellated DIP-style header exposing 26 of the RP2040's 30 GPIO, fixed at 3.3 V and not 5 V-tolerant ("All of the GPIO pins are 3.3V logic, and are not 5V-safe", CircuitPython board page; Pico datasheet §4.2). GP0–GP22 digital-only; GP26–GP28 digital/ADC.
- Sur cette fiche : 9 tutoriels · 10 codes
Lancée le 21 janvier 2021, la Raspberry Pi Pico marque un tournant décisif dans l'histoire de l'électronique embarquée. Elle est la première carte de développement conçue autour d'une puce développée entièrement par Raspberry Pi Ltd, une entreprise britannique historiquement connue pour ses ordinateurs monocarte. Cette puce, baptisée RP2040, est le cœur de cette petite carte qui se distingue par son prix de lancement de 4 dollars américains, une somme dérisoire pour un microcontrôleur aussi puissant. La Pico n'est pas un ordinateur au sens classique du terme, car elle ne possède pas de système d'exploitation comme Linux ou Windows. Elle est un microcontrôleur, c'est-à-dire un circuit intégré conçu pour exécuter une tâche unique et spécifique, comme allumer des LED, lire des capteurs ou contrôler un moteur. Contrairement aux cartes Raspberry Pi classiques, la Pico ne dispose pas de mémoire interne pour stocker le code de manière permanente sur la puce elle-même. À la place, elle utilise une mémoire flash externe de 2 Mo soudée sur la carte, une architecture dite « sans état » qui permet aux développeurs de choisir la quantité de stockage nécessaire, allant de 512 Ko à 16 Mo selon les besoins du projet. Cette flexibilité, combinée à une disponibilité garantie jusqu'en janvier 2028 minimum, en fait un choix pérenne pour les projets industriels et éducatifs.
Le cerveau de la Pico, la puce RP2040, est un bijou d'ingénierie. Elle embarque deux cœurs ARM Cortex-M0+ fonctionnant à une fréquence nominale de 133 MHz, bien que les révisions ultérieures aient été certifiées pour tourner jusqu'à 200 MHz. Pour comprendre cette fréquence, imaginez-la comme le nombre de cycles que le processeur peut effectuer chaque seconde ; ici, chaque cœur peut effectuer 133 millions de cycles par seconde. Le fait d'avoir deux cœurs identiques permet de traiter plusieurs tâches en parallèle, une capacité rare à ce niveau de prix. La puce dispose également de 264 Ko de mémoire vive (SRAM), une quantité généreuse pour un microcontrôleur, qui permet de manipuler des données rapidement sans ralentir le système. Une particularité technique notable est l'absence d'unité de calcul à virgule flottante (FPU) et d'unités de traitement de signal numérique (DSP). Cela signifie que les calculs mathématiques complexes impliquant des nombres décimaux doivent être simulés par logiciel, ce qui est plus lent que sur des puces dédiées, mais reste largement suffisant pour la plupart des applications de contrôle. La puce est fabriquée selon un procédé de 40 nm, une finesse de gravure qui équilibre performance et consommation énergétique.
L'un des aspects les plus innovants de la Pico réside dans ses périphériques d'entrée/sortie, notamment les machines d'état PIO (Programmable I/O). Les PIO sont des blocs matériels programmables qui peuvent gérer des tâches d'entrée/sortie complexes sans solliciter le processeur principal. Par exemple, générer un signal vidéo VGA, piloter des rubans de LED NeoPixel ou lire une carte SD peut être réalisé par les PIO, laissant le processeur libre pour d'autres tâches. Cette architecture permet d'atteindre des performances impressionnantes pour des tâches en temps réel. La carte offre 26 broches GPIO (General Purpose Input/Output) accessibles via un connecteur de 40 broches. Il est crucial de noter que ces broches fonctionnent en logique 3,3 volts et ne tolèrent pas les signaux de 5 volts. Connecter un appareil 5 volts directement sur une broche GPIO risque d'endommager la carte. Parmi ces broches, certaines sont dédiées à la conversion analogique-numérique (ADC). La Pico possède un convertisseur ADC 12 bits à 4 canaux, capable d'échantillonner à 500 kSps (500 000 échantillons par seconde). Un cinquième canal est dédié à la lecture de la température interne de la puce. Cependant, la précision de l'ADC peut être affectée par le bruit électrique de l'alimentation, car il n'y a pas de référence de tension externe dédiée ; la tension de référence est dérivée de l'alimentation 3,3 volts filtrée.
La connectivité de la Pico est volontairement minimale pour réduire les coûts et la complexité. La version originale ne possède aucune connectivité sans fil, ni Wi-Fi ni Bluetooth. Ces fonctionnalités sont réservées aux variantes ultérieures comme la Pico W. La seule interface de communication principale est le port USB micro-B. Ce port sert non seulement à alimenter la carte, mais aussi à la programmer. Le processus de programmation est remarquablement simple grâce au bootloader UF2 stocké dans la ROM de la puce. En maintenant le bouton BOOTSEL enfoncé lors de la connexion au port USB, la carte apparaît comme une clé USB sur l'ordinateur. Il suffit alors de glisser-déposer un fichier .uf2 pour mettre à jour le logiciel. Cette méthode élimine le besoin de programmeurs matériels coûteux. Le port USB supporte la norme USB 1.1, offrant une vitesse de transfert de 12 Mbit/s, ce qui est suffisant pour la programmation et la communication série, mais insuffisant pour le transfert de gros volumes de données. La carte peut également agir comme hôte USB, permettant de connecter des périphériques comme des clés USB ou des souris, une fonctionnalité rare à ce prix.
L'alimentation de la Pico est conçue pour la flexibilité. Elle accepte une tension d'entrée (VSYS) comprise entre 1,8 V et 5,5 V grâce à un régulateur de tension buck-boost intégré. Cela signifie qu'elle peut fonctionner aussi bien sur une seule pile lithium-ion que sur trois piles AA. La consommation en veille est d'environ 1,3 mA, ce qui est faible mais pas optimal pour des applications fonctionnant sur batterie pendant des années, car le régulateur de tension consomme une partie de l'énergie. Pour les projets nécessitant une autonomie extrême, il est parfois nécessaire de bypasser le régulateur de la carte et d'utiliser la puce RP2040 seule. La carte est entièrement open source, avec des schémas, des fichiers de conception PCB et des modèles 3D disponibles sans restriction, encourageant ainsi la communauté à créer des variantes personnalisées.
La programmation de la Pico est accessible à tous les niveaux. Elle est officiellement supportée par le SDK C/C++ de Raspberry Pi, qui offre un contrôle total sur le matériel. Pour les débutants ou les prototypages rapides, des langages interprétés comme MicroPython et CircuitPython sont disponibles. Ces langages permettent d'écrire du code Python directement sur la carte, avec un environnement de développement intégré (IDE) simplifié. Il existe également des ports communautaires pour des langages comme Rust, Go, Zig et Ada, ainsi qu'un noyau Arduino non officiel très populaire qui permet d'utiliser la bibliothèque Arduino standard. Cette polyvalence logicielle, combinée à une documentation exhaustive et à une communauté active, fait de la Raspberry Pi Pico une plateforme idéale pour apprendre les bases de l'électronique, du codage embarqué et de la conception de systèmes temps réel. Malgré quelques errata matériels connus, notamment liés à la gestion des horloges ou à la précision de l'ADC, la Pico reste une référence incontournable dans le monde des microcontrôleurs grâce à son rapport qualité-prix inégalé et à ses capacités uniques offertes par les PIO.



Schéma de brochage (pinout)
| Attr | Specs | vérifié |
|---|---|---|
mcu | Raspberry RP2040 — dual-core ARM Cortex-M0+ (ARMv6-M) @ 133 MHz nominal; "originally run at 133 MHz, but later certified at 200 MHz" (Wikipedia — RP2040; RP2040 datasheet). 40 nm TSMC process, 7×7 mm QFN-56 (Wikipedia). No FPU, no DSP on Cortex-M0+ (CircuitPython board page). | ✔ |
gpu | none (no video core; VGA can be bit-banged via PIO — see Features). | ? non vérifié |
ram | 264 KB SRAM on-chip in six independent banks, plus 16 KB of XIP cache usable as extra SRAM (RP2040 datasheet; errata E9 describes cache-as-SRAM). | ✔ |
storage | no internal flash; board carries a 2 MB external QSPI flash (Winbond W25Q16JV) with execute-in-place; RP2040 QSPI controller supports up to 16 MB (Pico datasheet §1, Wikipedia — RP2040). | ✔ |
connectivity | none wireless on this model (Wi-Fi/BT only on Pico W). Wired: USB 1.1 (LS/FS, device and host) controller + PHY (RP2040 datasheet key features). | ✔ |
gpio_board | 40-pin 0.1″ castellated DIP-style header exposing 26 of the RP2040's 30 GPIO, fixed at 3.3 V and not 5 V-tolerant ("All of the GPIO pins are 3.3V logic, and are not 5V-safe", CircuitPython board page; Pico datasheet §4.2). GP0–GP22 digital-only; GP26–GP28 digital/ADC. | ✔ |
peripherals_chip | 2 × UART, 2 × SPI, 2 × I²C, 16 PWM channels (8 slices × 2 channels), 4-channel 12-bit 500 ksps SAR ADC + 5th channel to on-chip temperature sensor, 12-channel DMA, 8 PIO state machines (2 blocks × 4), 1 timer with 4 alarms, RTC (RP2040 datasheet; PWM slice behaviour confirmed in MicroPython RP2 quick reference). No DAC (no true analog output, CircuitPython board page). | ✔ |
board_adc_specifics | on Pico only GP26–GP28 are broken out as ADC0–2; ADC3 is wired to VSYS/3 (battery monitoring) and ADC4 is the temperature sensor (Pico datasheet §4.3–4.4, MicroPython quickref). | ✔ |
power | micro-USB B (VBUS 5 V) → Schottky ORing diode → VSYS; on-board RT6150 buck-boost SMPS holds 3.3 V from ~1.8 V to 5.5 V on VSYS, so it runs from 1 Li-Ion cell or 3 AA cells; GPIO23 selects PFM/PWM regulator mode, GPIO24 senses VBUS, SMPS EN broken out on pin 37; 3.3 V available to external circuitry (Pico datasheet §4.4 Powerchain). | ✔ |
consumption_board_vbus_5_v_mean_of_3_boards | DORMANT ≈ 0.8 mA @25 °C (1.2–1.4 mA at −25/85 °C); SLEEP ≈ 1.3 mA @25 °C; the "Popcorn" VGA/SD/audio demo draws ≈ 86–93 mA (including the VGA daughter-board) (Pico datasheet §3.1). | ✔ |
temperature | electrical characterization performed at −25 / +25 / +85 °C (Pico datasheet §3.1 tables). | ✔ |
mechanical | single-sided 51 × 21 mm, 1 mm PCB, 40 × 0.1″ through-hole/castellated pins (reflow-solderable as a module), 4 × 2.1 mm mounting holes (Pico datasheet §2). | ✔ |
- Fabricant : Raspberry Pi Ltd (Royaume-Uni). Premier microcontrôleur en propre de « Raspberry Silicon » — la puce conçue par la société elle-même (Wikipedia — RP2040 ; billet de lancement « Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4 » (blog officiel), cité dans cette source).
- Année : lancé le 21 janvier 2021, en même temps que la puce RP2040 (Wikipedia — RP2040 ; l'historique de versions du datasheet commence par « 21 January 2021 », datasheet du Pico).
- Statut : Actif. Raspberry Pi garantit la disponibilité « until at least January 2028 » (« au moins jusqu'en janvier 2028 ») (datasheet du Pico, annexe A).
- Prix : au lancement et prix public conseillé actuel : 4,00 $US (« the Raspberry Pi Pico being introduced at US$4 and the RP2040 itself costing US$1 », Wikipedia — RP2040 ; tableau des prix publics : US$4.00, datasheet du Pico, annexe A.2). Le Pico H, dont les connecteurs sont soudés en usine, est listé à 5,00 $US dans le même tableau.
- Variantes : Pico (connecteurs non soudés) / Pico H (connecteurs pré-soudés) ; la famille Pico s'élargit avec le Pico W (2022, ajoute le Wi-Fi/Bluetooth via CYW43), le Pico 2 et le Pico 2 W (2024, puce RP2350) (Wikipedia — tableau des cartes RP2040, Wikipedia — Raspberry Pi). Le Pico original n'a aucun radio.
+ Points forts
- PIO (Programmable I/O) : 2 blocs × 4 machines à états programmables par l'utilisateur, qui « build low-level IO interfaces from scratch » (« construisent des interfaces E/S bas niveau à partir de rien ») et fonctionnent sans temps CPU — flux NeoPixel, audio I2S, matrices de LED, VGA, cartes SD (page CircuitPython de la carte, exemple PIO de la référence rapide MicroPython, démo VGA « Popcorn » du datasheet du Pico).
- Double cœur M0+ symétrique avec FIFO matérielles inter-cœurs et matrice de commutation (crossbar) AHB entièrement connectée — inhabituel à ce prix (caractéristiques clés du datasheet du RP2040).
- 264 Ko de RAM — énorme pour un MCU à 4 $ ; plus l'astuce cache-as-SRAM de 16 Ko (Wikipedia — RP2040, erratum E9).
- Conception sans état / densité de flash au choix : flash QSPI du commerce de 512 Ko à 16 Mo, XIP avec cache de 16 Ko (datasheet du RP2040).
- Capacité USB host sur une carte à 4 $ (périphérique + hôte, PHY USB 1.1) (datasheet du RP2040).
- Chaîne d'alimentation flexible : buck-boost VSYS 1,8–5,5 V, mode de régulateur PFM/PWM sélectionnable depuis une GPIO, broche de détection VBUS, intégration facile d'un chargeur de batterie (datasheet du Pico §4.4–4.6).
- Matériel entièrement ouvert : schéma, implantation PCB, fichiers STEP et Fritzing publiés « with no limitations » (« sans aucune limitation ») (datasheet du Pico §1.1).
- Bootloader ROM UF2 — la carte devient pratiquement impossible à rendre inutilisable (bricker) par des erreurs logicielles sur le chemin d'amorçage (datasheet du Pico §4.1).
- Fonctionnement certifié à 200 MHz (contre 133 MHz au nominal) sur les dernières révisions de silicium (Wikipedia — RP2040).
− Points faibles
- Errata de silicium (datasheet du RP2040, annexe B) : E9 — le bootloader ROM UF2 ne peut pas démarrer directement en cache XIP-as-SRAM (bus fault ; contournement : re-disable caching depuis la SRAM) ; E14 — les images UF2 éparses ou mal alignées peuvent ne pas être écrites correctement dans la flash ; E7/E10 — errata de génération d'horloge ; E12/E13 — errata DMA ; E6/E11 — errata GPIO/ADC ; E2/E3/E4 — errata USB (datasheet du RP2040, annexe B, p. 627 et suiv.).
- Précision ADC inhérente à la conception : pas de broche de référence externe — l'ADC utilise son alimentation 3,3 V filtrée par RC, ce qui donne un offset inhérent d'environ 30 mV (≈150 µA × 200 Ω), un couplage du ripple du SMPS et une variation puce à puce ; correctifs documentés : soustraction de l'offset par canal à la masse, forçage du mode régulateur PWM (GPIO23), ou référence shunt externe de 3,0 V sur ADC_VREF (datasheet du Pico §4.3).
- Les broches ADC GP26–GP29 ont une diode de découplage (reverse diode) vers IOVDD : une entrée au-dessus d'environ 3,6 V conduit, et appliquer une tension sur ces broches alors que le Pico est hors tension alimente en retour la rampe 3V3. Les broches GP0–GP25 normales n'ont pas cette restriction (datasheet du Pico §4.2).
- Non tolérant aux 5 V sur aucune broche — utiliser des translateurs de niveau ou des composants 3,3 V sur chaque broche (page CircuitPython de la carte).
- Conflit écriture flash vs XIP : effacer/programmer la flash QSPI interrompt les accès XIP, ce qui pénalise le code multi-cœur et les interruptions ; la SDK n'a gagné une bibliothèque d'aide dédiée (pico_flash, flash_safe_execute) qu'en SDK 1.5.1 (2023) (notes de version pico-sdk 1.5.1).
- Pas de FPU/DSP : tous les calculs flottants sont émulés en logiciel — « if you're doing something with heavy floating point math, it will be done in software » (« si vous faites quelque chose avec beaucoup de calculs flottants, cela sera fait en logiciel ») (page CircuitPython de la carte).
- Particularité MicroPython RP2 : après une réinitialisation matérielle, les broches « operate in current sink mode at about 60 µA » (« fonctionnent en mode puits de courant d'environ 60 µA »), ce qui peut fausser les mesures ADC si les broches ne sont pas d'abord reconfigurées (haute impédance) (référence rapide MicroPython RP2, section ADC).
- Le plancher de sommeil de la carte est d'environ 1 mA, pas en µA : les valeurs DORMANT/SLEEP du datasheet (0,8–1,9 mA sur VBUS) sont dominées par le SMPS embarqué et la circuiterie de support ; les conceptions sur batterie exigeant un vrai µA en veille doivent revoir l'alimentation ou utiliser la puce nue (datasheet du Pico §3.1.3–3.1.4).
- USB 1.1 uniquement (12 Mbit/s full-speed) : pas de high-speed, et le budget de courant USB-host depuis un port PC est limité.
- Retour d'expérience expert expert — expert-raspberrypi
- Retour d'experience sur la Pico après plusieurs mois d'utilisation. Les points forts sont reels : le prix de 4 USD est imbattable pour un dual-core M0+ a 133 MHz (certifie 200 MHz sur les rev laterales) avec 264 KB de SRAM. La liberte materielle est totale, tout est open source. Cependant, attentio… — expert-raspberrypi
- Bonjour expert, je debute avec la Pico et je bute sur un souci d'alimentation. J'ai lu que les broches GP26 a GP28 ne sont pas 5V tolerantes, ce qui est logique, mais j'ai aussi vu dans la datasheet une note sur une diode inverse vers l'IOVDD. Est-ce que cela signifie que si j'applique une tension … — maker_tinker
- @maker_tinker Oui, c'est exactement ca. La datasheet est claire : appliquer une tension sur GP26-GP29 quand la Pico est hors tension peut back-powerrer le rail 3V3, ce qui est dangereux pour le MCU. Pour ton capteur 5V, utilise un diviseur de tension propre passe par des resis, mais assure-toi que … — pio_wizard
Retours et projets de la communauté
- Je n'arrive pas à faire fonctionner la mémoire persistante sur mon raspberry pico forum.arduino.cc
- Raspberry Pi Pico not detected as USB drive in BOOTSEL mode forum.digikey.com
- Embedded Swift on the Raspberry Pi Pico forums.swift.org
- datasheets.raspberrypi.com/pico/pico-datasheet.pdf
- datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
- rptl.io/pico-get-started
- rptl.io/pico-c-sdk
- rptl.io/pico-doxygen
- raspberrypi.com/documentation/microcontrollers/pico-series.html
- MicroPython RP2 quickref
- raspberrypi/pico-sdk
- pico-examples
- pico-extras
- micropython.org/download
- circuitpython.org/board/raspberry_pi_pico
- Adafruit getting-started guide
- earlephilhower/arduino-pico guide
- github.com/rp-rs
- Wikipedia — RP2040
- Wikipedia — Raspberry Pi (Pico history)
- Errata de silicium (datasheet du RP2040, annexe B) : E9 — le bootloader ROM UF2 ne peut pas démarrer directement en cache XIP-as-SRAM (bus fault ; contournement : re-disable caching depuis la SRAM) ; E14 — les images UF2 éparses ou mal alignées peuvent ne pas être écrites correctement dans la flash ; E7/E10 — errata de génération d'horloge ; E12/E13 — errata DMA ; E6/E11 — errata GPIO/ADC ; E2/E3/E4 — errata USB (datasheet du RP2040, annexe B, p. 627 et suiv.).
- Précision ADC inhérente à la conception : pas de broche de référence externe — l'ADC utilise son alimentation 3,3 V filtrée par RC, ce qui donne un offset inhérent d'environ 30 mV (≈150 µA × 200 Ω), un couplage du ripple du SMPS et une variation puce à puce ; correctifs documentés : soustraction de l'offset par canal à la masse, forçage du mode régulateur PWM (GPIO23), ou référence shunt externe de 3,0 V sur ADC_VREF (datasheet du Pico §4.3).
- Les broches ADC GP26–GP29 ont une diode de découplage (reverse diode) vers IOVDD : une entrée au-dessus d'environ 3,6 V conduit, et appliquer une tension sur ces broches alors que le Pico est hors tension alimente en retour la rampe 3V3. Les broches GP0–GP25 normales n'ont pas cette restriction (datasheet du Pico §4.2).
- Non tolérant aux 5 V sur aucune broche — utiliser des translateurs de niveau ou des composants 3,3 V sur chaque broche (page CircuitPython de la carte).
- Conflit écriture flash vs XIP : effacer/programmer la flash QSPI interrompt les accès XIP, ce qui pénalise le code multi-cœur et les interruptions ; la SDK n'a gagné une bibliothèque d'aide dédiée (pico_flash, flash_safe_execute) qu'en SDK 1.5.1 (2023) (notes de version pico-sdk 1.5.1).
- Pas de FPU/DSP : tous les calculs flottants sont émulés en logiciel — « if you're doing something with heavy floating point math, it will be done in software » (« si vous faites quelque chose avec beaucoup de calculs flottants, cela sera fait en logiciel ») (page CircuitPython de la carte).
- Particularité MicroPython RP2 : après une réinitialisation matérielle, les broches « operate in current sink mode at about 60 µA » (« fonctionnent en mode puits de courant d'environ 60 µA »), ce qui peut fausser les mesures ADC si les broches ne sont pas d'abord reconfigurées (haute impédance) (référence rapide MicroPython RP2, section ADC).
- Le plancher de sommeil de la carte est d'environ 1 mA, pas en µA : les valeurs DORMANT/SLEEP du datasheet (0,8–1,9 mA sur VBUS) sont dominées par le SMPS embarqué et la circuiterie de support ; les conceptions sur batterie exigeant un vrai µA en veille doivent revoir l'alimentation ou utiliser la puce nue (datasheet du Pico §3.1.3–3.1.4).
- USB 1.1 uniquement (12 Mbit/s full-speed) : pas de high-speed, et le budget de courant USB-host depuis un port PC est limité.
- Faire clignoter la LED embarquée (GP25) debutant Schéma : IMG-pico-debutant-1-pico-blink-led.svg — Raspberry Pi Pico vue de dessus avec la LED embarquée GP25 mise en évidence et le câble micro-USB branché
- Lire un bouton poussoir et gérer le rebond debutant Schéma : IMG-pico-debutant-2-pico-bouton-gpio.svg — Pico avec un bouton poussoir câblé entre GP2 et GND, résistance de pull-up interne représentée sur la puce
- Lire un potentiomètre avec l'ADC 12 bits debutant Schéma : IMG-pico-debutant-3-pico-adc-potentiometre.svg — potentiomètre relié à 3V3, GND et GP26 (ADC0) de la Pico, tension USB et console série affichant les valeurs
- Piloter un micro-servo avec le PWM intermediaire Schéma : IMG-pico-intermediaire-1-pico-pwm-servo.svg — micro-servo SG90 alimenté par une source externe 5 V, signal sur GP1 de la Pico, masses reliées, angles 0/90/180 degrés annotés
- Première machine à états PIO : un blink sans CPU intermediaire Schéma : IMG-pico-intermediaire-2-pico-pio-machine-etats.svg — bloc PIO du RP2040 avec une machine à états (SM0) et sa boucle d'états set/delay/jmp, sortie reliée à GP25, cœur CPU endormi à côté
- Installer MicroPython et écrire main.py intermediaire Schéma : IMG-pico-intermediaire-3-pico-micropython.svg — Pico en mode BOOTSEL apparaissant comme lecteur RPI-RP2, fichier firmware uf2 déposé dessus, puis fenêtre REPL série
- Exploiter les deux cœurs M0+ avec les FIFO inter-cœurs avance Schéma : IMG-pico-avance-1-pico-double-coeur.svg — RP2040 avec les deux cœurs Cortex-M0+ côte à côte reliés par une file FIFO matérielle et une ligne d'interruption inter-cœur, mémoires partagées en dessous
- Boot UF2, BOOTSEL et récupération d'une carte « briquée » avance Schéma : IMG-pico-avance-2-pico-boot-uf2-recovery.svg — cycle de boot du RP2040 : broche BOOTSEL, bootrom en ROM, choix flash QSPI externe ou USB, lecteur RPI-RP2 et fichier uf2 déposé
- Sommeil profond, dormclock et PIO autonome sur batterie avance Schéma : IMG-pico-avance-3-pico-sommeil-pio.svg — Pico sur cellule Li-Ion reliée à VSYS, cœur CPU endormi (WFI), réveil par GPIO et alarme du timer, machine PIO toujours active, courants dormant et sleep annotés
Bibliothèque de code — exemples écrits pour cette carte
clignotante.pyPythonbouton-interruption.pyPythonpwm-servo.pyPythonlecture-adc.pyPythonneopixel.pyPythonoled-i2c.pyPythoncapteur-dht.pyPythonjournalisation.pyPythonuart-commandes.pyPythontaches-cooperatives.pyPython
Exemples et dépôts trouvés en ligne
- raspberrypi/pico-examples github.com
- raspberrypi/pico-sdk github.com
- raspberrypi/pico-micropython-examples github.com
- pimoroni/pimoroni-pico github.com
- raspberrypi/pico-playground github.com