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.

../../../../../_images/xiao-rp2350.jpg

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.

Buttons

The RESET and BOOT buttons can be used to enter bootloader mode by press and hold BOOT buttons and then press and release RESET button. Then, the board will enumerate as a storage device to a computer connected via USB. Saving a .UF2 file to this device will replace the Flash ROM contents on the RP2350.

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

  1. 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.

  1. 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