LM555 Watchdog for Arduino!

Published

Introduction: LM555 Watchdog for Arduino!

This is a simple schematic that allows the use of the chip LM555 as a Watchdog for the Arduino board.

Step 1: Needed Components

  • 1 x LM555
  • 1 x MOSFET IRF540
  • 3 x 100k Resistors
  • 2 x 10k Resistors
  • 1 x 100uF Capacitor
  • 2 x 1uF Capacitor
  • 1 x 0.01uF Capacitor

Step 2: Explanation

  • R1 and C1 define the timeout accordingly to the LM555 datasheet;
  • R2 avoids undershoot that otherwise would disrupt the LM555;
  • C3 guarantees that only transitions (beats) are considered as Hearthbeats;
  • R3 and R4 centers the heartbeat voltage at 2.5 volts, low enough not to trigger the MOSFET and high enough to enable the LM555 trigger;
  • The MOSFET IRF540 discharges the capacitor C1 whenever receives a positive beat, avoiding this way the LM555 triggering that would reset the Arduino;
  • C4 and R5 guarantee that the reset pin doesn't remain low when LM555 is triggered and its pin 3 goes LOW.

Step 3: How to Use

  • In the Arduino loop function, insert an if statement that will switch the Pin D4 HIGH and LOW alternately;
  • If for some reason the Pin D4 remains HIGH or LOW for more than the timeout, the Arduino RESET will be activated;
  • After the previous RESET activation, this Watchdog will remain inactive until a new low beat is received.

Step 4: Schematic

Here is the Schematic in PDF.

Share

    Recommendations

    • Clocks Contest

      Clocks Contest
    • Oil Contest

      Oil Contest
    • Water Contest

      Water Contest

    4 Discussions

    its great. i always looking for low price external watchdog. but does 23A mosfet like IRF540 needed here?

    I think a inexpensive BJT like bc517 will work.

    2 replies

    Hi, the problem with Bipolar Transistors is their typical Threshold Voltage of 0.6 volts, while the IRF540 has a typical Threshold Voltage of 3 volts... The LM555 had issues when its pin 2 was at 0 or 5 volts, in the first case it didn't triggered as expected while in the second case the LM555 depends on a new negative beat to restart the C1 charging each time it's discharged, in other words, it breaks the cycle!

    BTW, that's why I used the resistors R3 and R4, to center the heartbeat voltage at 2.5 volts, avoiding this way the problematic chip behaviour at 0 and 5 volts!

    Cool. There aren't a lot of projects that combine Arduinos with older IC circuits.