Charge All Your Batteries With USB PD

USB-C has been around for a while, and now that it can charge phones and Macbooks and Thinkpads, the hackers are starting to take note of power adapters that can supply lots of current. [Alex] was turned on to USB-C after he charged a laptop, Nintendo Switch, and phone with one power adapter. This led him to create a USB-C battery charger for all your LiPos.

The high-level design of this project is simply a board with a USB C port on one end, an XT60 plug on the other, and some support for balance leads. Plug this board into a USB C adapter, plug a battery in, and the battery will charge automagically. The only UI is an RGB LED. It’s difficult to imagine a battery charger that’s easier to use.

For the electronics, [Alex] is using an STM32G0 for the smarts of the device, which includes handling the USB PD spec. This gives the charger 20 Volts to play with, and this is then regulated and sent into the battery. Right now, this board will charge 2-4c batteries. That’s a good enough proof of concept to charge some quadcopter batteries, or just as a really simple way to charge some LiPo cells.

26 thoughts on “Charge All Your Batteries With USB PD

  1. It would be awesome if there was a USB-PD version of the Adafruit Powerboost 1000C:

    Basically, it does charging *and* power-muxing so you have uninterrupted power to electronics as you plug/unplug the charging cable. The only problem with Adafruit’s board is it’s only 1A and only does single cell lithium batteries which doesn’t quite cut it for higher power applications.

  2. I’ve been after this for YEARS.
    Right now I’m using a little cheap board to tell my Omnicharge 20 powerbank to output 20v, and that gets passed directly to the DC input on an IDST balance charger. It works, but its cumbersome, bulky, less efficient, and unrefined.
    Something like this will lighten and simplify things substantially, awesome!


      1. Is the board meant to be safe to leave connected to the battery indefinitely, even when not connected to power (like a typical power bank)? If so, I’ve got a use case and would be extremely interested, beta or not.

  3. Nice going! The state of battery charging is pretty abysmal at the moment. Anything even slightly unusual is poorly supported by most common gear, and everything insists on going to the full 4.2v, significantly shortening cycle life.

          1. I would be, but it seems better suited to a complete module, maybe a castellated via kind of thing, since you can probably get the support parts on there cheaper than the user can in that kind of QTY.

            I also found that there is a 1A synchronous buck boost in TSSOP powerpad with a current limit that I was thinking of using for a small FOSS IoT MPPT charger.

      1. I have the larger version of that charger. It works really well. I envisioned LiPow to be more of an accessory for someone on the go who doesn’t want to carry a bulky Lipo charger in addition to their USB C laptop or phone chargers.

  4. Awesome project, thanks for sharing it!
    I’ve looked at the schematic, it’s very clear and I now understand how the balancing part of the LiPo chargers work, which is something I have been curious about for a long time. I haven’t seen the firmware on .io, do you plan on open-sourcing it?
    Also I’m wondering, does the USB-PD require special hardware support for the microcontroller or can it be implemented software-side on any microcontroller? I’m using Atmel’s SAM4L mcu’s and I haven’t seen any mention of PD in the datasheet.

      1. The great thing about the STM32G0 is that it has a USB PD Phy built in. So you can connect the CC lines of the USB C port directly to the microcontroller. For other microcontrollers, you can get an external PD Phy and control it through I2C.

  5. I still haven’t seen many inexpensive yet not shitty versions doing the opposite IE: you supply it with a voltage within a range common for various battery cell(s) configurations, and as long as they can supply the needed current it’ll happily work.

    Which would essentially be a chunky buck-boost/sepic converter with USB PD chip(s) controlling it by setting voltage to the negotiated levels as long as brownouts are not detected.

    After all, for devices using USB PD power to become popular, you’d need inexpensive (and also importantly not shitty) devices to feed them said power.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.