🛠 Faire clignoter la LED embarquée (elle est derrière la puce Wi-Fi !)

Raspberry Pi Pico W · debutant · Schéma : IMG-pico-w-debutant-1-picow-blink-led.svg — Raspberry Pi Pico W vue de dessus avec la LED utilisateur mise en évidence, flèche pointant depuis la puce CYW43439 (blindage métallique) vers la LED, câble micro-USB branché

Objectifs

Découvrir la Raspberry Pi Pico W (RP2040 double cœur Cortex-M0+ 133 MHz + puce radio Infineon CYW43439 Wi-Fi/BT) avec le grand classique : le clignotement de la LED. Mais attention, la Pico W a une particularité unique : la LED utilisateur n'est pas sur une GPIO du RP2040, elle est câblée sur la broche WL_GPIO0 de la puce Wi-Fi CYW43439. L'exemple blink_simple du SDK ne fonctionne donc pas sur Pico W ; il faut passer par le pilote sans-fil (picow_blink dans pico-examples). Tu apprendras aussi pourquoi GP23, GP24, GP25 et GP29 ne sont pas des GPIO libres sur cette carte.

Matériel

Code complet

// picow_blink.ino-like C SDK — la LED est sur WL_GPIO0 du CYW43439
// CMake : pico_stdlib + pico_cyw43_arch_none (pas besoin du réseau ici)
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"

int main(void) {
    // cyw43_arch_init alimente le CYW43439 (via GP23) et charge son firmware
    if (cyw43_arch_init) {
        return 1;   // impossible d'initialiser la puce radio
    }
    while (true) {
        cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 1);  // LED ON (WL_GPIO0)
        sleep_ms(250);
        cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 0);  // LED OFF
        sleep_ms(750);
    }
}
// Équivalent MicroPython (firmware _picow) :
//   from machine import Pin; import time
//   led = Pin("LED", Pin.OUT)   # alias de la broche pilotée via cyw43
//   > 
//   # (souvent cité comme GP23) n'est pas confirmé dans la quickref rp2.

Vérification attendue

La LED verte clignote : allumée 250 ms, éteinte 750 ms. Si tu avais écrit le blink « Pico classique » en gpio_init(25), rien ne clignote — et pour cause : sur la Pico W, GP25 est consommée en interne (chip-select du SPI qui pilote le CYW43439) et la LED est ailleurs ! C'est LA leçon de ce tuto.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels