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 '13 at 18:00

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 '13 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 '13 at 18:57
  • \$\begingroup\$ @Samuel remove R3 too \$\endgroup\$ – yogece Oct 21 '13 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 '13 at 19:07
  • \$\begingroup\$ let us continue this discussion in chat \$\endgroup\$ – yogece Oct 21 '13 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\$ – Olin Lathrop Oct 21 '13 at 18:46
  • \$\begingroup\$ okay master i delete my comment \$\endgroup\$ – yogece Oct 21 '13 at 18:50
  • \$\begingroup\$ Are you referring to the dual 556 or jesting? \$\endgroup\$ – Samuel Oct 21 '13 at 19:10
  • \$\begingroup\$ Its almost Halloween time :) \$\endgroup\$ – HL-SDK Oct 21 '13 at 20:03
  • \$\begingroup\$ 555s are evil. It's nearly 2014, man! \$\endgroup\$ – dext0rb Oct 21 '13 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 '18 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 '13 at 19:21
  • \$\begingroup\$ @ThePhoton if so then the above should be modified;let the asker say something \$\endgroup\$ – yogece Oct 21 '13 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 '13 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 '13 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 '13 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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