irCommand is a DIY open source iPhone and iPad universal remote control that uses an internet connected Arduino to control televisions, receivers, projectors, Blu-ray players and Apple TVs. The inspiration for this device came from touch screen remotes like the Logitech Harmony One.

irCommand makes use of Ken Sherriff’s Multi-Protocol Infrared Remote Library to control devices using the Arduino and an infrared LED. The Arduino receives commands from the iPhone via web requests through a XPort Direct. The iOS application that the user interacts with is custom made, and gets schedule information from a PHP script that does HTML scrapes of a TV listings website.

For this project support for Dish Network remotes and Sharp remotes needed to be added to Ken’s library. I added this support by using an oscilloscope to read the protocols of each remote. My additions to Ken’s library are included in Ken’s Arduino-IRremote GitHub repository.


The Arduino, XPort, and infrared LED all connect in this enclosure. This controller can drive multiple LEDs, so controls for multiple entertainment systems can be easily added.


If you would like to modify the irCommand source for your own needs, you can find it at the irCommand GitHub repository. Some of the code is specific to my needs, but I can help explain any portions that are unclear.

main screen - controls power, source select, and volume
full tv listings - clicking on a listing will change the tv channel to that station
favorite tv listings - a list of favorites for quick access to frequently used channels