Charging 12s... from USB

Before you say it, yes, I know it would take a loooong time. But I’m planning to DIY a board with a 12s lipo battery, and I’m interested in having the option to slow charge it from a 5V power source like USB. (Of course I’m also planning on having faster options like a balance charger or BMS.) But in the event that I’m staying the night some place and only happen to have a USB charger, I’d love the option to be able to at least partially charge the board that way.

My two first thoughts were to either charge one cell at a time using a 1s charger that takes 5V, or to boost the 5V to the ~50V that a 12s charger would require. But in the former case, I’m not sure of a simple way to cycle the charging between cells without manual intervention, and in the latter case, I’m not sure if there are any chargers that won’t attempt to draw too much current so as to overwhelm the boost circuitry and/or the underlying 5V power supply. Any ideas on a simple-ish way that I could accomplish this?

Just use a DC DC step up module to 50V. Lets say you use a 5V 1A charger, that would lead to less (cause of the losses) then 50V 0.1A. This could be done easily but is very slow!

I’d also be interested in this for 10S

Boosting 5 to 50 would be super inneficient and super slow

1 Like

But, is there any problem charging at 0.1A ? Slow ok, but is it bad for the battery (longer charge --> more time to heat a lot) to charge during several hours at 0.1A (I mean more than 5h for example ) ?

No, slower charge times are actually better for the battery.

Though… The usb standard puts the maximum current(after requesting “high” current) at 500mA. This is for a proper USB port atleast, like a computer, laptop, router or similar. If you use a charger with higher specs, some go up to 2~2,5 amps, or for usb 3 there are different rules where you can even get higher voltage.

All of these things demand more out of your “charger” or usb-converter. If you want to make a version that will always work with any usbport, your charge current would likely be less than 50mA, maybe 40 or 30 mA. From there, you will have a charge time of several hundred hours.

So im a bit dissapoint to have to inform you that it’s not very feasible or useful… maybe if you have a 2A USB charger you could get 200-300 Wh charge over two days or 30 hours, but for that to be reliable you’d probably have to bring the charger with you… And then you might just as well bring a proper charger for the board?

However, something that might be along the lines of ‘charge with what you got’ could be this:

Not for the faint of heart, but possibly it would work with pretty much any old laptop power brick or similar adapters.

1 Like

Did you finish the Battman BMS firmware ? Because last time I heard about it, buyers had to deal with it by themselves as RaphaelChang didn’t answer anymore (at the time at a least, few months ago). Hardware was working but firmware was basic or unfinished.

Nope, i haven’t heard any news of it… it’s very interesting though. i figured since you can buy it there, it should at least work? But it might also be a real PITA!

though if it wasn’t so expensive i’d probably buy one and get it up to speed myself, it’s a real interesting project.

I mentioned USB3 above, and thats sort of in the same boat. Lots of potential, but have you heard anything of this? i don’t think i have heard of any devices using or providing the 20V they talk about. if they did, 100W would be good enough to use as your only charger!

The @JayKay e-trucks charge via PD

high currents heat up the battery, whether it’s while charging or discharging. Low currents are no problem.

But speaking of actually range gained from charging with for example the 5V 1A and assuming a 100% efficiency, it’s just 5Wh every hour. Even efficient boards use around 10Wh / km of energy, so you’re getting 0.5km/0.3mi of range for a hour of charging and even if left to charge overnight it is still almost nothing.

the 5V to 50V DC-DC converter is also pretty exotic and would likely need a 2 step-up converters, which also reduce the conversion efficiency even more.

Note. got interrupted by colleagues while writing this reply, so sorry if there is some repeated info.

(Off topic, sorry) Forget Battman project. It’s dead. I bought 2 boards from him, without any usable features coded (beside only the antispark switch). I spent few dozen (maybe hundred) of hours coding all the BMS features to avoid using those expensive boards only as door stoppers. Then @SimosMCmuffin came and told us that the Hardware is undersized for what it pretends to achieve and can even be dangerous (over-heating).

At least, I learned a lot of C coding. :roll_eyes:


