Now Supports Seeeduino Xiao M0

  1. Seeeduino Xiao Review
  2. Seeeduino Xiao Input
  3. Seeeduino Xiao Adc
  4. Now Supports Seeeduino Xiao M0 Meng

3 x Seeeduino XIAO - Arduino Microcontroller - SAMD21 Cortex M0+ 6 x 7pins header; 12 x pasters; Note: 3 pair of non-soldered 7-pin headers are accompanied in this Seeeduino XIAO. You could solder them before connecting Seeeduino XIAO with the Shield by plugging the soldered pin headers into the female headers on the Shield. Seeeduino XIAO is a Tiny Arduino Zero Compatible Board with Battery Support Seeeduino XIAO is the smallest Arduino compatible board from SeeedStudio’s Seeduino family. Measuring just 23.5×17.5 mm, the board is equipped with Microchip SAMD21 Arm Cortex-M0+ microcontroller and exposes various digital and analog I/Os. Find many great new & used options and get the best deals for Seeed Studio Seeeduino Xiao With Samd21 Arm Cortex M0 Arduino Compatible 48mhz at the best online prices at.

The Seeeduino XIAO is the smallest member of the Seeeduino family. It carries the powerful ATSAMD21G18A-MU which is a low-power microcontrollers. On the other hand, this little board has good performance in processing but needs less power. As a matter of fact, it is designed in a tiny size and can be used for wearable devices and small projects.

Seeeduino XIAO has 14 GPIO PINs, which can be used for 11 digital interfaces, 11 mock interfaces, 10 PWM interfaces (d1-d10), 1 DAC output pin D0, 1 SWD pad interface, 1 I2C interface, 1 SPI interface, 1 UART interface, Serial communication indicator (T/R), Blink light (L). The colors of LEDs(Power,L,RX,TX) are green, yellow, blue and blue. Moreover, Seeeduino XIAO has a Type-C interface which can supply power and download code. There are two reset button, you can short connect them to reset the board.


There are two documentations on the usage of Seeeduino XIAO which focus on different areas, check the table below for reference:

Documentation by SeeedDocumentation by Nanase
Pinout DigramInterface
Seeeduino XIAO Getting StartedSeeeduino XIAO with MicroSD Card(SPI)
Seeeduino XIAO GPIO UsageSeeeduino XIAO with GPS(UART)
Seeeduino XIAO ResourcesSingle Cycle IOBUS

CircuitPython on Seeeduino XIAO

  • Get started with CircuitPython on Seeeduino XIAO.


  • Powerful CPU: ARM® Cortex®-M0+ 32bit 48MHz microcontroller(SAMD21G18) with 256KB Flash,32KB SRAM.
  • Flexible compatibility: Compatible with Arduino IDE.
  • Easy project operation: Breadboard-friendly.
  • Small size: As small as a thumb(20x17.5mm) for wearable devices and small projects.
  • Multiple development interfaces: 11 digital/analog pins, 10 PWM Pins, 1 DAC output, 1 SWD Bonding pad interface, 1 I2C interface, 1 UART interface, 1 SPI interface.


CPUARM Cortex-M0+ CPU(SAMD21G18) running at up to 48MHz
Flash Memory256KB
Digital I/O Pins11
Analog I/O Pins11
I2C interface1
SPI interface1
UART interface1
Power supply and downloading interfaceType-C
Power3.3V/5V DC

Hardware Overview


For general I/O pins:Working voltage of MCU is 3.3V . Voltage input connected to general I/O pins may cause chip damage if it' higher than 3.3V .

For power supply pins:The built-in DC-DC converter circuit able to change 5V voltage into 3.3V allows to power the device with a 5V supply via VIN-PIN and 5V-PIN.

Please pay attention to use, do not lift the shield cover.

Enter Bootloader Mode

Sometimes the Seeeduino XIAO port may disappear when user programming process fails. we can solve this problem by the following operation:

  • Connect the Seeeduino XIAO to your computer.
  • Use tweezers or short lines to short the RST pins in the diagram twice.
  • The orange LED lights flicker on and light up.

At this point, the chip enters Bootloader mode and the burn port appears again. Because the samd21 chip has two partitions, one is the Bootloader and the other is the user program. The product will burn a bootloader code in the system memory when it leaves the factory. We can switch modes by performing the above steps.


If you want to reset the Seeeduino XIAO, perform the following steps:

  • Connect the Seeeduino XIAO to your computer.
  • Use tweezers or short lines to short the RST pins only once
  • The orange LED lights flicker on and light up.


Seeeduino Xiao Review


All pins on Seeeduino XIAO support interrupts, but two pins cannot be used at the same time: 5 pin and 7 pin. For more detail about Interrupt please check here.

