This question already has an answer here:
I got into a bit of a challenge with myself, just for the sake of learning something about low power stuff.
I want to build a device that has basically two requirements:
- blink an LED every 5-10 seconds with a microcontroller
- last the longest time possible on a lithium button cell (something like a CR2032 or smaller)
The input voltage to the system will be ranging from 3 to 1.8 volts, so probably i want to pick a red LED so that the power is above it's Vf until the end. My microcontroller will consume around 10uA when active and 1uA when sleeping. So the LED will probably be the most power hungry component.
Now it comes the question: what's the most energy efficient way to drive it, to get the shortest visible pulse? Putting a resistor in series with the led would mean wasting a lot of power, even half of the power that goes into the LED. A constant current driver would waste as much power as the resistor plus some power to stay on itself.
The only solution that came to my mind until now is to connect the LED directly to the microcontroller and adjust the pulse duration until I can see it blinking. But will this be the most efficient way?
I don't care about simplicity or bom cost, it's a 1-off thing. Even an overkill circuit if it's more energy efficient than the resistor is better for me