REQ: Power Delivery Board for XIAO

I just built my first Arduino project and chose the XIAO because it was extremely inexpensive, extremely tiny, fully Arduino compatible, and has built-in USB-C for both power and data. I was quite surprised to discover that I could both control and power a small string of ARGB LEDs with only just the XIAO. It’s the perfect all-in-one Arduino package.
Almost.

XIAO advantages

  • USB-C for both data and power
  • 5v and 3.3v pins can provide (limited) power to controlled devices or sensors
    This means that smaller projects can have a single USB-C port that powers the project but which can also be used for program updates, even after “sealing” the project inside a case. This also simplifies development as you can power your arduino-controlled devices while you upload code changes.

XIAO limitations:

  • The XIAO has a USB-C connector, but is wired for USB 2.0 without any USB 3 Power Delivery negotiation.
  • The XIAO schematic limits the power output on the 5v pin to ~500ma and on the 3.3v pin to ~200ma.
  • The output current limitations of SAMD-21, nRF52840, etc restrict I/O current to ~10-15ma.
    This means for any project with more than a handful of LEDs, or with any servos or relays, you need to wire in an external power supply.

For example, this means I can run a string of 10 ARGB LEDs off the XIAO’s 5v pin, but only at about 50% brightness. But what if there was a way to power an entire string of LEDs, or even 12v LEDs, as well as the XIAO, while I program it - all over a single USB-C cable?

What I would like to see is a USB-C power delivery expansion board for the XIAO. I see this board as having the following features:

  • Small form factor, comparable in total size to the XIAO
  • Its own USB-C input
  • USB-C 5v output to the XIAO
  • USB-C data pass-through to the XIAO
  • I/O interface for all XIAO pins, with one dedicated as a PD control pin
  • Dedicated PD V-OUT and GND pins

What I envision is a tiny board about the size of the XIAO that can snap onto the XIAO, plug into the XIAO’s USB-C, and then plug in to a power supply or my computer via its own USB-C. I could program the XIAO as normal, except that one of the XIAO pins would be dedicated to controlling the PD signal. I could then program the XIAO to request a particular voltage from this expansion board, allowing me to control and power 5v/9v/12v/15v/20v devices from a single USB-C charger without wiring in a separate power brick.

Ideally, I’d like to see a “XIAO version 2” that has built-in PD negotiation and a pair of PD pins for powering various loads. But building a separate PD negotiation board that can pass-through 5v & USB data to the XIAO is a next-best-thing.