What kind of nerd would I be if I actually had to flip a switch to turn on the lights in my office? Actually there is no overhead light in my office and some of the lamps are awkward to turn on. So a remote control switch is pretty useful.
The case is from a discarded external CD-ROM; I also re-used its power connections and power supply. The lamps are red/green LEDs (red for off, green for on), one for each switch. The “buttons” are upholstery tacks, leading to a quantum technologies capacitive sensor. It looks better in real life; the camera flash reveals all the construction flaws.
In the back is a row of four outlets. Each outlet is switched by a solid-state relay – protected by a fuse of course. Using a regular relay might have been a better idea, because solid-state relays don’t work well with, e.g., florescent lamps. SSRs have some leakage current which can make a florescent lamp flash every few seconds. I might have been better off with regular relays, especially since the power supply in the box has +12 as well as +5 volts. I went with solid-state relays because I thought they are cool, and because I don’t know the issues related to ensuring the longevity of an electromechanical relay. In retrospect it would probably been easier and more extensible to use X10. However, I live in a large, old apartment building and I don’t know how well the X10 signals would be filtered from my neighbors. Also, I wanted to learn about controlling higher power loads.
On the side to the left is a pod with an IR receiver sticking out the top. I managed to decode the IR code used by the remote control for my cable TV box. A guy at a flea market was selling spares for $3.00 each so I picked up a few for more remote control projects.
Below is a view of the back. The IR receiver is on the right.
My wife liked the remote control light switch so much that I made one for the bedroom. This one has a satellite pod, shown below, that communicates with the main box using rs-232 over telephone wire. The pod and the main box send their status whenever a button is pressed, and the main box sends its state to the pod every second or so.