🛠 Faire clignoter la LED embarquée
Objectifs
Découvrir la Raspberry Pi Pico 2, son SoC RP2350 (2 cœurs Arm Cortex-M33 jusqu'à 150 MHz, 520 Ko de RAM, 4 Mo de flash QSPI) et mettre en œuvre votre premier programme C/C++ avec le Pico SDK. À la fin, la LED utilisateur embarquée clignote et vous savez compiler et flasher un .uf2.
Matériel
- 1 × Raspberry Pi Pico 2 (réf. SC1631, ou SC1632 avec broches mâles)
- 1 × câble micro-USB data
- PC avec Pico SDK ≥ 2.0.0 (première version supportant le RP2350) et toolchain arm-none-eabi-gcc
- Logiciel : aucun pilote requis sous Windows pour le mode BOOTSEL
Code complet
/* blink.c — Pico 2 : LED utilisateur sur GP25 (définie par boards/pico2.h) */
#include "pico/stdlib.h"
#define LED_PIN 25 /* GP25 = LED utilisateur sur Pico 2 (confirmé datasheet) */
int main(void) {
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true) {
gpio_put(LED_PIN, 1);
sleep_ms(250);
gpio_put(LED_PIN, 0);
sleep_ms(750);
}
}
Compilation : cmake -B build -DPICO_BOARD=pico2 .. puis cmake --build build. Maintenez BOOTSEL, branchez l'USB, copiez blink.uf2 sur le lecteur RPI-RP2.
Vérification attendue
La LED clignote : allumée 250 ms, éteinte 750 ms. Le lecteur RPI-RP2 apparaît uniquement quand BOOTSEL est maintenu au branchement ; après copie du .uf2, la carte redémarre seule et le programme s'exécute sans câble série.
Erreurs fréquentes
- Oublier
-DPICO_BOARD=pico2: le SDK cible alors pico (RP2040) et le binaire ne fonctionne pas correctement. - Utiliser un câble micro-USB de charge seule : aucune énumération USB, le lecteur RPI-RP2 n'apparaît jamais.
- Un .uf2 MicroPython/CircuitPython pour RP2040 ne se flashera pas : il faut du firmware spécifique RP2350 (MicroPython ≥ 1.24.0).
- Confondre GP25 (LED) avec une broche libre : sur Pico 2 comme sur Pico 1, GP25 est câblée en interne sur la LED.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-interruption.pyPythonpwm-servo.pyPythonlecture-adc.pyPythonneopixel.pyPythonoled-i2c.pyPython