Seeed Studio XIAO RP2350
The Seeed Studio XIAO RP2350 is a general purpose board supplied by Seeed Studio and it is compatible with the Rapiberry RP2350 ecosystem, sharing the same MCU as Rapiberry Pi Pico 2.

Features
Raspberry Pi RP2350, ARM® Dual Cortex-M33 @ 150MHz, FPU
520kB SRAM, 2MB Flash
Security: OTP, Secure Boot, Arm TrustZone
USB Type-C interface
19 Pins:3x Analog,19x Digital, 2x I²C, 2x UART, 2x SPI, All PWM
1 user LED, 1 power LED,1 RGB LED (WS2812)
1 RESET button, 1 BOOT button
Serial Console
By default, a serial console appears on pins 6 (TX GPIO) and pin 7 (RX GPIO). This console runs a 115200-8N1. The board can be configured to use the USB connection as the serial console.
User LED
The USER LED, the yellow LED on the XIAO RP2350, is connected to GPIO25/D19 according to the schematic diagram. The USER LED will light up when set to a low level and turn off when set to a high level.
Pin Mapping
Pads numbered anticlockwise from USB connector.
Pad |
Signal |
Notes |
---|---|---|
0 |
GPIO26 |
D0/A0 |
1 |
GPIO27 |
D1/A1 |
2 |
GPIO28 |
D2/A2 |
3 |
GPIO5 |
D3/A3 |
4 |
GPIO6 |
D4/SDA |
5 |
GPIO7 |
D5/SCL |
6 |
GPIO0 |
D6/Default TX for UART0 serial console |
7 |
GPIO1 |
D7/Default RX for UART0 serial console |
8 |
GPIO2 |
D8/SCK |
9 |
GPIO4 |
D9/MISO |
10 |
GPIO3 |
D10/MOSI |
11 |
3V3 |
Power output to peripherals |
12 |
Ground |
|
13 |
VIN |
+5V Supply to board |
Power Supply
The working voltage of the MCU is 3.3V. Voltage input connected to general I/O pins may cause chip damage if it’s higher than 3.3V.
Installation
Configure and build NuttX:
$ git clone https://github.com/apache/nuttx.git nuttx
$ git clone https://github.com/apache/nuttx-apps.git apps
$ cd nuttx
$ make distclean
$ ./tools/configure.sh xiao-rp2350:nsh
$ make V=1
2. Connect the Seeed Studio XIAO RP2350, and enter bootloader mode, once the board is detected as a USB Mass Storage Device, copy “nuttx.uf2” into the device.
To access the console, TX and RX pins must be connected to the device such as USB-serial converter.
Configurations
nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
usbnsh
Basic NuttShell configuration using CDC/ACM serial (console enabled in USB Port, at 115200 bps).
combo
This configuration enabled NuttShell via Serial and enabled led, gpio and ws2812 examples:
Testing leds:
$nsh> leds
leds_main: Starting the led_daemon
leds_main: led_daemon started
led_daemon (pid# 3): Running
led_daemon: Opening /dev/userleds
led_daemon: Supported LEDs 0x01
led_daemon: LED set 0x01
nsh> led_daemon: LED set 0x00
led_daemon: LED set 0x01
led_daemon: LED set 0x00
led_daemon: LED set 0x01
led_daemon: LED set 0x00
Testing gpios:
PIN/GPIO |
Mode |
Device |
---|---|---|
D0/P0.02 |
Input |
/dev/gpio0 |
D2/P0.28 |
Output |
/dev/gpio1 |
D1/P0.03 |
Input |
/dev/gpio2 |
nsh> gpio -w 1 /dev/gpio26
Driver: /dev/gpio26
Interrupt pin: Value=0
Verify: Value=0
nsh> gpio /dev/gpio27
Driver: /dev/gpio27
Input pin: Value=0
nsh> gpio /dev/gpio27
Driver: /dev/gpio27
Input pin: Value=1
nsh> gpio -o 1 /dev/gpio28
Driver: /dev/gpio28
Output pin: Value=0
Writing: Value=1
Verify: Value=1
nsh> gpio -o 0 /dev/gpio28
Driver: /dev/gpio28
Output pin: Value=1
Writing: Value=0
Verify: Value=0
Testing ws2812:
$nsh> ws2812