The problem:

I need 5 different remote controls to control my media devices!

The solution:

I have build an Apple watch/iPhone app and an Arduino device to control all my IR devices!

The Project:

The project have two parts:

  1. Arduino device with Ethernet shield and IR led
  2. iPhone app with Apple watch extension


I am using an Arduino UNO board with Ethernet shield and IR led. I have programmed the arduino to accept http commands and parsing them to IR signals.

Example http command:

http://<arduino ip>/send?p=1&c=2FD48B7&l=32&

This command will send the Power signal to my Toshiba TV.

The command have 3 parts:

  • p: the protocol (1 is the NEC IR protocol)
  • c: the hex code
  • l: the length

To send the IR signals I am using the IRremote Arduino Library (

iPhone app:

I have developed an iPhone app as a user interface of the remote. I can add and edit devices from the settings of the app.

For every device I give a name, the ip of the arduino that controls this device and the profile of the device.

The profile of the device has info with the codes (power, mute ...) for this device. For every code I have info about protocol, hex code, length.

So, when I press the Power button for the Toshiba TV the app knows how to build the Http command for this function.

The user can change the device that wants to control from the device selection menu of the app.

The app has an Apple watch extension so the user can use the watch to control the devices.