I would like to design a "safety" device able to tell me if a 3 parallel Li-ion cells module is voltage balanced or not.

EDIT (after @winny's comment): It’s needed if the user connects cells with different SOC/voltage, for e.g. if the cells are easily removable from the battery pack (in order to be easily replaced if needed).

Expected functionalities

N.B. Here I present the full functionality I would like to perform at the end in order to give you the global overview BUT this is not a DO IT FOR ME question. I just ask help for detecting the anomalies (not balanced cells and reversed cells) and then close a switch (starting from that, I will probably succeed in light some LEDs myself, hopefully...).

Considering 3 cells C1, C2 and C3 with corresponding voltages (potential difference at cell terminals): V1, V2 and V3:

enter image description here

  1. I want to detect if one of the 3 voltage differences (i.e. V12=V1-V2, V13=V1-V3 and V23=V2-V3) is higher than a threshold Vmin (e.g. Vmin=0.01V).
  2. If yes then light a red LED corresponding to the not balanced cells (at least 2 LEDs).
  3. If no, then close a 3 normally open switch contacts in order to connect all the cells in parallel and to allow current flow from the parallel module (global module current around 20 A max).
  4. Also it would be interesting to check if one cell voltage (e.g. V1) is negative in order to detect a possible cell reversion by the user. So, if the 3 cells are well balanced but V1 is negative, that means: all the cells are reversed and so don't close the switches and light the 3 LEDs. Else, if one cell is reversed, it should be detected at step 1.

My questions are:

  1. Is it possible to design this kind of device with few elementary and cheap components (e.g. op amp, resistor, diodes, transistors, etc.) ? Again, I don't ask you to tell me how to design the full functionality but for example if you can tell me how to close a switches after detecting the anomalies (not balanced cells and reversed cells), it will be perfect for me
  2. Do you know about a commercially available devices which do quite the same (or could be easily adapted or twisted)?

First naive pseudo-proposal

As neophyte, I thought use an op amp as differential amplifier in order to detect the voltage difference and then close a switch. I fund this kind of configuration which do closely what I want to achieve for one voltage comparison (see explanations at the end):

enter image description here

The problem for me is the need of a lot of components (ressitors, diodes, transistors, etc.) just for one voltage comparison. So I need 3 times this circuit for the whole detection... Any idea of a much more simpler solution?

Circuit explanations (from here)

Here the circuit above acts as a light-activated switch which turns the output relay either “ON” or “OFF” as the light level detected by the LDR resistor exceeds or falls below some pre-set value. A fixed voltage reference is applied to the non-inverting input terminal of the op-amp via the R1 – R2 voltage divider network. The voltage value at V1 sets the op-amps trip point with a feed back potentiometer, VR2 used to set the switching hysteresis. That is the difference between the light level for “ON” and the light level for “OFF”. The second leg of the differential amplifier consists of a standard light dependant resistor, also known as a LDR, photoresistive sensor that changes its resistive value (hence its name) with the amount of light on its cell as their resistive value is a function of illumination. The LDR can be any standard type of cadmium-sulphide (cdS) photoconductive cell such as the common NORP12 that has a resistive range of between about 500Ω in sunlight to about 20kΩ or more in the dark. The NORP12 photoconductive cell has a spectral response similar to that of the human eye making it ideal for use in lighting control type applications. The photocell resistance is proportional to the light level and falls with increasing light intensity so therefore the voltage level at V2 will also change above or below the switching point which can be determined by the position of VR1. Then by adjusting the light level trip or set position using potentiometer VR1 and the switching hysteresis using potentiometer, VR2 an precision light-sensitive switch can be made. Depending upon the application, the output from the op-amp can switch the load directly, or use a transistor switch to control a relay or the lamps themselves.

  • 1
    \$\begingroup\$ If they are parallel, they won’t be unbalanced. Only exception would be if you charge or discharge a very high current with one cell having significantly higher ESR, and immediately open your relays to measure. Wolf over at secondlifestorage.com did measure just that if you are interested. Apart from that, they simply won’t become unbalanced. \$\endgroup\$
    – winny
    Jan 19, 2023 at 11:25
  • \$\begingroup\$ Yes, I should precise that it’s needed if the user connects cells with different SOC/voltage for e.g. If the cells are easily removable from the battery pack, my mistake… Could you send me the exact link you cited (in comment or chat) cause I was not able to find the page? Thanks a lot for your comment ! \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 12:13
  • \$\begingroup\$ But user can't connect and use cells with different voltage. Battery packs are not meant to have switchable cells because of this. Any imbalance and you can't close the switch. So don't allow switchable cells and you don't need circuit to detect imbalance and product will be usable. Not allowing imbalanced cells becomes a problem of how to balance them for use, and how closely they must be balanced so that connecting cells in parallel does not result in amps of current between cells. Allowing customers to swap cells in a pack is just a safety risk. \$\endgroup\$
    – Justme
    Jan 19, 2023 at 13:57
  • \$\begingroup\$ Loose cells that are identical in specification and brand and lifetime MAY be able to be dealt with as you propose. Any differences in even usage history and true balance may not be achieved. \$\endgroup\$
    – Russell McMahon
    Jan 20, 2023 at 19:20
  • \$\begingroup\$ I see in comments that you mention 'different capacity cells'. You may be able to devise some sort of charging regime that 'sort of works' with non identical cells, but it's usually not a good idea. If eg making packs from used cells then matching cells as well as you can is 'a very good idea'. \$\endgroup\$
    – Russell McMahon
    Jan 20, 2023 at 19:24

3 Answers 3


I think there is a problem with your approach: If the cells are at a different voltage, then the switch doesn't close and the user cannot use the product.

Instead, let me propose a completely different approach that, instead of just detecting the unbalance, it solves the problem.


Each cell has its own DC-DC converter (such as a step-down converter) with low-voltage cut-off (to protect its cell) and with current limit (to ensure load sharing if the load draws more current than an individual converter can provide). Advantages:

  1. It uses all the charge from each cell
  2. It accepts cells at different SoC without damage
  3. It works with any number of cells, 1, 2, or 3
  4. The load is powered by a constant voltage, regardless of SoC levels
  • \$\begingroup\$ It uses all the charge from each cell: that means that each cells will be discharged "completely" whatever if the cells have different capacities? Thank you very much for your wonderful answer !!! \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 13:54
  • 2
    \$\begingroup\$ Each of the converters needs an under voltage lockout to protect the cell from over-discharge. That is critical. The current sharing won’t happen unless there’s an active circuit to compensate tolerances out. Overall, this is an idea that could work but is way more complex than the conceptual diagram would indicate. \$\endgroup\$ Jan 19, 2023 at 13:54
  • \$\begingroup\$ @SylvainRigal Do not implement this circuit as shown, and make sure you fully characterize whatever solution you think implements this idea. You’ll find it’s not trivial unless you’re using regulators/switchers specifically supporting such an application. You probably should care about current sharing even if the load could be supported by a single cell. The cell life will be prolonged if the cells on average share the load. To do this right requires an a fairly complex circuit - there are many gotchas. \$\endgroup\$ Jan 19, 2023 at 13:57
  • \$\begingroup\$ @Kubahasn'tforgottenMonica I don't understand this sentence: The current sharing won’t happen unless there’s an active circuit to compensate tolerances out. Could you explain a bit more? \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 13:57
  • \$\begingroup\$ @SylvainRigal The voltage regulators are not ideal. On will try to regulate say 3.31V, another 3.23V, another 3.38V. The one with the highest output voltage will provide most if not all of the output current until it goes out of regulation or UVLO kicks in. These voltages will drift with regulator heating as well - the internal voltage references are heat sensitive. It takes careful design and characterization to determine that the temperature coefficients are self-compensating. By default they probably won’t be, so without an active circuit that forces equal current sharing, it won’t happen! \$\endgroup\$ Jan 19, 2023 at 14:02

The idea

The simplest solution is for the switches themselves to sense the battery voltage value and polarity and react accordingly.

The implementation

(Schottky) diodes can act this clever way.

Discharging. So my suggestion is to connect (as many as you want) batteries via decoupling diodes (diode OR) to the load.


simulate this circuit – Schematic created using CircuitLab

If there is a difference in battery voltages, the battery with the highest voltage will run first until it equals the next and then the last. A reversed battery will be disconnected.

Charging. And v.v., you can charge the batteries in this clever way by connecting the charger via reversed decoupling diodes ("diode expander") to (as many as you want) batteries.


simulate this circuit

If there is a difference in battery voltages, the battery with the lowest voltage will be charged first until it equals the next and then the last. A "little" problem is if there is a reversed battery since first it will be fully recharged:-(

More about diode properties

It is interesting to see what is this "magical" property of diodes that allows making so simple and attractive circuits. It can be explained "functionally", that is, without considering the internal structure of the diode.

"Comparing switch". From this conceptual point of view,

  • a diode can be considered as a combination of two devices - a comparator and a switch,
  • the comparator controls the switch,
  • the two terminals of the comparator are connected in parallel to the two terminals of the switch,
  • so the whole combination is 2-terminal as well.


simulate this circuit

Switchable voltage sources. The most interesting diode applications are where diodes are connected between voltage sources and switch them.

The simple rule is that when the source with the higher (positive) voltage is connected to the anode and the source with the lower positive voltage to the cathode, the diode connects them (assume the negative source terminals are grounded) and a current begins flowing from high to low voltage.

When a few voltage sources are connected through diodes to a common point, they begin to influence each other through the diode switches - the high voltage source turns off the other sources.

  • \$\begingroup\$ Is this solution compatible with a charge of the whole battery pack coupled with a dedicated BMS? Thanks a lot for your answer ! \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 17:02
  • \$\begingroup\$ @SylvainRigal, Just to clarify that the idea occurred to me at the moment and I still haven't realized it well; the backup power supply reminded me of that. IMO it will work also when charging cells; only the diodes have to be reversed. Another solution is to connect another diode OR with reversed diodes. Do you have a good understanding of how the diode circuit works or does it need more explanation? \$\endgroup\$ Jan 19, 2023 at 18:05
  • 1
    \$\begingroup\$ No sorry I don’t well understand how a diode OR circuit work… \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 18:15
  • 2
    \$\begingroup\$ @circuit fantasist: maybe if you show a schematic it helps the OP to understand better. \$\endgroup\$
    – datenheim
    Jan 20, 2023 at 17:21

This will never work properly.. it is generally accepted that you need a fet+load resister between each cell plus selection circuitry. This tends to add up to too many parts for small packs, which is why battery management chips exist. Search these out, the associated app notes are also a good education. Note that most of these are designed for packs up to 11 cells...so 3 cells may involve a little thought to use these.

If these are small cells, IMHO you are wasting your time with this approach. As long as you don't deep discharge a lithium cell or leave it on float so it gets hot, you won't see much degradation with 3 cells. Lithiums don't like: water, low/high temps..too long on float...The quality of the cells you buy also has alot to do with this.

  • \$\begingroup\$ Could you be more specific about the kind of "battery management chips" I could use in order to have enough information to find them on the net? Thanks for your answer. \$\endgroup\$
    – zetyty
    Jan 19, 2023 at 21:41

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.