Electronic – How to make a LED flash twice every second

555led

I know that I can make a LED flash using a 555 timer. How may I make it flash twice every second?

What I am trying to do is to make the LED flashes two times, then wait a second, and then flashes two times again. In pesudo code is something like this:

while (1) {
    LED_BLINK_ONCE();
    wait(10ms);
    LED_BLINK_ONCE();
    wait(1000ms);
}

Best Answer

At first, the question was interpreted as "how can I make a LED flash with a 2Hz frequency?" The answer is below. The question has been changed, making this answer insufficient.

In short: no, you cannot do what you want using a single NE555. What you can do is using more than one NE555:

  • One pulsing at 1Hz with a very low duty cycle (20ms/1s)
  • Another one pulsing at 10ms, but only when the first one is on (using the chip's reset pin)

However, you see, this isn't very neat. To do such a specific blinking pattern as you want, you should use a small microcontroller. Olin's answer here shows the schematic, you'll have to write the code yourself.


The solution to get an LED to flash with a frequency of 2Hz:

You'll want to use the 555's astable operation. From the datasheet:

The frequency (you want 2Hz) can be adjusted with \$R_A + 2R_B\$ and the capacitor at pin 6. For a 2Hz operation you can use (approximately) \$R_A + 2R_B = 100\text{k}\Omega\$ and a capacitance of \$10\mu\text{F}\$ (see figure 14 of the datasheet):

enter image description here

They also give a function for the frequency:

$$f=\frac{1.44}{(R_A+2\cdot{}R_B)\cdot{}C}$$

With that formula, you can pick the values you want, to get a frequency of 2Hz.