Skip to Content

Programmare il Pico W5 con Arduino IDE

Programmare il Pico W5 con Arduino IDE

Impara a programmare il Raspberry Pi Pico W5 con l’Arduino IDE. Il Raspberry Pi RP2350 Pico W5 di Elecrow è una scheda di sviluppo con microcontrollore RP2350 (ARM Cortex dual-core a 150MHz), 24 pin GPIO, Bluetooth 5.0 e Wi-Fi dual-band a 2.4GHz o 5GHz. Con queste caratteristiche, la scheda è pensata per applicazioni IoT con esigenze elevate di calcolo e connettività.

In questo tutorial imparerai come iniziare a usare questa scheda.

Componenti necessari

Ti servirà il Raspberry Pi RP2350 Pico W5. E se vuoi collegare dell’hardware esterno per testare le porte GPIO, ti saranno utili alcuni cavi, resistenze, LED e una breadboard.

Raspberry Pi RP2350 Pico W5

Cavo USB C

Dupont wire set

Set di fili Dupont

Half_breadboard56a

Breadboard

Kit di resistenze e LED

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Caratteristiche della scheda Raspberry Pi Pico W5

Il Pico W5 è un microcontrollore basato sul design del Raspberry Pi Pico W. Utilizza lo stesso chip microcontrollore RP2350 con frequenza fino a 150MHz e un processore ARM Cortex M0+ dual-core.

Tuttavia, è stato migliorato per quanto riguarda l’interfaccia USB, la capacità di memoria flash e le prestazioni compatibili con Bluetooth. Soprattutto, la scheda supporta l’operazione dual-band a 2.4GHz o 5GHzn, oltre a Bluetooth a basso consumo e Bluetooth 5.0.

L’immagine seguente mostra il lato superiore e inferiore della scheda. Il connettore USB-C e le antenne per 2.4 e 5 GHz sono facilmente riconoscibili.

Top and Bottom of the Raspberry Pi Pico W5 Board
Lato superiore e inferiore della scheda Raspberry Pi Pico W5

La scheda ha un pulsante RESET, un pulsante BOOT e un LED integrato accanto al pulsante BOOT.

Specifiche tecniche

La tabella seguente elenca i principali dettagli tecnici della scheda:

Specification of the Elecrow RP2350 Pico W5 Board
Specifiche della scheda Pico W5 (source)

Pinout della scheda Pico W5

L’immagine sotto mostra il pinout della scheda Pico W5. Ci sono 24 pin GPIO con PWM, due interfacce I2C e quattro convertitori Analogico-Digitali (ADC). Il LED integrato è collegato al GPIO 25. Nota che la scheda usa una porta USB tipo C per l’alimentazione e funziona a 3.3V.

Pinout of the Elecrow RP2350 Pico W5 Board
Pinout della scheda Pico W5 (source)

Installazione del core RP2350

Prima di poter programmare il Pico W5 devi prima installare il core RP2350. Vai su File -> Preferences e apri la finestra delle Preferenze

File -> Preferences Menu
Menu File -> Preferences

Nella finestra delle Preferenze vai alla scheda Settings. In fondo vedrai “Additional boards manager URLs:”. Clicca sul pulsante a destra (evidenziato in giallo) per aprire l’editor degli URL

Settings Tab in Preferences Dialog
Scheda Settings nella finestra delle Preferenze

Nell’editor degli URL aggiungi il seguente URL alla lista (evidenziato in giallo sotto):
“https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json”

Add package_rp2040_index URL to board manager
Aggiungi l’URL package_rp2040_index al board manager

Il package_rp2040_index supporta i chip RP2040 e RP2350. Come puoi vedere, ho anche installato i core ESP8266 e ESP32 ma per questo tutorial ti serve solo il core RP2350.

Installazione delle schede RP2350

Ora dobbiamo installare le schede RP2350. Vai su Tools -> Board -> Board Manager e cerca RP2350 usando la barra di ricerca. Installa le schede Raspberry Pi Pico/RP2040/RP2350 di Earle F. Philhower. Dopo l’installazione dovrebbe apparire così.

Install Raspberry Pi Pico/RP2040/RP2350 board
Installa la scheda Raspberry Pi Pico/RP2040/RP2350

Seleziona la scheda Raspberry Pi Pico 2

Una volta completata l’installazione del core RP2350, collega il Pico W5 alla porta USB del computer. Poi vai nel Board Manager e seleziona la scheda “Raspberry Pi Pico 2” come mostrato sotto:

Raspberry Pi Pico 2 in Bord Manager
Raspberry Pi Pico 2 nel Board Manager

La scheda dovrebbe essere riconosciuta dall’Arduino IDE e dovresti vederla connessa a una porta COM via USB (vedi screenshot sopra). Ora siamo pronti per programmare il Pico W5.

Programma Blink per il Pico W5

