Is your remote control collection getting out of control? With a television, cable box, Blu-ray player, and stereo, not only does each remote take up space, but making them work to turn on the right devices and set the right inputs can be very frustrating! You might consider buying a fancy programmable remote control, but they can be expensive and sometimes don’t offer the control or interface you want. This smart remote control project will show you how to build a device that can send and receive remote control codes from a web page. You can program exactly the functionality that you need from any smart phone or computer!

This project uses the Arduino Yún, which is a special Arduino that’s perfect for network-connected devices. The Yún has two processors, one of which runs the Linux operating system and can connect to wired or wireless networks. The second processor is the same as the one used in the Arduino Leonardo. It therefore has great compatibility with Arduino libraries and hardware.


To send and receive remote control signals, this project uses an infrared LED and receiver. Infrared light is invisible to the human eye but easy for electronic sensors to detect. To make the transmission of signals more reliable, devices typically modulate (flash or flicker) infrared light very quickly, so there’s less chance for stray infrared light (like from sunlight) to interfere. An infrared receiver is a small device that can pick up infrared signals modulated at a particular frequency, commonly 38kHz (38,000 times per second). Using an infrared receiver, an Arduino can detect the bits being sent by a remote control. And to play back a remote control signal, the Arduino can flash an infrared LED at 38kHz!

Taking command of your entertainment center is accomplished through a simple web interface which is run locally on the Yún and accessible to most web browsers. The website facilitates basic infrared device control and even allows for multiple commands to be strung together. For example, a ‘Watch Movie’ button might send the control codes to turn on your TV, Blu-ray player, and set the TV to the Blu-ray player input.

This is a moderately difficult project which will require some experience running Arduino sketches and using command line tools. The electronic components for this project are simple and can be easily assembled on a solderless breadboard.