I built my WatchPuppy in a
recycled plastic case on a RadioShack
IC breadboard. I separated the boards
for the relays and the PIC, but this is
not mandatory. The front panel (not
shown) consists of two small LEDs and
a single switch that is used for
manually disabling the reboot function.
The status indicator LED shows
whether or not the WatchPuppy has
been disabled in software. The other
LED is illuminated whenever there is a
PC reboot operation in progress. The
box I used had a row of fully insulated
BNC connectors on the back so I used
them for external connections.
However, a much simpler solution
would be to use a screw-down
terminal block of your choosing.
The WatchPuppy gets its power from a filtered nine to
12 VDC, one amp, wall-wart type power supply. This
voltage is reduced on the WatchPuppy board by an
ordinary LM7805 voltage regulator. The heft of this
regulator insures we have plenty of current to power the
three five volt relays. You may note that the relays I used
are not the ones listed in the Parts List. My source for the
AZ2530-12-1 relays has disappeared but there are many
other 5V coil relays that will work. Try to find relays that
close with coil currents of about 100 milliamps or less.
General-purpose NPN transistors capable of bearing the
relay coil currents are used between the PIC outputs and
the relays. Protection diodes are used across the relay
coils to guard against transients produced by the coils.
The UM232R must be jumpered to take its power
from the same supply as the PIC and not from the USB
bus. This equates to removing jumper 2. I tried using the
USB bus to power just the UM232R but when the PIC
board power supply was unplugged, the PIC still ran!
Enough voltage fed back through the TX and RX pins from
the UM232R to power the PIC, albeit in a rather unstable
fashion. (You learn something with every project.)
The ADC input and two digital inputs may be
expanded by modifying the PIC and PC code. My
plan for the ADC is to monitor temperature. This can
be done with a thermistor in a voltage divider
configuration or with any of a number of temperature
sensor devices. The digital inputs can be used to
monitor other devices to see if they were operational.
These and other pins could also be configured as
outputs to control other things, including more relays.
■ FIGURE 4. Headers like this one appear on most desktop motherboards.
This one has power button (PWBT) and reset (RST) positions.
with some very old technology and should not use the
WatchPuppy to manage it. You could electrocute yourself
playing with that type of switch. Here, I refer to the type
of low voltage power switch that connects via two small
wires to a pair of pins on the motherboard. The power
connector will be labeled with PWR SW, PWBT, POWER,
or something similar.
I fashioned a jumper to connect the WatchPuppy to
the motherboard from a pair of male header pins and a
matching female connector from an old PC. This avoids
hacking into the computer wiring directly and makes it
easier to move the WatchPuppy to another PC. Adding a
plastic grommet to a hole drilled in a peripheral card slot
cover makes a clean way for the wire to the reboot relay
to exit the PC case.
With either the reset or power switch, we are placing
a set of relay contacts in parallel with the manual switch.
The length of time the relays will remain closed is
configurable and saved in the WatchPuppy’s EEPROM. In
the case of the power switch, you will also configure a
pause and a second relay closure that will turn the PC
back on. A reset operation does not require this second
■ FIGURE 5. You can make a removable connection for the
reboot relay. Cover the bare connections with heat shrink tubing
or liquid tape.
42 August 2010
If you have ever lost Internet service and had to
call your DSL or cable-based ISP tech support, you