[Craig] wanted to use Boxee on his TV but his computer was in a different room. He rigged up a rather dubious method of delivering the A/V signal (this is a hack in the most guttural sense). More interesting to us is his solution for a remote control interface. We’re familiar with building USB connected infrared receivers but [Craig] decided to patch one into the serial connection on his Linksys WRT54G router.
Surprisingly there’s a lot of space in the router case to add more electronics. He connected a 7805 voltage regulator to the 12v supply for the router and used it to power an IR receiver module and an ATmega328. Because the serial port of the router needs 3.3v he uses a zener diode and resistor to drop the communications voltage. By loading Tomato as the router firmware the remote control signals can be communicated back to a python script running on the host machine.
We do have a few opinions about possible improvements. The use of an ATmega328 is about 30kB worth of overkill. We know that software-based usb infrared receivers run on under 2 kilobytes of programming space. Also, the IR receiver module used (TSOP1738) is obsolete. In this case, we might recommend the TSOP34138. By changing to this part and using a low-power AVR you should be able to run off of the router’s 3.3v regulated supply. This would get rid of the additional regulator and prevent adding even more heat inside the router chassis.
But hardware selection arguments aside, we love the creativity of this solution. Nice work!