Iniziamo con il classico programma Blink. Farà lampeggiare il LED integrato della scheda ogni secondo:

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

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(1000);                     
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                      
}

Clicca sul pulsante Upload dell’Arduino IDE e il codice dovrebbe essere caricato. Se ha successo, il LED integrato inizierà a lampeggiare.

Se il caricamento fallisce, potrebbe essere necessario premere (e/o tenere premuto) il pulsante BOOT prima o durante il caricamento. Questo dovrebbe essere necessario solo una volta, dato che il core arduino-pico ha auto-reset supporto. In generale non ho avuto problemi a flashare la scheda.

Test dei GPIO del Pico W5

Per provare i GPIO e il PWM del Pico W5, ho collegato un LED con una resistenza da 220Ω al GPIO 9 e GND. Vedi il circuito sotto:

LED connected to GPIO 9
LED collegato al GPIO 9

Il seguente piccolo programma di test fa variare la luminosità del LED, e ha funzionato bene:

#define LED  9

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

void loop() {
  for (int b = 0; b <= 255; b++) {
    analogWrite(LED , b);
    delay(5);
  }
  for (int b = 255; b >= 0; b--) {
    analogWrite(LED , b);
    delay(5);
  }
}

Test del Wi-Fi 5 GHz del Pico W5

Una delle caratteristiche principali della scheda Pico W5 è il supporto al Wi-Fi 5 GHz. Ho provato il codice Wi-Fi usuale ma non sono riuscito a farlo funzionare. Probabilmente perché la scheda Pico W5 di Elecrow non è ancora nella lista delle schede supportate del Raspberry Pi Pico Arduino core.

Tuttavia, ho trovato un esempio nel demo code for Pico W5 Board, e quello ha funzionato. Qui sotto c’è una versione leggermente modificata di quel codice demo.

#define Serial2_RX 5
#define Serial2_TX 4
#define SET_WIFI_MODE "AT+WMODE=3,1"
#define SET_WIFI_SSID_PASSWORD "AT+WJAP=\"SSID\",\"PWD\""

void setup() {
  Serial.begin(115200);
  Serial2.setRX(Serial2_RX);
  Serial2.setTX(Serial2_TX);
  Serial2.begin(115200);
  delay(1000);
  UART2_test();
}

void UART2_test() {
  clear_serial();
  bool ok_flag = false;
  Serial2.println(SET_WIFI_MODE);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("Set WIFI Mode Ok!");
    }
  }
  clear_serial();
  ok_flag = 0;
  Serial2.println(SET_WIFI_SSID_PASSWORD);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("WIFI Connected!");
    }
  }
}

void clear_serial() {
  while (Serial2.read() >= 0);
  while (Serial.read() >= 0);
}

void loop() {
}

Dovrai sostituire i valori SSID e PWD con quelli della tua rete Wi-Fi.

Conclusioni

Spero che questo tutorial ti sia stato utile per iniziare con la scheda Pico W5 di Elecrow. Il processore RP2350 del Pico W5 è un notevole miglioramento rispetto al RP2040 ma per ora (marzo 2025) il supporto software è un po’ limitato.

In particolare, la scheda Pico W5 non è ancora nella lista delle schede supportate del Raspberry Pi Pico Arduino core. Applicazioni semplici come i GPIO funzionano, ma non sono riuscito a far funzionare le librerie Wi-Fi o Bluetooth con il Pico W5.

Nota anche che il demo code per il Pico W5 presenta errori o sembra riferirsi a una versione più vecchia/differente della scheda Pico W5 che usa il RP2040 invece del RP2350. Per esempio, il programma blink nel codice demo usa il GPIO 12 (o 16) per il LED integrato, ma in realtà è il 25. Inoltre la guida all’installazione mostra la scheda Raspberry Pi Pico/RP2040 ma per me ha funzionato solo la scheda Raspberry Pi Pico 2.

Infine, ci sono diverse schede Pico che possono creare confusione. Per esempio, c’è il Pico W5 and the Pico 2W, e il Pico W5 può montare un chip microcontrollore RP2350 or a RP2040.

A proposito, se vuoi usare un Pico con un display dai un’occhiata al nostro tutorial Scribble on CrowPanel Pico 4.3″ Display.

Buon divertimento con il tinkering ; )

Link

Ecco alcuni link che ho trovato utili mentre scrivevo questo articolo:

Schemi elettrici

Le immagini sotto sono estratti dello schema elettrico della scheda Pico W5 con microcontrollore RP2350 dal seguente link: Schematic & PCB.

Microcontrollore

RP2350 microcontroller
Microcontrollore RP2350

Wi-Fi e Bluetooth

BW16 chip for Wi-Fi and Bluetooth
Chip BW16 per Wi-Fi e Bluetooth

LED integrato

Built-in LED
LED integrato

Alimentazione

Power Supply
Alimentazione