Skip to main content

Seeed Studio XIAO RP2350 with Arduino

The Seeed Studio XIAO RP2350 board now supports programming via Arduino, thanks to the arduino-pico core. This guide will help you set up and begin using Arduino on your RP2350 board.

Features

  • Powerful MCU Board: Equipped with a Raspberry Pi RP2350 chip featuring symmetric dual Arm Cortex-M33 @ 150MHz with FPU.
  • Enhanced Security Features: Built-in secure boot and encrypted bootloader ensure application security.
  • Software Support: Compatible with C/C++ and MicroPython, ensuring easy project development and prototyping.
  • Rich Onboard Resources: Integrates an RGB LED, 2MB Flash, 520kB SRAM, and 19 multifunction GPIOs(Analog, Digital, I²C, UART, SPI, PWM).
  • Expanded 8 New IOs: Compared to previous XIAO MCUs, the addition of 8 IO pins on the back supports more complex applications.
  • Efficient Power Design: Ultra-low power consumption of just 50μA in sleep mode, enabling battery power supply. Direct battery voltage measurement via internal IO enhances the battery management system (BMS).
  • Compact Thumb-Sized Design: Measuring 21 x 17.8mm, adopting Seeed Studio's classic XIAO form factor, ideal for space-conscious applications.
  • Production-friendly: Surface Mount Device (SMD) design with all components on the front and stamp holes on both sides, facilitating efficient mass production.

Specification

ProductXIAO RP2040XIAO RP2350
ProcessorRaspberry Pi RP2040
Dual Cortex-M0+ @ 133MHz
Raspberry Pi RP2350
Dual Cortex-M33 @ 150MHz, FPU
RAM264kB SRAM520kB SRAM
Flash2MB Onboard2MB Flash
LEDs1x user LED
1x power LED
1x RGB LED
1x user LED
1x power LED
1x RGB LED
Interface11 Pins (All PWM):
4x Analog
11x Digital
1x I²C
1x UART
1x SPI
19 Pins (All PWM):
3x Analog
19x Digital
2x I²C
2x UART
2x SPI
Button1x RESET button
1x BOOT button
1x RESET button
1x BOOT button
Security-OTP, Secure Boot, Arm TrustZone
Software compatibilitySupport Micropython / Arduino / CircuitPythonSupport Micropython / Arduino / C,C++
Working Temperature-20°C-70°C-20°C-70°C
Dimensions21x17.8 mm21x17.8 mm

Hardware Overview

Front

Back

Need more details on pinouts? Navigate to Assets and Resources below.

Pin Map

XIAO PinFunctionChip PinAlternate FunctionsDescription
5VVBUSPower Input/Output
GND
3V33V3_OUTPower Output
D0AnalogGPIO26GPIO, ADC
D1AnalogGPIO27GPIO, ADC
D2AnalogGPIO28GPIO, ADC
D3SPI0_CSnGPIO5GPIO, SPI
D4SDA1GPIO6GPIO, I2C Data
D5SCL1GPIO7GPIO, I2C Clock
D6TX0GPIO0GPIO, UART Transmit
D7RX0GPIO1GPIO, UART Receive
D8SPI0_SCKGPIO2GPIO, SPI Clock
D9SPI0_MISOGPIO4GPIO, SPI Data
D10SPI0_MOSIGPIO3GPIO, SPI Data
D11RX1GPIO21GPIO, UART Receive
D12TX1GPIO20GPIO, UART Transmit
D13SCL0GPIO17GPIO, I2C Clock
D14SDA0GPIO16GPIO, I2C Data
D15SPI1_MOSIGPIO11GPIO, SPI Data
D16SPI1_MISOGPIO12GPIO, SPI Data
D17SPI1_SCKGPIO10GPIO, SPI Clock
D18SPI1_CsnGPIO9Csn
ADC_BATGPIO29Read the BAT voltage value
ADC_BAT_ENGPIO19BAT voltage detect enable
ResetRUNRUN
BootRP2040_BOOTEnter Boot Mode
CHARGE_LEDNCHGCHG-LED_Red
RGB LEDGPIO22RGB LED
USER_LEDGPIO25User Light_Yellow

Prerequisites

To get started, ensure you have:

  • An RP2350 board
  • The Arduino IDE
  • A USB cable

Setting Up the Software

1. Install the Arduino IDE

Download and install the latest Arduino IDE from the official site: Arduino Software.

2. Add RP2350 Board Support

  1. Open the Arduino IDE and navigate to File > Preferences.

  2. In the Additional Boards Manager URLs field, add this URL:

    https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  3. Click OK to save your settings.

  4. Go to Tools > Board > Boards Manager.

  5. In the Boards Manager, search for pico and click Install.

  6. After installation, go to Tools > Board and select the board shown below as your board.

note

Ensure you install version 4.2.0 or later for full support of the XIAO RP2350 board.

3. Uploading a Sketch

Before uploading a sketch, place your XIAO RP2350 into BOOT mode. Use one of the methods below:

Hold Boot-> Plug in Cable-> Release Boot
  1. Open the Arduino IDE and create a new sketch.
  2. Write your code. For example, use the Blink example code.
  3. Go to Tools > Port and select the port where your RP2350 is connected.

Low Power Performance Verification

The power supply design of XIAO RP2350 delivers excellent performance in low-power scenarios and can be widely applied to various low-power applications.

Battery Connection

The XIAO RP2350 can be powered by a 3.7V lithium battery. You can refer to the diagram below for wiring.

pir
caution

Please be careful not to short-circuit the positive and negative terminals and burn the battery and equipment when soldering.

Flash the firmware

You can use our pre-written firmware for verification and performance testing.

Download XIAO RP2350 Low Power Test Firmware, drag it into the file system.

pir
note

This UF2 firmware is compiled from a third-party source. For the firmware source code, please refer to: pico-examples/powman/powman_timer

This firmware source code depends on the pico-sdk. Before use, you need to download the relevant toolchain in a Linux environment following the steps in the pico-sdk README.

Please note that due to the rapid updates of pico-sdk and the toolchain, you may encounter function parameter conflicts and other compilation errors (this example library is not maintained as an official Raspberry Pi library, and there may be version and environment gaps). If you only need to verify the low-power capability of XIAO RP2350, it is recommended to use the UF2 firmware directly for quick and convenient testing.

Result

After instrumental testing and verification, the average current of the XIAO RP2350 is 53 μA when entering low-power mode.

pir

tip
  1. The average current in low-power mode measured by different instruments may vary. Please refer to the actual test results.
  2. This test result is obtained after flashing the low-power test firmware.
  3. For power consumption testing, the test wiring shall be connected to the BAT interface on the back side.
  4. Since the Arduino IDE has difficulty integrating the pico-extras library (which contains pico/sleep.h required for deep sleep), it is recommended to use the Pico SDK or the PlatformIO + arduino-pico framework for ultra-low-power development.

Assets & Resources

Hardware Design

Mechanical Design

Software & Tools

Others

Support & Discussion

Thank you for using Seeed products! We offer multiple channels for support and community discussion:

Loading Comments...