Seeed Studio XIAO RP2350
The Seeed Studio XIAO RP2350 is a general purpose board supplied by Seeed Studio and it is compatible with the Raspberry Pi RP2350 ecosystem, sharing the same MCU as Raspberry 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