I am trying to get a single pulse of 10 milliseconds on the output of my 555 timer. I following is my schematic:

enter image description here

I am supplying 12 V for Vcc. The value of Resistor R and capacitor C is 100 ohms and 100 microfarads.If my trigger switch is pressed and let go, I get a 10 millisecond output. The problem I'm getting is that if my trigger switch is pressed for a long time, the square wave I get always stays on at 12 and doesn't go down after 10 ms which isn't something that I want since I want to replace my trigger switch with an optocoupler so I really want my output to only stay high for 10 ms. Is there a way around this? How can I get a 10 ms square wave even when my trigger switch stays pressed for a long time?

  • \$\begingroup\$ Sounds like you want a "one-shot." Is that it? If so, I think you may want a capacitor in series going to pin 2 where the wire is now at. And probably a resistor pull up from pin 2, as well. Something like that, I think. \$\endgroup\$
    – jonk
    Commented Jul 22, 2021 at 20:07
  • \$\begingroup\$ Your circuit is designed to hold the output high as long as the input trigger is high, and the one-shot period of 10ms begins once it's released. \$\endgroup\$
    – Mitu Raj
    Commented Jul 22, 2021 at 20:10
  • \$\begingroup\$ See this answer - electronics.stackexchange.com/questions/338336/… \$\endgroup\$
    – HandyHowie
    Commented Jul 22, 2021 at 20:16
  • \$\begingroup\$ Does this answer your question? Timer with fixed input \$\endgroup\$
    – brhans
    Commented Jul 22, 2021 at 21:32

2 Answers 2


You need to protect the trigger from being asserted for longer than your 10ms output pulse.
To do this, you can make your switch trigger produce a narrow pulse using some R and C parts.


simulate this circuit – Schematic created using CircuitLab

Circuit Operation
When SW1 is open, then C1 is discharged via R2 and output is high.
When SW1 is closed, at \$t_0\$ C1 acts as a short and output immediately goes to zero. Then C1 charges through R1 and you get the RC rising edge. If SW1 is closed forever, then the output voltage will be the voltage divider of R1 and R2 since C1 will go to open circuit as it is fully charged. (See the glitch around 11ms on the graph.) Once SW1 is re-opened, then the voltage will go all the way high (12V in this example) and C1 will discharge through R2.

The green trace is what the signal looks like on the OutputPulse. Run that to the trigger (pin 2) input on your circuit.

enter image description here

  • \$\begingroup\$ Hi, why R2 is needed here? Is it there for self discharging of C1? \$\endgroup\$ Commented Jul 23, 2021 at 4:43
  • 1
    \$\begingroup\$ @MeenieLeis See the update for circuit operational description \$\endgroup\$
    – Aaron
    Commented Jul 26, 2021 at 13:04

An easy way is to edge-trigger the input and threshold after leading-edge trigger for the duration.

Above, I only used 0.1 uF caps with 1k,1k, 100k. This gives a rapid re-arm for next trigger event.

Normally you would define every parameter with tolerances for everything. e.g. Setup, & hold times, non-retriggerable, re-arm time, dead-time. etc You do this before choosing the configuration or the design.

However, if you had a tight tolerance, then there are more precise ways, than this analog design.


Your Answer

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

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