Its a pitty to hear…

So one could actually plug the board in, leave for a vacation, come home after a week or so to a half full, half empty battery. Sounds amazing! :rofl::wink:


I have a 60W (Laptop or Phone) USB-C charger. It changes voltage between 5V, 9V, 15V and 20V automatically. But then you need another stepup or bms I guess…

other thing with easy solution:

for each cell (maybe even at balancer lead as second charging solution) and then a multi usb hub/charger like this

so you have at least 1AH per cell.

Haha, yeah i’m not surprised! I had a laugh when i read about the balancing resistors, how he sounded surprised when they got hot… though i have not looked further into the power switch and the charging, i don’t really see why it would not work. At least for the balancing that would be an easy fix with lower currents.

How far did you get? it would be very interesting to have a BMS with eswitch, that does not cut brakes on high voltage and that has communication possibilities with a vesc… Programmable number of cells and voltage levels would be very nice as well. From an oem standpoint, you both want to protect the battery at all times but also never cut the power leaving the rider in a possible headstand. Not sure how for example the raptor 2 does this but only using the vesc with an LVC “gives” the user a possibility to kill an unbalanced battery. this is also made worse if a dumb BMS is used, if it does not balance for example if the user never charges the board fully.

edit: @Giga, yeah its one of those i was thinking of. that sounds like its using usb PD mode 4, 60W. Or up to mode 4 maybe, i am by no means the person to ask about this. i know a fair bit about usb 2 but usb3… Either way, the hardest part about possibly using an usb3 power source is that it will not give you much juice without the cennecting device negotiating for it. This also happens in usb2, but the low power levels makes it much simpler and there is a sort of standard of requesting more power with certain voltages on the data pins. The normally allowed current on those usb ports is only 100mA, but since it’s not defined what they should do if a unit uses more than that, usually nothing is done about it even if a unit has not done any request for more power.

But since in usb3 the voltages also changes, possibly damaging units that cannot handle it, i expect that the negotiation is more strict and that you cannot get access to that power without a full usb3 control circuit handling the communication. I can very much see such a unit becoming available on ebay for example, just a pcb with a possible jumper for voltage and power out pads, but i have not seen any nor expect to really see any until usb3 becomes way more popular… which also fits with that even if you could whip up this usb3 charge port on the board, odds are that there won’t be a usb3 charger where you are staying. maybe next year there will though!

I wrote BMS features (charging, faults and warnings management), LTC auto-diagnostic, modified the PC interface to display faults and parameters that I added.

I also started to implement VESC comm. through CAN to, as you said, tell the VESC to stop driving motor smoothly, and if overcurrent is still there (e.g. short on wires), then switch power off. But I let this project at this point and gave up.

That’s a pity because I saw so many great stuffs to do with this Battman/VESC duo ! :frowning:

Wow, sounds like you made it really far!

Also yeah, C-coding is a pretty useful skill… some even get paid for it :wink:

Did you get a chance to try using battman for real? did you run into any of these heat issues yourself? (My guess is, balancing got very hot, charge circuit possibly when using high current, switch quite OK?)

1 Like

Well, I guess it is not really that hard…:

or this

or this

they all claim to get up to 20V, 5A… I guess it cant be that hard to get them from default 5V 2A to 20V 5A…since they are really made for that…

EDIT: there is even a git example how to do it with the last one:

Haha, damn. I stand corrected! Thanks!

Edit, that last one seems like the easiest to use, though pretty pricey… it does seem like the other options will require some more work/extra bits around them, with an arduino or similar. might not be a bad thing in the end since you probably need something to see to that the charger waits for the full 20V to be available before starting up, but it does add complexity

Edit again, i’d suggest this one! PD buddy

I built a 12S1P pack using old an brand-mixed cells (in order to have a high drift behaviour and thus highlight the balance skill of this BMS). But I read @SimosMCmuffin just before connecting it to the Battman. AFAIK, the heat isue was on the Step-up/down converter (the coil itself).

Yeah, C coding wasn’t a waste as I’m now able to write my own VESC firmware for adding more features. :slight_smile: