Monday, October 25, 2010

Infrared Remote Control:: Introduction

Infrared Remote Control, Consumer IR, or just often IR, the system used in consumer electronics for a remote control to communicate wirelessly with a device. It is interesting to me (and apparently others) because it is the intersection of electronics, wireless, digital signals, software, and home automation. The more trendy and more general term for home automation now is physical computing. Physical computing is a trendy new buzz word, but it is actually a very appropriate description for what interests me. The ability to send and/or receive consumer IR signals allows one to control common electronics stuff with software or allows your software to be controlled from hand held remotes. For example, when using a computer as a music or video player to replace a (CD, DVD, record, etc) player, there are times when it's more convenient to use a small handheld remote to control it rather than a keyboard / mouse. On the other hand since my computer is connected to the audio receiver, when I'm in front of the computer, I'd like to be have the receiver turn on and have it switch the right input when I'm in front of the computer and tell it to "play". Of course there are many more possibilities than this.

Some people's interest and involvement with IR Remote Control centers around building the one remote to rule them all. If you are looking for information about universal remotes, check out,, and google JP1. There has been a lot of good work done in this area, especially the JP1 world, on understanding and documenting the IR protocols in use by the consumer electronics world.

There are many devices and schemes people have come up with for capturing, recognizing and replaying a particular remote signal with a computer. LIRC, Linux Infrared Control is probably the most widely known example. There is also a bunch of closed source software and hardware that are popular for windows environments and in particular the HTPC (Home Theater PC) communities.

When I first started looking at IR remote control, there didn't seem to be very much in good introductory materials. In the last year or two that changed. In my mind one of the big contributors to that is the Arduino, which has been bringing microcontrollers to the masses.

I found that many of the tutorials had gaps or were overly restrictive in their perspectives. It also struck me that there was a significant body of work in the JP1 world, that doesn't seem to be used by the automation / physical computer world.

So I'm hoping to fill in some of the gaps.