Interesting read... (not sure if this is the right place though)

I think it was around Sparkfun, someone added this article about Watchdog timers. Being something that I've never seen brought up in Arduino, I thought it might make an interesting reading for some.

http://www.ganssle.com/watchdogs.htm

That is indeed an interesting read, thanks!

Just read that article - very thought provoking. Inspired me to checkout the '328's Watchdog

"ATmega48A/48PA/88A/88PA/168A/168PA/328/328P has an Enhanced Watchdog Timer (WDT). The WDT is a timer counting cycles of a separate on-chip 128 kHz oscillator. The WDT gives an interrupt or a system reset when the counter reaches a given time-out value. In normal operation mode, it is required that the system uses the WDR - Watchdog Timer Reset - instruction to restart the counter before the time-out value is reached. If the system doesn't restart the counter, an interrupt or system reset will be issued."

Not sure how I'll use it, or if the Arduino environment makes it easy to use - preferable for me! Give me a command I can issue in the code to keep it reset easily.

Not sure how I'll use it, or if the Arduino environment makes it easy to use - preferable for me! Give me a command I can issue in the code to keep it reset easily.

Keep in mind you need to be sure to use a arduino bootloader that is compatible with using the WDT. Some older ( & present?) versions will hang the whole chip is a endless WDT reset loop without ever leaving the bootloader and returning to the sketch that initated the WDT. The adafruit bootloader was the first to modify the BL so that wouldn't happen, but not sure which present day standard arduino BLs included that feature.

Lefty

I already used the internal watchdog. However in this cases I usually do not use the boot loader. If I am concerned about reliability the boot loader has to go down the drain. If I restart due to abnormal conditions I do not want to have any restart penalties. However the article is absolutely correct. Unless there are other circumstances (e.g. price) that force you to use an internal WDT an external WDT is a better option. On the other hand: unless you really understand what you are doing a WDT will not improve your circuits reliability at all.