I have a digital IR-Sensor giving a low output while detecting something.

As I want to trigger something for a given time, I am looking for a circuit with an IC which can delay. As soon as the IR-Sensor pulls low, the IC shall output high for a certain time (around 1 second). Afterwards it shall pull low again. Then it shall stay low. If after the one second, the IR-sensor is still detecting something the delay IC should not output high, but wait until the IR-sensor stops detecting something:

enter image description here

Timing diagram for OP to edit.

         _____         _______   _______
Sensor        |_______|       |_|
               _____           _____
Output   _____| 1 s |_________| 1 s |___   

I am currently using an Arduino to do this job, but i was hoping to make the Arduino obsolete and to have a circuit doing the job. Any suggestions? Power consumption shall be low as possible. So maybe 555 timers if possible not. Thanks

  • \$\begingroup\$ Some PIR sensors have fixed or adjustable "delay time" and "blocking time". Perhaps you might find them useful: fr.aliexpress.com/item/…. \$\endgroup\$
    – tlfong01
    Commented Sep 16, 2020 at 14:06
  • \$\begingroup\$ Google the terms "monostable" and "one-shot". Applies to 555 timer as well. \$\endgroup\$
    – rdtsc
    Commented Sep 16, 2020 at 14:07
  • 1
    \$\begingroup\$ I've added a timing diagram for you. Please edit if it's not correct and make sure that it covers all your cases. (Mine shows that the output should stay on even if the trigger turns off.) Pay attention to capitalisation to make sure your post is clear and legible. \$\endgroup\$
    – Transistor
    Commented Sep 16, 2020 at 14:09
  • 1
    \$\begingroup\$ I can make a delay with a resistor and a capacitor. When it's not active (steady state) it consumes zero power. Never ask for "as low as possible" because then I propose that I design for you a pico-current-555 which consumes almost zero power but it costs 1 million Euros to design and make. A 7555 is a low current 555 which you can have for a few euros and which will have a low enough current consumption (but feel free to prove that you need an even lower current consumption). \$\endgroup\$ Commented Sep 16, 2020 at 14:12
  • \$\begingroup\$ Alright, thanks. Having now a 555 or a 7555 as a monostable circuit, how do i add the functionality of the output staying low until the IR-Sensor pulls high again. \$\endgroup\$
    – jacko91
    Commented Sep 16, 2020 at 14:44

2 Answers 2


A simple suggestion:

The same Arduino code that you are using now can run in a stand-alone microcontroller, instead of running in the microcontroller of the Arduino's board.

Perhaps it won't even be necessary to use a crystal, or other external components for the microcontroller.

The choice of the microcontroller is linked to the complexity and size of your code, and the number of pins of Arduino that you use now.

You can use the microcontroller ATMega328 (the same of Arduino Uno), or even, if your code is small enough, and the circuit use just a few of Arduino's pins, you can recompile your code and run it in a simpler microcontroller, like ATTiny85 (a small IC with just 8 pins).

  • \$\begingroup\$ fair point. I am thinking about putting the application to a small series batch. So I wanted to check if it is possible to get rid of burning bootloaders and flashing to code on the atmega \$\endgroup\$
    – jacko91
    Commented Sep 16, 2020 at 14:16
  • \$\begingroup\$ Yes, if your code is small and you use just a few MCU pins, your best option is using a single small MCU and programming it directly, with no bootloaders. Just yesterday, I wrote an answer listing some ways of programming a microcontroller. The option 4 is very simple, doesn't requires a bootloader, and there are a lot of information about it in the internet. \$\endgroup\$
    – mguima
    Commented Sep 16, 2020 at 14:20
  • \$\begingroup\$ I think this is a good suggestion. The micro-controller option allows you to change the delay easily without altering the physical circuit. You're also likely to encounter other unexpected behavior from a sensor which a micro-controller can mitigate. \$\endgroup\$
    – David
    Commented Sep 17, 2020 at 11:53

I know this thread is over 3 years old, but it looks like no one actually answered the question.

The standard 555 monostable circuit does not have the output independence you want. A true monostable has positive feedback that makes the output completely independent of any input changes during the timing period. U1A is an unused spare gate.

For a negative-edge trigger, the classic form is two NAND gates. Because your timing period is relatively long, better to use gates with a Schmitt trigger input stage such as the CD4093. If the system is running on 3.3 V or 5 V, a 74AC132 also will work. Note that it has a different pinout.

enter image description here

This circuit is based on the timing diagram in the first post. R1-R2-C1 set the output delay period. The monostable output rests high when not triggered, so an inverter is added to the output to agree with the diagram.

Because both ends of C1 are at or near GND, the resting current is just the C2 leakage current plus the static current of the gates. This should be less than 10 uA, and probably is closer to 1 uA. During the timing period, the C1 charging current adds to this. It can be reduced by scaling the timing components 10x.


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.