I am trying to create a charge circuit to charge nominal 3.7 V (range of 3.5 V to 4.2 V depending on state of health) li-ion battery from 5 VDC. I don't want to use specialized charging ICs if possible.

I have tried using discrete BJT to do it. But the overhead from the 5V VDC is not enough.

I figure there must be a way to do it since most portable charger are 5V output into the phone's 3.7 V.

Do I need a boost converter in between so I can create enough overhead to charge a nominal 3.7 V battery (since the max is 4.2 and if I use BJT, there is some voltage losses and I only have 5 V). I am trying to get at least 100 mA of constant current into the li-ion battery during charging stage.


  • 4
    \$\begingroup\$ This question is not only too board it is also a terrible horrible bad idea. Do not build your own lithium battery charger. Especially do not build your own charger not based on a proven IC. \$\endgroup\$ – Chris Stratton Sep 8 '19 at 0:46
  • \$\begingroup\$ Hi, I guess it is not really a great idea, but I am just trying to run some simulation and see how it works. Not necessary building. I was just wondering how does the whole charging process work. I understand the general process of the CC/CV process of lithium ion charging. But I want to understand what method does IC designers use to source over 1 A on a potential 4.2 V battery using a 5 volt V input. I have been looking up constant current sources but most of those have a huge voltage overhead to source moderate high current (over 10 volts) \$\endgroup\$ – helloguys Sep 8 '19 at 1:23
  • \$\begingroup\$ Presumably they use FETs but also remember you don't charge at high current when topping up to the cutoff, so the "dropout voltage" problem is simpler than you think. It's the rest of the problem that is harder and makes this unwise. \$\endgroup\$ – Chris Stratton Sep 8 '19 at 1:34
  • 2
    \$\begingroup\$ It cannot be stressed enough: DO NOT DO THIS. \$\endgroup\$ – Hearth Sep 8 '19 at 1:42
  • \$\begingroup\$ @helloguys The typical charging process is to use constant current until the voltage (which you monitor) nears 4.2 V per cell. Then you switch over to constant voltage and monitor the current until it declines to a few percent of the earlier constant current. Then you stop. That's the thumbnail. If you know how, 5 V provides enough overhead to get the job done. \$\endgroup\$ – jonk Sep 8 '19 at 5:38

A Lithium battery uses Lithium ions. A Lithium battery that is discharged to a voltage too low creates solid Lithium that is very unstable and flammable. A Lithium battery charger circuit is supposed to detect a low battery voltage then attempt charging with a very low current. If the voltage does not rise then the charging is stopped and an error is shown.

Your simple battery charger will probably cause the battery with a voltage that is too low to explode and catch on fire.

A Lithium battery charger circuit powered from only 5V probably uses a low-dropout voltage regulator circuit.

A Lithium battery charger circuit senses that the charging current has dropped on a battery at full charge then disconnects the charging since trickle-charging is bad.

Your simple battery charger will probably overcharge the battery continuously which is bad.

A simulator circuit will not smoke, explode or catch on fire but your simple circuit will when actually built.

| improve this answer | |

I have tried using discrete BJT to do it. But the overhead from the 5V VDC is not enough.

It could be if you used an appropriate circuit. Here's one that regulates current to 100mA at up to 4.4V on a 5V supply:-


simulate this circuit – Schematic created using CircuitLab

Q1, R1, and R2 act as a "Vbe multiplier" which drops about 1.2V (the exact voltage can be adjusted by varying the ratio of R1/R5). At 100mA Collector current Q2's Base-Emitter bias is ~0.8V, leaving ~0.4V across R3. 0.4V/3.9Ω = 102mA. Q2 has a saturation voltage of <0.2V at 100mA. 5V - 0.4V (across R3) - 0.2V (across Q2) = 4.4V maximum output voltage at 100mA.

This circuit alone is obviously not sufficient for charging a Lipo battery, as the voltage must not be allowed to go above 4.20V. So you will need a circuit which reduces the current when battery voltage reaches 4.2V.

The following circuit provides the required CVCC (Constant Voltage Constant Current) charge profile, using all discrete components except for the TL431 'Precision Programmable Reference' (I could have used a plain Zener diode here, but low voltage Zeners have poor regulation, and we need a very precise reference voltage):-


simulate this circuit

Q3 and Q4 compare the Lipo voltage to the reference voltage, turning on Q5 and reducing the charge current when battery voltage reaches 4.2V. C2 maintains high frequency stability if the battery is disconnected.

This circuit is about the minimum required to safely charge a Lipo cell, but dedicated charger ICs provide more features to enhance safety and cell life, including:-

  1. Shutting off completely when charge current drops to ~10% of the set current.

  2. Charging at a lower rate when voltage is below 3.0V, to prevent damaging a cell which has been deeply discharged.

  3. Monitoring battery temperature and turning off if it goes too high (a Lipo battery which gets hot during charging may be about to explode!).

  4. Detecting internal and external fault conditions.

  5. Providing status outputs to indicate charging mode etc.

You could add all these features using discrete components, but you would need a lot of them. With modern 1 chip solutions available at very low cost it's hardly worth the effort, except perhaps for learning about how such circuits work.

| improve this answer | |
  • \$\begingroup\$ There are also thermal limits on the device temperature for starting to charge and continuing to charge; the ICs I have used will not start to charge unless the temperature is 0C <= T <= 40C and will continue provided 0C <= T <= 45C. Failing to observe that rule can also incur the wrath of the battery pyrotechnic gods. \$\endgroup\$ – Peter Smith Sep 8 '19 at 15:37
  • \$\begingroup\$ Please excuse the late reply. Thank you so much Bruce! Very helpful response. \$\endgroup\$ – helloguys Sep 12 '19 at 0:44

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