A simple low battery detection circuit with hysteresis

I recently found myself needing a simple circuit which could detect a low battery condition of a sealed lead acid setup, but also with a hysteresis function i.e. don’t re-enable the output until the battery voltage rises to a certain threshold.

The internet is practically exploding with low voltage detection circuits but many are quite complicated with exotic ICs and other fussy details.

Geez man. All it takes is a single comparator and a two resistors (three for hysteresis).


Okay so my circuit has a little more, that is because making something that is actually useful requires a bit of extra stuff.

With the above component values it will cut out at 11.2V and re-activate at 12V, which is good for most sealed lead acid batteries. There is also second comparator – this is purely acting as a logic inverter, because I needed a negative logic output. If you don’t need it, leave it out. One of the cheapest and most available comparators – the LM393 has two units anyway, so this works out well.

The main guts of the circuit is R1, R2, R3 & U1A. R4 & R5 are a simple voltage divider to get the input voltage inside of the 5V operating range of the comparator. R6, R7 R8 & R9 should be left as is.

The math

Because I’m using fixed resistors, I’ve worked backwards, from a ‘components first’ approach, simply working out the formula for the circuit then plugging a variety of E24 resistor values in until I got what I wanted. I find this easier than working from a ‘results first’ approach i.e. starting with the desired voltages, to then being told by your workings you need a whole bunch of resistor values that don’t exist!

  • VCC (Constant – 5.0): The output of the 78L05
  • VL (Constant – 0.1): The voltage the LM393’s output transistor can pull down to. Yours may vary. The expression containing this term can be omitted if you are happy to call it zero.
  •  VIl: The low battery input threshold voltage

    \[V_I_l = \frac{\frac{(R_2 \times R_3 \times V_C_C) + (R_1 \times R_2 \times V_L)}{(R_1 \times R_2)+(R_1 \times R_3)+(R_2 \times R_3)} \times (R_4 + R_5)}{R_5}\]

  • VIh: The high input threshold voltage i.e. re-enable output when voltage reaches this level

    \[V_I_h = \frac{\frac{(R_2 \times R_3 \times V_C_C) + (R_1 \times R_2 \times V_C_C)}{(R_1 \times R_2)+(R_1 \times R_3)+(R_2 \times R_3)} \times (R_4 + R_5)}{R_5}\]

If you wanted to adjust my thresholds, assuming a 12V setup, focus on R1, R2 & R3. Leave R4/R5 as is. If changing to a different voltage / type of battery, then R4/R5 need to be adjusted to bring the voltage at pin 2 within a 2-3 volt range.

Posted in Circuit snippets

5 thoughts on “A simple low battery detection circuit with hysteresis

  1. Thanks a lot. This really helped sort out the fact from B.S. regarding a rather important circuit. Building a cradle for Craftsman 20V battery and this really helped. Going to hook the output to a power PMOS or some such.

Leave a Reply

Your email address will not be published. Required fields are marked *