I'm wanting to make a simple low battery indicator for 12V SLA battery - just an LED that lights when the voltage gets below a certain level. What sort of power would a circuit like this http://www.electroschematics.com/9010/12v-lead-acid-battery-low-voltage-indicator/ draw from the battery (when the battery is charged)? Is it worth considering a different circuit that uses less power?


3 Answers 3


That is exactly the wrong approach. What you want is an LED which is on when the battery is good. Even better, you want an LED which is not powered by the battery.

Using your approach, if for some reason the indicator is ignored then the LED will eventually completely discharge the battery, and with SLAs that is A Bad Thing. Granted, this can take a while. If the LED is the primary current drain, then a 5 mA LED current will waste .12 Ah per day, or about an Ah per week.

If you must do it with an LED which is on to indicate low charge, at least make the LED blink rather than be on steady. A flash rate of .2 seconds on every 2 seconds will draw 1/10 the average current as a steady LED, and will arguably be more noticeable.

  • \$\begingroup\$ Agreed about the discharge problem, but need visibility here - a normally on LED turning off won't be as noticeable as the other way around. So a separate battery powering the circuit is worth considering - how would you implement this? As the a blinking LED - would an off-the-shelf blinking LED do the trick? \$\endgroup\$
    – askvictor
    Commented Jun 14, 2015 at 3:41
  • \$\begingroup\$ @askvictor - Does your LED need to be visible in sunlight? \$\endgroup\$ Commented Jun 14, 2015 at 3:50
  • \$\begingroup\$ Nope, it's a dark room so it can be very low brightness. \$\endgroup\$
    – askvictor
    Commented Jun 14, 2015 at 3:52
  • 1
    \$\begingroup\$ I agree with you "philosophically" but I think that turning on an LED when the battery is good is worse because it will drain it for no purpose. One can usually tell a battery is good enough since what is powered is working. The blinky thing is the best option IMO. \$\endgroup\$ Commented Jun 14, 2015 at 9:07
  • \$\begingroup\$ @askvictor - I'd use a CMOS comparator to detect the low voltage level, and use the level to reset a CMOS version of the 555 to drive an LED with the desired blink rate and duty cycle. The comparator would need to be set up with positive feedback. \$\endgroup\$ Commented Jun 14, 2015 at 21:36

I'd be looking to make a LED blink when the battery is low. You can reduce the current consumption dramatically with a few simple tricks.

The easiest method involves throwing a small microcontroller at the problem.

Something like one of the small PIC 16F family would work well. The approach would be to have everything that consumes current powered OFF until it was time to grab a sample. Because this is a simple battery dead indicator, you should be able to get away with taking a sample every few seconds. The PIC watchdog timer is good for this sort of thing - the time period isn't accurate but it doesn't have to be.

First: you need an accurate voltage reference and a comparitor. Some small PICs have both a decent voltage reference and comparitor while many more have only a comparitor. You would need to choose an appropriate voltage reference to feed the comparitor.

If you are using an external voltage reference, power it from one of the PIC i/o pins. That way, the reference isn't consuming current when not needed.

You can use another i/o pin to shift the sample voltage to add hysteresis. What I mean by that is that you will need a voltage divider to feed the input of the comparitor, You can use a PIC i/o pin set up as open-drain with a series resistor to shift the sample voltage down. The i/o pin is either set as Input or as Output and Low. The pin is never allowed to be Output and Hi.

The voltage divider that brings the battery voltage down to the proper level for the comparitor needs to be high-value resistors so a to minimize the current consumption of the divider network. I would also add a bypass cap to the output of the voltage divider.

You will power the PIC from an extremely-low quiescent-current regulator. You can get suitable regulators with Iq down in the low uA region. They aren't very accurate, but they don't have to be because you are using separate accurate voltage reference.

Flashing the LED can be extremely power-frugal if you use a capacitive-discharge technique. What you would do is to use a large-value resistor to charge up a capacitor, then use a small MOSFET to connect the bottom end of the LED to ground through the appropriate current-limit resistor. The energy stored in the capacitor gives you a really nice bright flash of light but the average current consumption can be very low. The trade-off is how often you flash the LED vs how bright it is.

The reason for using the MOSFET to drive the LED is that the capacitor will charge up to the battery voltage, which is significantly higher than the PIC operating voltage.

You will change your sample time to be faster if desired when the indicator is supposed to be flashing. A single flash every second or so is probably good.

The final trick that you can do is to actually disconnect the voltage sample input from the battery if needed. This does require a few extra parts and may not be worth the effort, especially if the battery is of a decently-large size.


AlfaZeta supplies an uncommon type of component called a flip-disc, which is a mechanical component that toggles between two indicator modes using a short pulse of current. In use, it draws no current or voltage whatsoever! For the smallest model, the 30NR (or, with a protective capm C30NR), a 1.5ms pulse of 4.5V@350mA is sufficient to toggle state.

This may seem like a large amount when your circuit is dying, but it may be stored in capacitors for later use. One potential difficulty is that these indicators carry state outside of your program, so you will want to have a default setting during power on or off. The direction of current determines the state, so it is easy to set on or off. For microcontrollers, consider using the 30ND, which has a common anode (ground) to protect your output pins from damage.

The other option is to use an led, and flash it to save current usage. I found in experimentation that the longest you should wait between flashes is approximately 5 seconds. If you've ever tried checking a smoke detector, you'll know how difficult it is to confirm flashes that are longer than 5 seconds. 3 seconds between flashes demanded very little attention to confirm. You can get current as low 0.07mA by using a bright 10ms flash every 3 seconds at 20mA.

It is possible to build your own electromechanical indicator, though it may be difficult to ensure reliable behaviour and using a motor is overkill in small circuits.


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.