Can I draw power from the USB-C port on the XIAO? make it a battery pack

I created a devise, and I also want it to be a 5v power pack…
The XIAO is powered via de 5v pin, a buck converter (2amp max) is used to regulate from 12v to 5v.
A charge balance board is used to handle the 3x18650 cells, outputting 12v.

So I tried connecting:

  1. Another XIAO: It successfully powers On the connected XIAO! it blinks…
  2. a Pixel 2XL smartphone (with 30w fast charge): it shows that it is charging for 1 sec. Then it stops charging it. I think is has to do something with the power drawn.

Any idea about what is happening? and is there a workaround? Do I have to enable something?

Your phone probably wants to charge at a higher voltage. USB-C can go up to 20V (?).

1 Like

My Pixel 2XL supports Power Delivery… so you are right, it will try to up the voltage to 20v.
But I think that it should ask for it first, before it just draws it… right?
It should select from what the XIAO can deliver, and if it can’t deliver more than 5v, then why force it into shutdown mode?? it seems something related to the USB-C on the XIAO.

The ability to draw 5v and turn the XIAO into a low power battery pack is appealing to me.

Is there something that could be done?

Power Delivery explained.

Another thing I just noticed…
If, I connect my Pixel 2XL to the XIAO, and I don’t supply 5v to the pins on the XIAO…
then, my phone powers the XIAO.

It is clear that the phone and the XIAO are resolving their power differences the best they can.
But Power Delivery is somehow forcing the XIAO to stop supplying.

Is this a Hardware problem or a Software?

Its a few months later, but… USB PD is provided over additional pins on the USB-C connector. There are additional pins that provide a constant 5V that is used while Power Delivery is negotiated. I’m guessing the Xiao is using those 5v pins. However, regardless, the device has to request/negotiate with the host what the power capabilities of the host are and before the host will up its output.

In short, to answer your last post, it is both a hardware AND a software problem. Beyond that, the larger question is whether the USB can be configured to attempt to negotiate as a PD host.

I came looking for other info about PD, as I’d like to use a Xiao as a USB motor driver that can use more than 5vdc. My findings are pretty much that its not possible, but it would sure be awesome if a newer Xiao could negotiate a PD 3.0 output in addition to the 5vDC (and the 3.3v regulated).

Hey, I totally agree with the idea of a new XIAO that could handle PD.
Maybe by adding and external power regulator… and a dedicated pin.
So that I could draw from the USB-C with PD.
That would be sweeet.

My understanding is that regulating larger power draws, such as PD, generates heat, and it becomes difficult for this form factor to incorporate inside the board. But if we had a pin, that serves this purpose, and re-routes the power regulated by an external devise, to the USB-C port on the XIAO… ooooh boy. We got a winner.