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

Spread the love

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

CaratteristicaSpecificaNote
MCURaspberry Pi RP2350Dual-core, Architettura Ibrida
Core2x Cortex-M33 (Arm) O 2x Hazard3 (RISC-V)Selezionabile all’avvio, Clock 150 MHz
SRAM520 KB10 banchi per accesso concorrente
Flash2 MB (QSPI Esterna)XIP (Execute In Place) supportato
Dimensioni21 x 17,8 mmClassico fattore di forma XIAO
Tensione3.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 Scheda3.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)

PinGPIONome ArduinoFunzione PrimariaAlternative / Default Bus
D026A0Ingresso Analogico 0
D127A1Ingresso Analogico 1
D228A2Ingresso Analogico 2
D35D3Digital I/OSPI0 CS (SS)
D46D4Digital I/OWire1 SDA (I2C1)
D57D5Digital I/OWire1 SCL (I2C1)
D60D6Digital I/OSerial1 TX (UART0)
D71D7Digital I/OSerial1 RX (UART0)
D82D8Digital I/OSPI0 SCK
D94D9Digital I/OSPI0 MISO
D103D10Digital I/OSPI0 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.

PinGPIONome ArduinoFunzioneNota Critica (Dall’Header File)
D1121D11Serial2 RXUART1 RX
D1220D12Serial2 TXUART1 TX
D1317D13Wire SCLDefault I2C_SCL (I2C0)
D1416D14Wire SDADefault I2C_SDA (I2C0)
D1511D15SPI1 MOSI
D1612D16SPI1 MISO
D1710D17SPI1 SCK
D189D18SPI1 SS

Pin Interni Speciali

NomeGPIODefinizione nel CoreNota
User LED25#define PIN_LED (25u)Giallo. Attivo basso (tipicamente).
RGB LED22Non definito nel CoreLED Indirizzabile WS2812B (Richiede libreria Neopixel).
RGB PWR23Implicito nell’hardwareDeve essere impostato HIGH per alimentare il LED RGB.
V_BAT29Hardware ImplicitoADC3 (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 Serial1 e inviare dati a un modem cellulare su Serial2).
  • Accesso: Richiede la saldatura di fili ai piccoli pad sul retro o l’uso di pogo pin.

Suggerimenti Tecnici Critici e “Trappole”

ProblemaDettaglio 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 EspansioneLa 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 RGBTensione 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 E9Tensione 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 BatteriaLa 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:

  1. 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
  1. Installare il Core:
    • Strumenti > Scheda > Gestore schede: Cerca “Pico” -> Installa “Raspberry Pi Pico/RP2040/RP2350 by Earle F. Philhower”.
  2. Selezionare la Scheda:
    • Strumenti > Scheda > Raspberry Pi Pico/RP2040/RP2350 > Seeed XIAO RP2350.
  3. Selezionare l’Architettura (Opzionale):
    • Strumenti > CPU Architecture > Cortex-M33 (Default) o RISC-V (Hazard3).
  4. Convalida Definizione Pin:
    • Le impostazioni in questo report corrispondono al file pins_arduino.h incluso in questa versione del core.

Guide e Tutorial

  1. Schede Raspberry Pi Pico e rp2040: pinout, specifiche e configurazione IDE Arduino
  2. Schede Raspberry Pi Pico e rp2040: filesystem LittleFS integrato
  3. Scheda Raspberry Pi Pico e rp2040: ethernet w5500 e requests HTTP e HTTPS (SSL)
  4. Schede Raspberry Pi Pico e rp2040: WiFiNINA con coprocessore WiFi ESP32
  5. Schede Raspberry Pi Pico e rp2040: come utilizzare una scheda SD
  6. Dallas ds18b20
  7. Collegamento dell’EByte E70 ai dispositivi Raspberry Pi Pico (rp2040) ed un semplice sketch di esempio

Seeed Studio XIAO RP2350: Pro e Contro

ProContro
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

No online PDF viewer installed. Download!

Schema

No online PDF viewer installed. Download!

Ringraziamenti


Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *