I need as small a circuit as possible that can produce 2 pulses (say maybe 200 milliseconds long and apart) when I press a button. My thought was to use a 555 timer and set it up for my desired pulse (exact timing not important), but I don't know how to limit the number of times it happens.

basically I will have a momentary switch as a trigger, and when I press it I need to produce 2/3 pulses in order to control something. I'm totally open to a better way to do this as well, but the circuit must be small, and it is only controlling an low power signal to play/skip songs with an android phone, so anything passive would be even better so I don't need some kind of power.

  • 1
    \$\begingroup\$ The obvious answer would be "microcontroller". My personal favorite for this kind of project is the ATtiny13. When using sleep modes current draw is very low. \$\endgroup\$
    – jippie
    Oct 21, 2013 at 18:00

5 Answers 5


You can have one 555 timer be the enable for a second 555 timer. One in mono-stable mode and the other oscillating at whatever frequency your pulses need to be at. Then just make the first 555's single pulse long enough to contain how ever many pulses of the second you want.


simulate this circuit – Schematic created using CircuitLab

Note the pin numbers are not in the same spots for the two packages. This was drawn pretty quickly, so also check for errors :)

  • \$\begingroup\$ Freshman lab we made a circuit that did exactly this. Worked great! \$\endgroup\$
    – Bob
    Oct 21, 2013 at 18:24
  • \$\begingroup\$ @Bob I used a similar circuit for a bike light a few years ago. It does work quite well. \$\endgroup\$
    – Samuel
    Oct 21, 2013 at 18:57
  • \$\begingroup\$ @Samuel remove R3 too \$\endgroup\$
    – yogece
    Oct 21, 2013 at 19:04
  • \$\begingroup\$ @Samuel output of first ic555 is low in normal condition (un triggered) so you can remove R3 \$\endgroup\$
    – yogece
    Oct 21, 2013 at 19:07
  • \$\begingroup\$ let us continue this discussion in chat \$\endgroup\$
    – yogece
    Oct 21, 2013 at 19:26

The ancient 666 timer is klunky and large for this. A much simpler solution is a tiny microcontroller.

The PIC 10F200, which comes in a SOT-23 package, can easily do this job. All it needs externally is a bypass cap. That will be a lot fewer parts and will be a lot smaller than any 666 timer solution, especially since you will need two of them.

The micro can also then properly deal with switch bounce, which the timer circuit could have a problem with.

  • \$\begingroup\$ @yogece: No, I shouldn't have to look elsewhere for pertinant information to this question. Besides, whether he's "willing" or not doesn't change the fact that this is a good solution, especially to the problem as stated. He even said "I'm totally open to a better way to do this", and gave no reason a micro couldn't be used. \$\endgroup\$ Oct 21, 2013 at 18:46
  • \$\begingroup\$ okay master i delete my comment \$\endgroup\$
    – yogece
    Oct 21, 2013 at 18:50
  • \$\begingroup\$ Are you referring to the dual 556 or jesting? \$\endgroup\$
    – Samuel
    Oct 21, 2013 at 19:10
  • \$\begingroup\$ Its almost Halloween time :) \$\endgroup\$
    – HL-SDK
    Oct 21, 2013 at 20:03
  • \$\begingroup\$ 555s are evil. It's nearly 2014, man! \$\endgroup\$
    – dext0rb
    Oct 21, 2013 at 20:03

Add an electrolytic capacitor across the 100k resistor in figure 1b.

The capacitor is charged by a momentary closure of the switch and thus holds the reset pin 4 high for a while for the 555 to run for a while generating a number of pulses before turning low.

The 100k resistor discharges the capacitor slowly, the time it takes determines the number of pulses that comes out of the 555.

The value of capacitor will depend on the period & number of pulses you want to generate. You'll need to experiment.

Roughly RC = xT

Where R is your 100k, C is the capacitance value.

X is the number of pulses desired & T is period of a pulse.

  • \$\begingroup\$ Welcome to the site :-) (a) You said: "Add an electrolytic capacitor across the 100k resistor in figure 1b" but there is no "figure 1b" in the question. Therefore I guess you might mean what is labeled as "Solution 1(b)" in this answer? If so, then you need to redraw it or copy that image (with an appropriate attribution link) into your answer, to make it clear what you are referring to. (b) I know you said to experiment, but I suggest you address the issue of (comparatively large) electrolytic capacitor value tolerances in your answer too. \$\endgroup\$
    – SamGibson
    Nov 4, 2018 at 17:59

This question, and most of the answers, reminds me of when I had to put together a small regulated temperature chamber for testing a research ASIC.

I quickly put together a couple of transistors (one was the temperature sensor) and a few resistors to make a proportional controller and heater (an integral term would require a very large capacitor). I designed the thermal equivalent circuit to couple some of the ambient temperature to the sensor, so as to add a derivative term. So this was an electro-thermal PD.

It worked well and did its job. But in the end and after all of the time spent in mechanical tweaking and the lack of an integral term, I reached the conclusion: I wished I had just used a micro controller.

So. If you want to experiment and learn, go ahead. Put a few 555 together with some gates and tweak ahead.

But if you simply want to get the job done, use a micro controller. It will be one tiny IC and a couple of passives at most. It will consume less current and would be able to operate from a coin battery for years.


you could use @Samuel circuit(which uses two IC555's) or look at my solution it uses only one 555 and it is wired in the astable mode as long as you hold the push button it would be producing pulsesenter image description here

  • 1
    \$\begingroup\$ This doesn't answer the question that was asked. If the button isn't held long enough, less than two pulses are generated. If the button is held too long, more than two pulses are generated. The question asks for a circuit that produces exactly two pulses when the button is pushed. \$\endgroup\$
    – The Photon
    Oct 21, 2013 at 19:21
  • \$\begingroup\$ @ThePhoton if so then the above should be modified;let the asker say something \$\endgroup\$
    – yogece
    Oct 21, 2013 at 19:25
  • \$\begingroup\$ yeah, I do need an exact number of pulses, so this wouldn't work. Thanks for your input anyway! \$\endgroup\$
    – lkrasner
    Oct 21, 2013 at 19:27
  • \$\begingroup\$ @lkrasner the circuit proposed by "samuel" would re-trigger itself ;if you hold the push button for long.is that okay? or do you want to avoid re-triggering when you hold the push button long \$\endgroup\$
    – yogece
    Oct 21, 2013 at 19:33
  • \$\begingroup\$ retriggering would actually be a good thing as long as it was not too soon.as long as I can get a normal "press" of the button in without it going twice I don't think there would be an issue \$\endgroup\$
    – lkrasner
    Oct 21, 2013 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.