DIY Apple Remote Shield for the Arduino




Introduction: DIY Apple Remote Shield for the Arduino

Have you ever wanted to make an apple remote? Or maybe want to have one of your arduino creations be able to control iTunes on your Mac, your iPod, Or your Apple TV? Now you can! 

Awhile back I was working on a project that that I wanted to be able to start music the on my mac through the IR receiver. After a while of looking around I found this library which allows you to use your arduino as an Apple Remote. I integrated it in to my project and it worked great! So the other day I decided to make an Apple Remote shield for my arduino.

Note: Depending on the IR Led's you use, the performance of this can vary greatly.

 If you have any questions, comments, &/or suggestions. Please ask them.

Voting starts Nov 16th. So please come back & vote!

Step 1: The Stuff:

- Arduino
- 2 or 3 IR Led's
- 5 NO Momentary push buttons (NO Stands for Normally Open)
- Wire
- Perf-Board

- Computer
- A-B USB Cable

- Arduino Software
- Apple Remote Library (This can be found in the step: Coding the Arduino!)

Step 2: Assemble the Board

This is pretty flexable, If you want more Led's feel free to add them in. If you want to control the led with a transistor feel free to add that in! Also you may have noticed that my shield doesn't have a menu button. I decided not to put one in, But if you want to add one in you can. The library does support.

 - Make sure the leads for the IR Led's don't touch the ICSP Headers! 
 - If you want to use header pins DON'T push the end of the wire from the top to the bottom in other words do picture 7, but picture 8.


- Cut the Perf-board. I used a piece 23x18 that has a few cutouts.
- Layout the switches
- Bend the ground wire & solder it in
- Wrap the loose end of the ground, up through a hole in the perf-board. Then push it down through the next & trim the end. (Pictures 5 - 10)
- Bend the IR Leds
- Insert the Led's and solder the cathodes (Short Lead) to the ground wire
- Bend the anode of one led & solder it to the other one (Picture 21)
- Install a wire for the closest button (Picture 22)
- Add a wire for the IR LED's (Picture 23)
- Connect the lower button (Picture 24)
- Connect the middle button (Picture 25)
- Wire the top button (Picture 26)
- Connect the furthest button (Picture 27)
- Your Done!

Step 3: Using Header Pins (Optional)

If you want to use header pins instead of wire to connect your shield to your arduino here's how.


- Leave the leads from the led's & buttons straight
- Strip and trim the wires so they can be soldered to (Picture 2)
- Cut your headers pins so you have a piece that is 7 pins long
- Solder the header pins in

Step 4: Coding the Arduino! (Windows)

Install the libraries:
Download & unzip the file "". Copy that unzipped folder to:

Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.

Step 5: Coding the Arduino! (Mac OS X)

Install the Libraries:
Download & unzip the file "". Copy that unzipped folder to: '"/Applications/Arduino/Contents/Resources/Java/hardware/libraries/" 

Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.

Step 6: Using & What to Do Next

Point at IR receiver & press button. Depending on the LED's you may need to move the remote around a little to get it to work. 

Note: Pairing must be disabled for this to work. (Picture 2)

Advancement Ideas:
Use a transistor to control the led's instead of just running them off Pin 13. This 'should' improve the range.
Use this to make a remote for a robot.
Add more IR Led's
Use aluminum foil to boost the range.



    • Tiny Home Contest

      Tiny Home Contest
    • Water Contest

      Water Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    21 Discussions


    2 years ago

    My real struggle is deciding which project I'm going to tackle.
    Will the project of tearing my room apart and re-cleaning it to find the original remote yield quicker results vs tinkering anew. I still sit wasting time pondering which to do.

    Can I use this remote on my apple TV?

    Forgot to say. Thanks to computergeek for the original post.

    Hi all. For anyone who cant get this working, i just did "on a mac anyway, tested on breadboard for volume up/down only".

    I don't know code "a complete novice", but with a little research, it would seem to be written for an old IDE "0017".

    To get it working do as stated with and Arduino_Apple_Remote.pde.

    Arduino_Apple_Remote.pde, will be a .tmp file, change to .pde.

    Open where you put, open the .cpp file in TextEdit "mac", and change WPrograme.h to Arduino.h and save back in the .cpp file.

    Do the same in the .h file and save back to the .h file.

    Now open Arduino IDE drag and drop the .pde file and verify.

    All should be good.

    i have made this just as you said but it does't work with my apple tv 2 any help do i have to edit any files ? robbiezxc at me dot com

    There's a really good tutorial on capturing IR remote codes here ->

    Unfortunately, this sketch and library aren't working for me. I get an error when compiling that I don't understand. Something to do with the library. Blorp.

    this is jus awesome.......
    but cud u tell me why u are calling,ars.left() etc.... three times in each if block...

    BTW, changed the <> to "" for the header file, works fine now, thanks for the great project and links to the Apple IR Lib, been looking for that for a while now!

    Anyone know how to change (on the computer end) the codes or is that doable? in creating new commands for the remote to tell the computer?


    anyone have trouble with the ardy code compiling?

    i.e."AppleRemoteSender does not specify type" (line 4)

    Have you ever tried creating an opposite project, i.e., reading the signals from apple remote, instead of sending them, to control the uC? Which photo-elements do I need for this? What's the frequency used in apple's IR remote controls? Are there any readymade libraries for atmel controllers?

    1 reply

    i'm looking for the exact same, apparently someone on the arduino forums allready did, but i couldn't find out what electronic components were needed. also, the technical details of the apple remote can be found on wikipedia:

    Remote works! But.... apple react on next button pressing only every 5 sec. It is confusing when you want to adjust Volume. Do you have any suggestions where to look in the code? LCD flashing every time but computer ignoring them.

    WHAT THE DEUCE!?!?!?

    I'm glad you like it! I didn't add a menu button because on my Apple Remote the menu button is kind of annoying & I didn't have another button handy. But if you want one you can hook another button up to pin 7, then use the code; to trigger the menu ir pulse.