Seeed Studio XIAO rp2350: piedinatura, datasheet, schema e specifiche

Qui il pinout ad alta risoluzione
Qui puoi trovare i dispositivi Seeed Studio All XIAO Series - XIAO accessories - XIAO AI Vision Camera
Il Seeed Studio XIAO RP2350 è una scheda di sviluppo ad alte prestazioni, delle dimensioni di un francobollo, che integra il potente microcontrollore Raspberry Pi RP2350 nel classico fattore di forma XIAO di 21 x 17,8 mm. Si distingue per la sua esclusiva doppia architettura, che consente agli sviluppatori di passare tra due core Arm Cortex-M33 e due core Hazard3 RISC-V via software. Con robuste funzionalità di sicurezza (TrustZone, Secure Boot), un sistema di gestione della batteria integrato e I/O espansi (19 GPIO), è progettato per colmare il divario tra la prototipazione rapida e le applicazioni di edge computing professionali e sicure.
🔊 Nota: Questo video è disponibile con doppiaggio in Italiano. Se senti l'audio in Inglese, clicca sull'icona dell'ingranaggio ⚙️ nel video, seleziona "Traccia Audio" e scegli "Italiano" oppure apri direttamente su Youtube.
Specifiche Tecniche
| Caratteristica | Specifica | Note |
| MCU | Raspberry Pi RP2350 | Dual-core, Architettura Ibrida |
| Core | 2x Cortex-M33 (Arm) O 2x Hazard3 (RISC-V) | Selezionabile all’avvio, Clock 150 MHz |
| SRAM | 520 KB | 10 banchi per accesso concorrente |
| Flash | 2 MB (QSPI Esterna) | XIP (Execute In Place) supportato |
| Dimensioni | 21 x 17,8 mm | Classico fattore di forma XIAO |
| Tensione | 3.3V (Logica) / 5V (USB VBUS) | IO NON tolleranti a 5V (max 3.6V) |
| Gestione Batt. | Integrata (Carica + Monitoraggio) | Carica ~370mA. Standby ~50µA 1 |
| Logica Scheda | 3.3V |
Analisi Completa del Pinout (Estrapolata dal Core)
I seguenti dati sono estratti direttamente dalle definizioni del Core Arduino utilizzate dal compilatore.
Pin dell’Header Frontale (D0 – D10)
| Pin | GPIO | Nome Arduino | Funzione Primaria | Alternative / Default Bus |
| D0 | 26 | A0 | Ingresso Analogico 0 | |
| D1 | 27 | A1 | Ingresso Analogico 1 | |
| D2 | 28 | A2 | Ingresso Analogico 2 | |
| D3 | 5 | D3 | Digital I/O | SPI0 CS (SS) |
| D4 | 6 | D4 | Digital I/O | Wire1 SDA (I2C1) |
| D5 | 7 | D5 | Digital I/O | Wire1 SCL (I2C1) |
| D6 | 0 | D6 | Digital I/O | Serial1 TX (UART0) |
| D7 | 1 | D7 | Digital I/O | Serial1 RX (UART0) |
| D8 | 2 | D8 | Digital I/O | SPI0 SCK |
| D9 | 4 | D9 | Digital I/O | SPI0 MISO |
| D10 | 3 | D10 | Digital I/O | SPI0 MOSI |
Pad di Saldatura Posteriori (D11 – D18)
Questi pin sono critici per accedere all’interfaccia I2C di default (Wire) e alle seconde porte hardware SPI/Seriali.
| Pin | GPIO | Nome Arduino | Funzione | Nota Critica (Dall’Header File) |
| D11 | 21 | D11 | Serial2 RX | UART1 RX |
| D12 | 20 | D12 | Serial2 TX | UART1 TX |
| D13 | 17 | D13 | Wire SCL | Default I2C_SCL (I2C0) |
| D14 | 16 | D14 | Wire SDA | Default I2C_SDA (I2C0) |
| D15 | 11 | D15 | SPI1 MOSI | |
| D16 | 12 | D16 | SPI1 MISO | |
| D17 | 10 | D17 | SPI1 SCK | |
| D18 | 9 | D18 | SPI1 SS |
Pin Interni Speciali
| Nome | GPIO | Definizione nel Core | Nota |
| User LED | 25 | #define PIN_LED (25u) | Giallo. Attivo basso (tipicamente). |
| RGB LED | 22 | Non definito nel Core | LED Indirizzabile WS2812B (Richiede libreria Neopixel). |
| RGB PWR | 23 | Implicito nell’hardware | Deve essere impostato HIGH per alimentare il LED RGB. |
| V_BAT | 29 | Hardware Implicito | ADC3 (Interno) per monitoraggio tensione. |
Comunicazione Seriale
Nell’ambiente Arduino per l’RP2350, “Serial” si riferisce a tre interfacce distinte. Comprendere la differenza è fondamentale per il debug e la connessione dei moduli.
Serial (USB CDC)
- Posizione fisica: Il connettore USB-C.
- Tipo: Seriale virtuali su USB (USB CDC).
- Utilizzo: Usata per il Monitor Seriale nell’IDE Arduino, messaggi di debug
Serial.print()e caricamento del codice. - Nota: Non utilizza alcun pin GPIO. È puramente uno stack USB software in esecuzione sull’RP2350.
Serial1 (Hardware UART0)
- Posizione Fisica: Pin D6 (TX) e D7 (RX) sull’header frontale.
- Tipo: UART Hardware (Periferica UART0).
- Utilizzo: La porta primaria per connettere moduli esterni come GPS, Bluetooth o ponti ESP8266 AT.
- Prestazioni: Completamente gestita via hardware con interrupt e FIFO. È indipendente dalla connessione USB.
Serial2 (Hardware UART1)
- Posizione Fisica: Pad D12 (TX) e D11 (RX) sul retro della scheda.
- Tipo: UART Hardware (Periferica UART1).
- Utilizzo: Una seconda porta seriale hardware completamente indipendente. Ideale per progetti “Bridge” (es. leggere un GPS su
Serial1e inviare dati a un modem cellulare suSerial2). - Accesso: Richiede la saldatura di fili ai piccoli pad sul retro o l’uso di pogo pin.
Suggerimenti Tecnici Critici e “Trappole”
| Problema | Dettaglio Tecnico (Basato sull’Analisi del Core) | Soluzione |
| La Trappola “Wire” | Il core Arduino definisce Wire (I2C di default) sui pin D14/D13 (Pad Posteriori). La maggior parte degli utenti si aspetta I2C sull’header frontale (D4/D5). | • Usa Wire1 per D4/D5 (Frontale).• O Rimappa: Wire.setSDA(6); Wire.setSCL(7); Wire.begin(); |
| Scheda di Espansione | La Scheda di Espansione Seeed connette I2C a D4/D5. | Se il LED RGB non si accende, assicurati di fare pinMode(23, OUTPUT); digitalWrite(23, HIGH);. |
| Alimentazione RGB | Tensione di latch-up GPIO (~2.1V) se il pin è INPUT con PULL-DOWN. | Il LED RGB spesso condivide un pin di abilitazione alimentazione (GPIO 23) per risparmiare batteria. |
| Errata E9 | Tensione di latch-up GPIO (~2.1V) se il pin è INPUT con PULL-DOWN. | Non usare INPUT_PULLDOWN. Usa resistori esterni o INPUT_PULLUP con logica invertita. |
| Lettura Batteria | La tensione della batteria è divisa per 2 prima dell’ADC. | Formula Tensione: V = (analogRead(29) * 3.3 / 4095) * 2. |
Configurazione e Utilizzo dell’IDE Arduino
Per compilare per questa scheda utilizzando le definizioni analizzate sopra:
- Installare il Gestore Schede:
- File > Impostazioni > URL aggiuntive per il Gestore schede:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
- Installare il Core:
- Strumenti > Scheda > Gestore schede: Cerca “Pico” -> Installa “Raspberry Pi Pico/RP2040/RP2350 by Earle F. Philhower”.
- Selezionare la Scheda:
- Strumenti > Scheda > Raspberry Pi Pico/RP2040/RP2350 > Seeed XIAO RP2350.
- Selezionare l’Architettura (Opzionale):
- Strumenti > CPU Architecture > Cortex-M33 (Default) o RISC-V (Hazard3).
- Convalida Definizione Pin:
- Le impostazioni in questo report corrispondono al file
pins_arduino.hincluso in questa versione del core.
- Le impostazioni in questo report corrispondono al file
Guide e Tutorial
- Schede Raspberry Pi Pico e rp2040: pinout, specifiche e configurazione IDE Arduino
- Schede Raspberry Pi Pico e rp2040: filesystem LittleFS integrato
- Scheda Raspberry Pi Pico e rp2040: ethernet w5500 e requests HTTP e HTTPS (SSL)
- Schede Raspberry Pi Pico e rp2040: WiFiNINA con coprocessore WiFi ESP32
- Schede Raspberry Pi Pico e rp2040: come utilizzare una scheda SD
- Dallas ds18b20
- Collegamento dell’EByte E70 ai dispositivi Raspberry Pi Pico (rp2040) ed un semplice sketch di esempio
Seeed Studio XIAO RP2350: Pro e Contro
| Pro | Contro |
| Potenza Doppia Architettura Capacità unica di passare tra core Dual ARM Cortex-M33 e Dual RISC-V (Hazard3), entrambi a 150 MHz. | Nessuna Connettività Wireless A differenza delle serie XIAO ESP32 o nRF52, questa scheda non ha Wi-Fi o Bluetooth integrati. |
| Alte Prestazioni Aggiornamento significativo rispetto all’RP2040 con velocità di clock superiori, FPU (unità a virgola mobile) e istruzioni DSP. | Bug Hardware Silicon (Errata E9) Soffre del bug “latching” dell’RP2350-A2 dove i GPIO rimangono bloccati a ~2.1V se usati come Input con Pull-Down interni abilitati. |
| Sicurezza Avanzata Dispone di ARM TrustZone, Secure Boot e funzionalità Signed Boot, rendendola adatta per dispositivi IoT professionali/sicuri. | Pinout Complesso (Pad Posteriori) L’accesso agli 8 GPIO extra (inclusa la seconda porta Serial/SPI e I2C di default) richiede la saldatura ai minuscoli pad sul retro. |
| Gestione Batteria Integrata Include un caricabatteria integrato e circuito di monitoraggio tensione (leggi via GPIO 29), semplificando i progetti wearable. | Conflitto I2C “Wire” Il default Arduino Wire (I2C) è mappato ai pad posteriori. Gli utenti devono rimappare manualmente i pin per usare I2C sull’header frontale (D4/D5). |
| Più Pin di I/O Espone 19 GPIO totali (vs 14 sulla versione RP2040), offrendo più flessibilità per progetti complessi. | Solo Logica 3.3V Sebbene il chip sia tecnicamente tollerante a 5V, il design della scheda e le tracce compatte impongono generalmente una logica rigorosa a 3.3V. |
| Porte PIO Potenti Dispone di 3 blocchi PIO (12 state machines), consentendo protocolli personalizzati incredibili (HDMI, CAN, SDIO) senza carico sulla CPU. | Ingressi Analogici Limitati Solo 3 pin ADC sono disponibili sull’header principale (D0, D1, D2), meno di alcuni concorrenti. |
| Ecosistema XIAO Completamente compatibile con l’ampia gamma di schede di espansione e shield Grove Seeed Studio XIAO. | Pulsanti Reset/Boot Minuscoli I pulsanti integrati sono estremamente piccoli e difficili da premere senza uno strumento. |
Semplice sketch LED RGB
/*
xiao_rp2350.ino
NeoPixel single-LED color cycle demo.
Breve: Cicla un singolo NeoPixel attraverso rosso, verde, blu, bianco e spento.
Author: Renzo Mischainti
Reference: https://mischianti.org
*/
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#define NEOPIXEL_POWER 23
#define PIN_NEOPIXEL 22
#define NUM_LEDS 1
// Inizializza l'oggetto NeoPixel
Adafruit_NeoPixel pixels(NUM_LEDS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);
void setup() {
}
void loop() {
// Diventa ROSSO
// pixels.Color(Red, Green, Blue) -> Valori da 0 a 255
pixels.setPixelColor(0, pixels.Color(255, 0, 0));
pixels.show(); // Invia i dati al LED per aggiornare il colore
delay(1000); // Attendi 1 secondo
// Diventa VERDE
pixels.setPixelColor(0, pixels.Color(0, 255, 0));
pixels.show();
delay(1000);
// Diventa BLU
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.show();
delay(1000);
// Diventa BIANCO (Tutti i colori accesi)
pixels.setPixelColor(0, pixels.Color(128, 128, 128));
pixels.show();
delay(1000);
// SPENTO
pixels.clear();
pixels.show();
delay(500);
}
Datasheets
rp2350 datasheet
Schema
Ringraziamenti
- Arduino
- esp8285
- esp8266
- esp12 E
- esp07
- NodeMCU v2.x
- NodeMCU v3.x
- ESP-01
- ESP-01S
- ESP32
- DOIT ESP32 DEV KIT v1
- ESP32 DevKitC v4
- ESP32 WeMos LOLIN32
- ESP32 WeMos LOLIN32 Lite
- ESP32 WeMos LOLIN D32
- ESP32-wroom-32
- NodeMCU-32S
- ESP32-S
- ESP32-CAM
- ESP32-2432S028 (Cheap Yellow Display)
- ESP32-2432S032 (Cheap Yellow Display)
- ESP32c3
- ESP32 c6
- ESP32 s2
- ESP32s3
- Arduino SAMD
- STM32
- Raspberry Pi
- Pico
- Pico W
- Pico 2
- WeAct Studio rp2040
- Waweshare rp2040-zero
- Seeed Studio XIAO rp2350
- Silicon labs
- Seeed Studio MG24 Sense


