Electronic – Extending battery life: Calculating advantage of adding more batteries

batteriesboostbuckled

I have a small 3 volt device with an MCU and 8 LEDs that I'm currently powering by two AAA batteries connected in series. With fresh batteries, I start out with about 3.2-3.3 volts and get very good brightness on my LEDs, they're almost brighter than they need to be. However after a couple of months the brightness drops off significantly (the LEDs only blink for an hour or so each day).

I had an idea to add two extra AAA batteries, for a total of four batteries and a voltage of 6 volts (6.4 volts starting out with fresh batteries). I would then use these with a buck-boost converter set to an output voltage of 3 volts. There are two things I am however really unsure about:

  • How do I calculate the battery life of this new 6V/buck-boost combination? I am assuming that the device would continue to function even when all four batteries output well below 3 volts, but how low can it go and still power the device? I assume I can never get more than double the battery life of what I have now with my current 3V setup?

  • Am I overthinking this? Maybe adding the two extra AAA batteries in paralell would be better. Does anyone have any experience?

Best Answer

As noted in the comments, the best solution is likely to use 2 AA in series as opposed to 2 AAA.


Let's start with the knowns. Your MCU is likely drawing negligible current, unless you have all sorts of peripherals on that you don't need (timers, ADC, etc), or it is directly driving the LEDs (which is typically a bad idea, unless they are not pulling much current from the I/O pins).

Using 2 series alkaline batteries given you a voltage rail of ~3V. Alkaline batteries are 1.5V cells, but fresh ones will almost always give you a tenth or so more voltage, hence your measured 3.3V rail. This will not last all that long.

LED Stats

Your specified LEDs are rated for 3.2V at 20mA. Note, you do not need to push 20mA through these resistors if you don't need them to be that bright. This is a common mistake with simple LED designs. Reducing the current to 10mA per string will give you nearly the same brightness with double the run time. LED luminance does not typically have a linear relation to current draw.

On the other hand, you could also pulse the LEDs from the MCU. Turn them on for 1ms at full current and off for 2 or 3 ms. You can play with this PWM duty cycle to see how long you can leave the LEDs off before you really notice the decrease in brightness. Pulsing LEDs like this will save current since they are only on a portion of the time, and they remain a bit cooler, increasing their lifespan and efficiency.

Of course, the only way to limit the current without using an actual current driver is with series resistors.

Are you using series resistors? You didn't mention it, and another common mistake in these simple LED circuits is to go cheap and forgo them. This almost always a bad idea, especially if they are being driven from MCU pins. If you are using resistors, you have even less voltage to drop across the LEDs, and there was barely enough to begin with.

Doubling the Bank

Putting 2 more series AAA batteries in parallel with the original 2 would theoretically double the capacity of the bank; however, this is also not a good idea. Batteries don't always play well in parallel, especially not cheap alkalines. Parallel batteries can work fine with charge and dissipation controllers, but you will always run the risk of unbalanced batteries trying to discharge into one another constantly.

This is not to say it won't work (I have seen plenty of store bought products doing this) it's just bad design, and it will not perform as well as you had intended.

Doubling the Voltage

Putting 4 AAA in series will double the source voltage. Using linear regulation, this gets you nowhere, but with a good switching regulator, this can increase run time. Even still, it is not as good as just increasing the battery capacity to 2 AA.

One thing you could do with an increased voltage rail is put a very cheap LDO regulator to drop the voltage for the MCU power supply, and power strings of 2 series LEDs with series resistor directly from the 6.4V rail. To control them, you can sink the current into the MCU pins (active low) rather than sourcing it from the pins. This will halve your current consumption and increase run time; however, you have doubled the number of batteries - a net gain of zero.


Again, if you can afford the excess size of adding 2 more AAA batteries, you should just use 2AA batteries from the start.