Guys, since you mentioned me (and the circuit), I believe I should explain something more.
Most of the times, the circuits/articles I present aren't "engineered" (i.e. the best solution for production), rather are just an alibi for teaching how to solve small problems.
I'm strongly convinced that saying "use this chip" to the users, they won't learn anything. Instead, facing the problem and solving with the most understandable way, everyone can learn "walking by him/herself".
So, I wouldn't use a similar circuit for an high-end project, but for a home/hobby target is nice enough: it's unexpensive and reliable.
Facing the problem.
What's exactly the problem? Getting a Netduino-based circuit a more reliable life?
Well, upon this requirement, there should be *two* things to check: first off, watch at our application running, and secondly, check for any power failure. I mean take some emergency task when the power supply is falling down (e.g. save some important data onto the SD).
From my perspective, some subject to be controlled shouldn't be also the controller. Also, since the controlled device (i.e. the mcu and others) is a relatively complex circuit/software, the controller should be as simplest as possible, just to minimize the possibility to fail itself.
The internal watchdog may be suitable, but (1) you have to modify the firmware (I don't like this way) and (2) that would solve the MCU reliability but takes no account on any external circuit connected to. Also, there's no way to alert the MCU itself when the power (Vin) is falling.
An external MCU (e.g. ATtiny).
Of sure may be a solution, but is it reliable? Bear in mind the complexity of a even tiny MCU compared to a simple counter: I believe there are 10k times more gates inside. This leads to a lesser reliability. So, what? just watch at the watcher? Nonsense...
Well, if the extra MCU is meant to serve other services, that might be a decent solution though.
A specialized watchdog (e.g. MAX823).
That's much better: there are plenty of specialized chips, which performs both timeout and power-failure checking. They are very simple internally, optimized for reliability and -because they're externally wired- you can glue then to any kind of circuit, even pretty complex.
I would surely consider this option for a professional project.
Instead, there's a major problem.
The Netduino performance (and the bootstrap time) is relatively long compared to the typical periods of a watchdog. Take a look at the MAX823 for instance: it yields a 1.6s timeout, then resets the board. Now, it depends on your app, but it seems to me that 1.6s for getting a complete steady in the NetMF is too short.
Same consideration for a power drop. When the Vin begins to drop, may fall within hundreds of millisecs. Our Netduino app won't be able to handle an interrupt and save some important data into the SD in so short time.
Finally, the original project in my mind was pretty wider. The project should have added by a RTC, which had two purposes: the first one is obviously giving the exact time, and the second feature is to wake the board periodically. That's for power-save purposes.
Since the circuit would have been pretty complex (for an unexpert user), I decided to turn for just the watchdog section, which is very simple.
Hope it helps.
Cheers
Biggest fault of Netduino? It runs by electricity.