I am trying to build a 1 cell LiPo battery charger using only analog components. That is, I don't want to use a specific LiPo battery charging IC. (I know it would be simpler and better with this method.) Instead I want to use op-amps, voltage regulators etc. I want to know if it is possible to build a constant current-constant voltage charging circuit using this method, since while I was researching most people were using specific ICs or only doing constant current charging.

If you think it's possible, can you guys give me some ideas? I was thinking of using a Howland current source, but I don't know how I would set the max voltage using this method.

Any help is greatly appreciated :)

  • 1
    \$\begingroup\$ How come you are prepared to use op-amps but not prepared to use a proper chip? \$\endgroup\$
    – Andy aka
    Commented Nov 14, 2020 at 17:12
  • \$\begingroup\$ I need to build it fast, hence I need to use what I have around \$\endgroup\$ Commented Nov 14, 2020 at 17:15
  • 1
    \$\begingroup\$ how many series elements in the lipo pack? supply voltage? Note if you use a MCU all you need is a current source driven by your MCU DAC, but you need to ensure the accuracy of the micro's ADC reference is sufficient across temperature wrt desired accuracy on the end of charge voltage \$\endgroup\$
    – bobflux
    Commented Nov 14, 2020 at 17:32
  • 1
    \$\begingroup\$ As you reach a voltage level you need to swap the output of the CC to be a CV source or, you can just limit the voltage to some value (I think) but you need to define numerically what you want to happen because my memory on charging LiPos isn't great. Add a picture to your question. I'm sure you can find one using google. \$\endgroup\$
    – Andy aka
    Commented Nov 14, 2020 at 17:49
  • 1
    \$\begingroup\$ Only analog components and an MCU? \$\endgroup\$
    – ocrdu
    Commented Nov 14, 2020 at 17:58

2 Answers 2


I don't want to use a specific LiPo battery charging IC... If you think its possible can you guys give me some ideas?

Yes, it's possible. All you need is a voltage regulator with current limiting. You could do this with a regulator IC (switching or linear) which has a current limit feature, a 3 terminal regulator with a transistor to provide current limiting, op amp with Zener diode and external pass transistor etc., or a totally discrete design using only transistors and resistors.

However there are some provisos you need to be aware of:-

  1. You must limit the voltage to 4.20 V maximum, with accuracy of +-0.03 V or better. Lower voltage is OK (it just won't get as much charge into the battery) but higher voltage will damage the battery - possibly causing it to catch fire and blow up!

  2. Charging current must not exceed the maximum specified for your battery. Generally this is somewhere between 0.2 and 1 'C' (battery capacity in Ah).

  3. If the battery is discharged below 3.0 V then the charging current should be reduced to ~0.1C or less until the voltage rises above 3.0 V. If your circuit cannot do this then you must not use it to charge the battery if it gets this low.

  4. If the charger will be used in 'float' operation (continuously holding the battery at full charge) you should charge to a slightly lower voltage, eg. 4.10 V. Capacity will be reduced, but the battery will have longer lifespan.

  5. For added safety the battery should have a PCM (Protection Circuit Module) to prevent overcharging etc. Some batteries have this built in. For those that don't you could add one to your charger circuit.

You could add all the features of a dedicated charger IC using generic parts, but the circuit would be quite complex. Sometimes this is worth it, especially if the battery is too small or large to suit available charger ICs.

A simple CVCC 'charger' may also be worth it if you don't mind doing to some work yourself (check the battery voltage before charging, disconnect it when charged, don't try to charge a battery which is not working properly or physically damaged), but is inherently more dangerous. That means you are responsible for making sure the rules are followed. Do not apply such a design to a commercial product or one that untrained people may use!


Are you against/avoiding using any digital means of control? A tiny microprocessor would make it easier to control every aspect of the circuit. A set of sensors that measures the LiPO (or any other chemistry that fits in your voltage range) status and proportionally drives transistor biases or PWM signals into a MOSFETs to control charge voltage/amperage would give you quite a bit of control.

You could easily change cell types and charge rates if you have chemistry that does better when slow, maybe maximum charge time for dead cell detection. There are inexpensive SoC that speak MicroPython these days, and you can make a charging curve fitted to the manufacturer's exact charging specs.

Without this control, I think you will need a nice set of trimmer pots that allow you to adjust various aspects like starting/ending voltages/currents.

Yes, it can be done, but for the sake of simplicity, components from the TTL Revolution (1974?) or later might be easier in a lot of ways.

  • \$\begingroup\$ I will be using an MCU (PIC18F) but I still need the constant current-constant voltage circuitry right ? \$\endgroup\$ Commented Nov 14, 2020 at 17:41
  • \$\begingroup\$ Ah sorry, yes, this won't be very fast to implement. Think carefully before charging LiPO without a very good circuit, unless you do it in a fire and explosion proof container. \$\endgroup\$ Commented Nov 14, 2020 at 17:42
  • \$\begingroup\$ Yeah, look at application notes for the existing charging chips and you might find the right supporting circuitry. It's kind of like an audio circuit of mixed amplifier classes. You can also use sensors and actuators that work via I2C or SPI control, that might help with design since you can ignore/fudge some of the early maths. \$\endgroup\$ Commented Nov 14, 2020 at 17:44

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.