Electronic – simple, energy efficient circuit to make single IR LED blink


I'm using a 850nm IR LED (spec sheet), and in order to extend my battery life, I'd like to make the LED blink (UF 1.9 V, IF 100 mA).

I found a couple of links 1, 2, 3 but they either a) require two LEDs that blink in alternation, or a bunch of resistors that will most probably just drain my battery even quicker (will they?).

Therefore my question:

What's the

  • most simple
  • energy efficient
  • smallest possible (ideally not bigger than the battery & LED)
  • ideally operated with 3V or less.

circuit to make an IR LED blink?


  • I'd like to blink the LED 10 to 30 times per second. But We can start with 2 to 5 times.
  • the LED should be on for 10ms (at least) or 100ms (at most). Depending on blinking frequency.
  • I'm trying to make the circuit as small as possible (size and complexity) cause I wanna use it for a tracking device.
  • I'm powering the LED with a 3V CR2032 battery and I was hoping I could extend the battery life by making the LED blink instead of having it on all the time.
  • I can currently run the IR LED with the CR2032 battery for 4 hours. Extending that time to 8 or maybe even 12 hours would be great.

Best Answer

As several of the answers so far have dispensed with the 100 mA LED drive current requirement, limiting it instead to the 20 to perhaps 50 mA that typical microcontrollers will safely sink or source, here are some minimal, high efficiency solutions within the same current constraints.

Bowin M34-2H is a 3-pin part that will flash an LED at 2 Hz with 25 mA current. It contains an internal RC oscillator, with +/- 20% tolerance, hence not terribly precise. The pin-out and application circuit from the datasheet:

This part offers 2 Hz at 1/8 duty cycle. Other parts in the series:

  • M34-1L or M34-1H or M2581 : 1 Hz , 1/8 duty cycle
  • M34-2L or M34-2H : 2 Hz , 1/8 duty cycle
  • M34-4L or M34-4H : 4 Hz , 1/8 duty cycle
  • M34-8L or M2585 : 8 Hz , 1/2 duty cycle

The H parts drive 25 mA, while the L parts are for 16 mA.

Alternatively, for programming of the flashing pattern, and even higher efficiency, the NXP PCA9901 is an option: Quiescent current < 0.75 μA!

This 8-pin TSSOP part can be "trained" with a sequence of up to 3 blinking elements, and will then continue to blink as trained. The programming connection can be removed after training, and this programming is achieved via a single signal line from any standard microcontroller, using the 1-Wire protocol.


The single resistor in the schematic sets the LED drive current, between 1 mA and 20 mA. It itself does not carry significant current (less than 1 μA), so will not drain the battery noticeably.

Given the choice, the NXP part would be a recommendation, both because it is from a major manufacturer, and because the blink pattern can be optimized down to 1/1024 duty cycle if needed, and cycle time varied across a wide range, covering the OP's entire blink-rate range of interest. Lower the duty cycle, longer the battery will last.


Adding another simple, highly efficient flasher IC to the mix:
NTE876 LED flasher / oscillator operates from 1.15 to 6 Volts, delivers up to 2 Volts to the connected LED at up to 45 mA, and needs an operating current of merely 0.75 mA maximum.

This is an 8-pin DIP IC, though SMD equivalents are available too. It just needs one external capacitor for timing adjustment, the R of the RC oscillator is internal. The 45 mA LED drive current brings this closer to the current goal stated in the question.