Electrical – Looking for external watchdog chip for Raspberry Pi 3 model B board

raspberry piwatchdog

I'm working on a project that has chosen an RPi3 model B board as part of the system. We previously had an external watchdog system that would cut the entire system power if the watchdog expired. This external watchdog system has been "optimized out" now due to various changes needed for UL certification, so I'm looking to add a dedicated watchdog chip to the Rpi. We already have a custom power supply board that plugs into the 40 pin expansion header (http://pi4j.com/pins/model-3b-rev1.html), so my plan is to do a new version of that board that includes a WDT chip.

The requirements are:

  1. Fairly long timeout, e.g. >= 3 minutes. We'd prefer to not have to modify the bootloader & kernel to pat the WDT while the system is powering up. We'd like to just pat the WDT from the main userspace application.
  2. Low cost. Looking for a chip level solution rather than some type of external module.
  3. The WDT can be easily patted from a GPIO line on the 40 pin RPi header
  4. Optional – some type of indication the WDT is about to fire. I've only used simple WDT chips before that reset the system when they expire. I'd be quite good if we were also able to log the fact in Linux that the WDT is about to expire, then have it reset the system.
  5. Optional – also can reset the RPi on brownout conditions.

It'd be great to hear if anyone else has made an external custom WDT for an RPi system like this and if anyone can recommend a WDT chip that can meet these requirements.

Thank you.

Best Answer

The "about to fire" indication can be implemented by delaying the reset pulse.

I suggest using a small microcontroller together with reset chip. The internal separately clocked hardware windowed WDT on the MCU can keep the micro honest and then you can use that to implement the reset. For example, you can implement a windowed WDT.

The implementation should be easy enough for anyone that thoroughly understands both microcontrollers and watchdog timers. It won't be much more than a couple of chips.

I assume you've already considered the RPi internal hardware WDT and found it wanting, but you could combine the two to increase the likelihood of a reset occurring under any conceivable circumstances.