I’m making a portable Bluetooth speaker and need some help with how to charge the battery pack.

I have made a 3 cell Li-ion pack with a BMS to get a 12V battery for the speaker. My thought was to charge the pack over USB with the help of a 5-12 Volt step-up converter. I’ve set the converter to output 12.6 Volts and then connected it to the charge points on the BMS. This all works and the battery is charging just fine. But...

The step-up converter gets really hot, even though I’m only using a 1 amp USB-port as the input power. What am I doing wrong? Or is that just how it is, that it gets really hot? I’ts so hot that it hurts when I touch it and I don’t feel comfortable putting it inside a sealed enclosure (the speaker box).

Please help me. Is it drawing too much current? How can I limit that? Or is my design just not possible?

Thanks! :)

  • \$\begingroup\$ Welcome to EE.SE! Please show your cirucit by a schematic or block diagram. Is the step up converter intended for battery charging with constant current? \$\endgroup\$
    – winny
    Commented Jun 22, 2020 at 11:24
  • \$\begingroup\$ It's not a good idea but also could be so dangerous to charge Lithium batteries with a constant voltage power supply. you should use a proper IC or circuit capable of managed charging a Li battery. Otherwise u would end up to an explosion! \$\endgroup\$ Commented Jun 22, 2020 at 11:31
  • \$\begingroup\$ Oh, I might have miss understood, but won't the BMS handle the charging? \$\endgroup\$
    – pythonnoob
    Commented Jun 22, 2020 at 11:42
  • \$\begingroup\$ My suggestion: forget about step-up converting the 5vUSB power. Instead use an IC like 4054 (power by USB) to charge your Lithium battery, then use the step-up convertor to raise the voltage of Li to 12v \$\endgroup\$ Commented Jun 22, 2020 at 11:44
  • 2
    \$\begingroup\$ A BMS is NOT intended to be used as a charger and is not safe for that purpose. It handles extreme conditions and a battery may be damaged inside the BMS's operating area. eg a BMS will allow you to charge a battery AT 4.2V/cell indefinitely. The battery will die. IF your source is 12.0V = 4V/cell the cells may not die BUT the current can be what the BMS considers safe - which MAY be in excess of what the cell makers wthink is safe. || Q1 What current is the BMS set to limit to? Q2: What is the cell Imax? \$\endgroup\$
    – Russell McMahon
    Commented Jun 22, 2020 at 12:04

3 Answers 3


It is not too difficult to design a real Good Charger to charge 3S LION or similar batteries using a 5V USB supply. There are two things you will have to keep in mind:

(1) Each cell has to be monitored “individually” so as NOT to exceed 4.2V

(2) When condition in (1) is satisfied than only you apply a charge pulse.

You will need a minimum of at least 6 tiny (3x N channel && 3x P channel) MOSFETS (or 3x NPN && 3x PNP transistors for switching in each cell at a time. You will also need a micro-controller with at least 4 Analog inputs and 6 digital outputs for Mosfets switches and 2 digital outputs for LED indicators. ( more I/O pins for anything especial you wish to accommodate.) Atmega328p (Arduino Nano) is very much suitable for this project since it has 8 analog inputs and over 13 digital I/Os. About 15 tiny resistors will also be needed.

Programming with Arduino IDE is very simple since it uses the best language ..C, C++. NOTE: this charger would be much better than anything you can buy in the market since here you will be doing all that is required by LIONs charging and checking the individual cells properly in sequence. Commercial chargers don’t normally do these activities since they use cheap devices with fewer I/Os

Also don’t worry about all the misinformation you find flowing on the web about ‘constant current’ etc, we have experimented extensively with LION type of batteries at our university and found that they charge very well with varying currents.

You don't need any voltage booster circuit since you will be working with individual cells separately and 5V USB supply is enough to charge a 4.2V cell. The micro-controller will take care not to switch any other than the required Mosfets. Programming these types of projects is a real fun.....

Good Luck with your project.


Li-ion cells need a current AND voltage limited source to charge them. Typically use a 4.2 V per cell voltage limit and a current equivalent to the one hour capacity - i.e. a 250mAh cell should be charged at 250mA. This is not trivial to build.

  • \$\begingroup\$ Yes. What I wanted to build (and thought I did), was a 12.6V 1A charger. But now i know I was wrong. I've been searching a bit but can't find exactly that on the forum. If someone could link to a charger build like that, it would be highly appreciated! \$\endgroup\$
    – pythonnoob
    Commented Jun 22, 2020 at 13:25
  • 1
    \$\begingroup\$ @Leo Your answer is OK as far as it goes. A competent LiIon charger also MUST cease charging when Ichg reaches some predefined fraction of Imax. Without this the cell will die rapidly. | Also, many / most cells do indeed specify C/1 CC charging but some (common enough) specify C/2. Adding some version of the above may be a good idea. Or not. \$\endgroup\$
    – Russell McMahon
    Commented Jun 24, 2020 at 9:39
  • \$\begingroup\$ If you set a voltage limit of 4,2v per cell charging will stop when the cell approaches that voltage. AFAIK you can trickle at silly currents forever on a 4.2V charged level cell. \$\endgroup\$
    – Leo Smith
    Commented Jun 24, 2020 at 21:58
  • \$\begingroup\$ @LeoSmith 8 months on :-) . || NO - A LiIon cell will die quote rapidly if floated at 4.2V. Unlike eg Lead Acid LiIon MUST be removed from charge when the CV charging current reduces to some fraction of I_chg_max. Good enough is 50% of Imax. Higher chg level and shorter cycle life = 25% of Ichg_max. At 10% you get road warrior charge level and who cares about cycle life. At float indefinitely cycle life plummets. \$\endgroup\$
    – Russell McMahon
    Commented Feb 23, 2021 at 10:37

You cannot charge a Li-ion battery with a constant voltage alone: you need to provide a constant current until the cells reach about 4 V, then you can switch to constant voltage charge. Essentially, your battery is forcing the step-up converter to provide as much current as possible until it goes into over-current protection or thermal protection. This may be bad for both the battery and the step-up converter. Putting your assembly in an enclosed box and leaving it unattended is a good way to start a fire.

There are step-up converters with both current and voltage limitation (example), so you should get one of those. Additionally, you must make sure your BMS provides charge balancing between the cells, so that you don't end up with one cell charged to 3V and another one to above 4.5V. Overcharging a Li-ion cell will start a fire too, and there will be no early warning like in the over-current case.

Many cheap BMS will simply cut the current if they detect cell under/over-voltage: if you have one of these, your battery will soon be in a deadlock state where the cell with the highest leakage is fully discharged, while the cell with the lowest leakage is fully charged, so neither charging nor discharging is possible.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.