Embedded Computing
  • About
  • Blog
  • Hardware
    • Which Platform?
    • Controller Platforms >
      • Adafruit Platform
      • Arduino Plaform
      • BBC micro:bit
      • Espressif Platform
      • iLabs Platform
      • Raspberry Pi Platform (MCU)
      • Seeed Platform
      • Silicon Labs Platform
      • Teensy Plaform
    • Computer Platforms >
      • BeagleBone Platform
      • Raspberry Pi Platform (SBC)
      • UDOO Platform
    • Peripherals >
      • Shields
      • Grove System
      • Sensors
      • Actuators
    • Displays >
      • E-Paper Displays
      • Reflective Displays
      • TFT Displays
      • LCD Displays
    • Legacy Platforms >
      • chipKIT Plaform
      • 4D Systems Platform
      • Intel Platform
      • LaunchPad Plaform
      • BoosterPacks for LaunchPads
      • LightBlue Bean
      • Maple Plaform
      • Mediatek Platform
      • Microsoft Azure IoT DevKit
      • Particle Platform
  • Software
    • Exploring RTOS with Galaxia >
      • Event Library
      • Semaphore Library
      • Mailbox Library
      • Timer Library
      • Clock Library
      • SWI Library
      • Task Library
    • Ultra-Low Power with EnergyTrace >
      • Ultra-Low Power with MSP430
      • Ultra-Low Power with Energia MT and Galaxia
    • Using Integers Instead of Reals
    • Going Python?
  • IoT
    • IoT Platforms: Which Hardware? >
      • Matter with Silicon Labs MG24
    • IoT Services: Which Solution? >
      • Recommended IoT Solutions
      • Platform-Specific IoT Solutions
      • Other IoT Solutions
      • Not tested IoT Solutions
      • Notification Solutions
    • Get Date and Time from Internet with NTP
    • Fast and Easy WiFi Connection with QR-Code
  • Tools
    • How to Start?
    • Reference >
      • Asking for Help
      • Boards Pins Maps
      • Ruler
      • Boards and Plugs
      • I²C Logic Level Converter
      • Standards for Connectors
    • Training >
      • Texas Instruments Workshops
      • Embedded Systems: Shape The World — MOOC edX UTAustinX UT.6.02x
      • Embedded Systems - Shape The World: Microcontroller Input/Output — MOOC edX UTAustinX UT.6.10x
      • Embedded Systems - Shape The World: Multi-Threaded Interfacing — MOOC edX UTAustinX UT.6.20x
      • Real-Time Bluetooth Networks: Shape the World — MOOC edX UTAustinX UT.RTBN.12.01x
      • Systems Thinking with Texas Instruments Robotics System Learning Kit
    • Books >
      • Getting Started with the MSP430 LaunchPad
      • Getting Started with Arduino
      • Arduino Cookbook
    • IDE >
      • The Battle of IDEs
      • More Options
      • Assessing the Next Generation of IDEs
      • Tools for Documentation
    • Equipment >
      • Saleae Logic Analyser
      • Rigol DS1102E Oscilloscope
      • XDS110 Debug Probe with EnergyTrace​
      • Segger J-Link Programmer-Debugger
      • Nordic Power Profiler Kit II
  • Projects
    • Libraries >
      • Master I²C Software Library
      • Date and Time Library
      • highView Library Suite
      • Others Libraries
    • smartDevices >
      • I²C smartColours Smart Sensor
      • I²C smartRFID Smart Sensor
      • I²C smartLED Display
      • I²C smartControls Smart Device
      • I²C smartWiFi Smart Device
      • I²C smartBLE Smart Device
      • I²C smartNode Smart Device
    • IoT Projects >
      • Remote E-Paper Weather and Message Board
      • Typie-Walkie with LoRa and E-Paper Screen
      • Typie-Walkie with E-Paper Screen
      • Remote e-Paper Pictures Panel
      • Remote e-Paper Messages Panel
      • Industrial IoT Project
      • Remote Contactless Temperature Monitor
      • Using Node-RED for IIoT
      • Low Power Home Network Weather Monitoring
      • Updated Low Power Home Network Weather Monitoring
      • Weather and Security Station with Blynk
      • SensorTag to Blynk Using Node-RED
      • Pervasive Reporting
    • AI Projects >
      • Colour Recognition with Neural Network
    • Other Projects >
      • Air Quality Monitoring
      • Driving a Large E-Paper Display with a Compact Xiao RP2040
      • Low-Power E-Paper Weather Station
      • Portable Particulate​ Matter Monitor
      • FRAM-based E-Paper Screen Controller
      • General Purpose 3.5" Screen
      • Colour Recognition with Neural Network
      • A Low Power Weather Station
      • Digital Volt-Amp-Watt Meter
      • Mobile Measurement with LCD Display
      • Screen with SRAM for GUI
      • Volt-Amp-Watt-Meter for Grove
      • Multi-Touch Project with CapTIvate

Seeed Xiao M0​

The ​Seeed Xiao M0 features the same Cortex-M0 SAMD21 as the Arduino M0 but in a very compact form-factor. 

The USB connector is a Type-C, which takes almost one third of the board.

SeeedStudio has developed two expansions boards:
  • the compact Grove Shield for Xiao with four or eight Grove connectors, and
  • the Xiao Expansion Board with four Grove connectors, a 128x64 OLED screen, a RTC with backup battery, a buzzer and a micro SD-card slot.
​Both boards feature a LiPo management circuit. 

The board was sampled by Seeeduino. 
Picture

Hardware

The board has a DIP14 700 mil form-factor, plus castellated pins.

The board features 14 pins with all the standard ports, including two UART ports (one for USB, another on dedicated pins), I²C and SPI.

The package includes three stickers with the functions of the pins, but the print is so small it is hard to read.

Click to enlarge
Picture
On the front side (left) close to the USB connector, a pad is labelled RESET. Four LEDs inform about power (green), UART (two blue for TX and RX), and finally a user's LED (orange), although in negative logic.

On the rear side (right), the Xiao board exposes pads for SWD clock and data signals, making debugging possible although requiring some soldering. Also are exposed pads for VIN and GND.
Picture
Picture
The second batch of the board exposes four pads for debugging: SWD clock and data signals, ground and reset.

Software

Seeed provides the adapted boards package for the Arduino IDE and a Wiki offers a very clear documentation. The board is also supported by embedXcode with external debugging.

One of the interesting part of the board is the multiple offer for uploading the firmware.
  • Standard with serial through USB,
  • Copy-paste using the UF2 protocol with the board acting as a mass storage device named Arduino or ARDUINO-M0,
  • Pads ready for SWD clock and data, allowing debugging as well, to be used with an external programmer-debugger.

I had to try twice to upload successfully through Serial. UF2 is more stable, although the Seeeduino SAMD boards package does not include the required utilities. As last resort, the SWD option was very helpful in unbricking one of the boards and flashing the boot-loader again.
Picture
Picture
Drag-and-drop the executable
​onto the volume to flash the board

Debugging

The Seeed Xiao M0 exposes the SWD signals through SWCLK and SWDIO pads.

I connected the SWD signals SWCLK and SWDIO, power +5V and Ground, +3.3V VTref, serial RX and TX to my Segger J-Link Edu.

The new Xiao Expansion Board exposes the SWD signals and makes debugging much easier.




I was able to debug with my J-Link Edu, with both the command-line J-Link utilities and the Ozone GUI from embedXcode.
​
  • The JLinkGDBServer utility, part of the command-line J-Link tools, connects to the board through SWD and acts as a server, while arm-none-eabi-gdb provides the front-end.
Picture
Picture
  • The Ozone provides a nice GUI with almost everything.
Picture

Conclusion

At less than USD5, the Seeed Xiao M0 brings unrivalled value, with a compact form-factor with castellated connectors, powerful Cortex-M0, easy drag-and-drop for programming, and exposed SWD pads for debugging.

As a logical complement, I would love a Grove and SWD extension board featuring Grove connectors for I²C, UART and GPIO; two pogo pins for to connect to the SWD pads; and the standard 2x5 0.05" SWD fool-proof connector to use with the very affordable Segger J-Link Edu mini programmer-debugger.

Even better, the Xiao can act as a $5 programmer-debugger against another Xiao!

The USB-C cable is not included. Actually, it is almost as large and expensive as the board!
Picture

Pros

  • Powerful and affordable board
  • Castellated pins for easy integration
  • Exposed SWD pads for debugging

Cons

  • USB-C cable as large and expensive as the board!

Wrap-Up

  • Great value

Links

  • Seeed Studio website
  • Product page
  • Wiki page
Picture
Powered by Create your own unique website with customizable templates.