Pin Multuiplexing

We don't need to configure the pins ourselves, after using the pins, you can call a function directly.

Digital Input and Output

  • Use pin 6 as the digital pin:


  • Use pin 6 as the analog pin:


  • Use pin 6 as the TX pin of UART(RX pin of UART is pin 7):


  • Use pin 5 as the SCL pin of IIC(SDA pin of IIC is pin 4):


  • Use pin 8 as the SCK pin of SPI(MISO pin of SPI is pin 9,MOSI pin of SPI is pin 10):
Now Supports Seeeduino Xiao M0

Analog Input and Output

While it still has PWM-based 'analog outputs', the SAMD21 also features true analog output in the form of a digital-to-analog converter (DAC). This module can produce an analog voltage between 0 and 3.3V. It can be used to produce audio with more natural sound, or as a kind of 'digital potentiometer' to control analog devices.

The DAC is only available on the Arduino pin A0, and is controlled using analogWrite(A0, ). The DAC can be set up to 10-bit resolution (make sure to call analogWriteResolution(10) in your setup), which means values between 0 and 1023 will set the voltage to somewhere between 0 and 3.3V.

In addition to the DAC, the SAMD21's ADC channels also stand apart from the ATmega328: they're equipped with up to 12-bit resolution. That means the analog input values can range from 0-4095, representing a voltage between 0 and 3.3V. To use the ADC's in 12-bit mode, make sure you call analogReadResolution(12) in your setup.

Serial Plotting the DAC

Here's an example that demonstrates both the DAC and the ADC. To set the experiment up, connect A0 to A1 -- we'll drive A0 with an analog voltage, then read it with A1. It's the simplest circuit we've ever put in a tutorial:

Now Supports Seeeduino Xiao M0


The Seeeduino XIAO using the Seeeduino XIAO expansion board

This sketch produces a sine wave output on A0, with values ranging from 0 to 3.3V. Then it uses A1 to read that output into its ADC, and convert it into a voltage between 0 and 3.3V.

You can, of course, open the serial monitor to view the voltage values stream by. But if the the sine wave is hard to visualize through text, check out Arduino's new Serial Plotter, by going to Tools > Serial Plotter.


Getting Started



Materials required

  • Seeeduino XIAO x1
  • Computer x1
  • USB typc cable x1


Some USB cables can only supply power and cannot transfer data. If you don't have a usb cable or don't know if your usb cable can transmit data, you can check seeed USB type C support USB 3.1 .

  • Step 1. Prepare a Seeeduino XIAO and a Type-C cable.

  • Step 2. Connect the Seeeduino XIAO to your computer.Then the yellow power LED should go on.



If this is your first time using Arduino, we highly recommend you to refer to Getting Started with Arduino

  • Step 1. You need to Install an Arduino Software.

Launch the Arduino application

Double-click the Arduino application (arduino.exe) you have previously downloaded.


If the Arduino Software loads in a different language, you can change it in the preferences dialog. See the Arduino Software (IDE) page for details.

  • Step 2. Open the Blink example

Open the LED blink example sketch: File > Examples >01.Basics > Blink.

  • Step 3. Add Seeeduino to your Arduino IDE

Click on File > Preference, and fill Additional Boards Manager URLs with the url below:

Seeeduino Xiao Input

Click Tools-> Board-> Boards Manager..., print keyword 'Seeeduino XIAO' in the searching blank. Here comes the 'Seeed SAMD Boards'. Install it.

  • Step 4. Select your board and port

After installing the board, click Tools-> Board, find 'Seeeduino XIAO M0' and select it. Now you have already set up the board of Seeeduino XIAO for Arduino IDE.

Select the serial device of the Arduino board from the Tools Serial Port menu. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your Arduino board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.

  • Step 5.Upload the program

Now, simply click the 'Upload' button in the environment. Wait a few seconds and if the upload is successful, the message 'Done uploading.' will appear in the status bar.

A few seconds after the upload finishes, you should see the pin 13 (L) LED on the board start to blink (in orange). If it does, congratulations! You've gotten Arduino up-and-running. If you have problems, please see the troubleshooting suggestions.

the max size of flash is 8KB the more information at the ATSAMD218A-MU datasheet in resourses

The sample application¶

  • How to unbrick a dead xiao using raspberry pi. Thanks John_Doe for sharing.


  • [PDF]Seeeduino XIAO Schematic

  • [PDF]ATSAMD218A-MU datasheet

  • [ZIP]Seeeduino KiCAD Libraries

  • [LBR]Seeeduino Eagle Libraries

Seeeduino Xiao Adc

Tech Support¶

Now Supports Seeeduino Xiao M0 Meng

Please do not hesitate to submit the issue into our forum.