Add IR control to your WiFi router

wrt54g_ir_receiver

[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!

5 thoughts on “Add IR control to your WiFi router

  1. Actually you can get away with a 8 pin pic. I have done this exact thing in less than 1K programming space. plus let the router do the work, you can run lircd on that router.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s