Nick Sayer has posted on Hackaday his recent project, the Reboot-o-matic, which is a Automatic power-cycling microcontroller. The inspiration for the project came when he saw the need to monitor remotely some home automation devices in their vacation home over the internet remotely, but the router was not 100% reliable, so there were occasions where the Internet got stuck. For him to just power cycle the router, he built the Reboot-o-matic. This is perfect for creating a network monitoring watchdog for an unattended SOHO network router.
Nowadays most SoHo networking gears are powered by DC wall warts, so no need for a switch to be designed for the AC. All you need is just to add a P MOSFET in the positive DC rail. The MOSFET has a pull-down(the power has to be on default) on the gate, so having a second P MOSFET is important because the first MOSFET’s gate has to be raised up to the input voltage rail, and the one doing the raising or pulling is running at a lesser volt than that. However, the second P MOSFET’s gate is pulled up instead of pulling down. So that its default is always off. The gate of the 2nd P MOSFET has to be pulled up to the input rail and joined to a third MOSFET, which is an N channel one, having a gate that is pulled down and connected to a microcontroller pin.
A problem with powering the circuit at higher voltage is, the max gate voltage of the two MOSFETs must not be exceeded. To prevent this, you can add a Zener diode between the gate and positive rail and for the second P MOSFET, whose gate is pulled to the ground by N MOSFET, a current limiting resistor is added to the second P MOSFET serving as protection for the Zener diode. “This Rube Goldberg arranges allows us to use a low powered microcontroller to turn output power off briefly, but since everything are now “on” on default. imagine for example if the microcontroller failed to start. If we required an asserted output to switch on the power, then this failure would result in the power being off permanently. The microcontroller failing by reducing an output to Vcc is less likely.” The microcontroller for this project is a simple ATTiny9. Aside from the output, there is also an input pin that comes from the outside. The input has a protection diode that prevents any voltage fed into the pin from getting to the controller. The pin is described as an open-drain input. To request a power cycle, you short the pin to the ground.
The controller has a software debouncing in place, and the input has to go low for a full second before the power can be cycled and the power is cycled for 10 secs causing the input to go high and for one hour before any low transition is allowed. The microcontroller is powered from an LDO fed by the input power rail. The reason for adding a controller to the project is for the controller to have some rules to act as a fail-safe for the system. The microcontroller has software de-bouncing in place, to enable the input to go low and remain low for a full second before the power is cycled. The power cycle lasts for 10 seconds, and then the input has to go high and remain high for an hour before any low transition is allowed. Finally, the microcontroller is powered from an LDO fed by the input power rail.
this project is special because there are many other methods one could use – for example, a timer to power-cycle the device on a daily basis however, the Reboot-o-matic has an intelligent gatekeeper that only permits the power-cycle to happen at most once per hour. Also, the design attempts to ensure that any fault would result in the power state failing-on rather than off.
You can get the Reboot-o-matic on Tindie, starting for $15. More information can be found on the project page on Hackaday.