With all the technology around us there will often come a time when you wish it would work in a slightly different way. Well unless you work as one of the design engineers in the company that made the product chances are you will just have to suck it up and live with what was produced. Well when Matt from Openschemes was in this situation with his Western Digital WDTV he decided to whip up a small circuit to make it work as he wanted. Turns out that the WDTV doesn’t really turn off, it just goes into a mode that looks like it is sleeping. Matt made the WDTV Remote Control External Power Circuit shown above to allow him to remotely turn the darn thing off for real. The board design and construction is well documented, a photo etch method is used etch a copper clad board and the coding of the PIC chip microcontroller can be seen here in this follow-up article.
“The WDTV remote uses the NEC infrared protocol at 38kHz to transmit commands to the WDTV. This 38kHz stream of blinks is demodulated by the IR receiver to a relatively slow serial datastream which is then piped to the PIC.
So here’s the (software) scheme.
- Sit around waiting for the start sequence
- Decode 32 bits of data
- If it’s a power cmd, then turn on WDTV if it’s off. Go back to #1
- If WDTV is on and we receive a power command, flag that we now need to wait for 10 repeats. Go back to #1
- If WDTV is on and we’re repeating, watch for 10 repeats and then turn off WDTV.
- If some other command comes in, clear our “repeat†counter and start the whole thing over”