Apple Aluminum Remote Codes
Update (5/17/12): A reader alerted me that the command code all Apple remotes is only 7 bit, with the last bit being a parity bit. If we then only use the 7 most significant bits, then there is no such thing as an “odd” code. All the codes for all versions of the remote are the same. I’ve summarized the new information here: [link]
Update: I’ve set up a separate page to gather all the relevant information regarding the Apple Remote in one place: [link]
Previous posts [link1, link2] discussed using the Apple aluminum remote as the IR remote of choice as in interface to Arduinto to control the volume in the Buffalo II DAC. In this post I to explain the meaning of the codes emitted by the remote.
The codes from the remote are:
Up key: 238 135 011 089 Down key: 238 135 013 089 Left key: 238 135 008 089 Right key: 238 135 007 089 Center key: 238 135 093 089 followed by 238 135 004 089 Menu key: 238 135 002 089 Play key: 238 135 094 089 followed by 238 135 004 089
Up key: EE 87 0B 59 Down key: EE 87 0D 59 Left key: EE 87 08 59 Right key: EE 87 07 59 Center key: EE 87 5D 59 followed by EE 87 04 59 Menu key: EE 87 02 59 Play key: EE 87 5E 59 followed by EE 87 04 59
Keep in mind that these are the codes I extracted from my remote.
The remote codes are sequences of 4-bytes. The first two bytes I believe, represent a company code as they are the same for every single remote from Apple, including the original white remote. You can see evidence here where the codes for the white apple remote have been extracted.
For the white Apple Remote, the codes are:
Up key: EE 87 0B XX Down key: EE 87 0D XX Left key: EE 87 08 XX Right key: EE 87 07 XX Menu key: EE 87 02 XX Play key: EE 87 04 XX [same as center key and play key in Aluminum remote]
I use XX to indicate that this is different for each remote.
Notice that in order to maintain compatibility, the center key and the play key in the aluminum remote has the same codes [the second set of codes] as the play (center) key in the white remote
The fourth byte is the remote ID and it is used to pair the remote to a particular Apple device and it is different with up to 255 variations. These remotes have different IDs in order to support “PAIRING”. Pairing is a feature of Apple devices where you can set a device to listen only to a particular remote.
This ID can also be changed in the remote by pressing a combination of keys. This paper explains how this works and more. Basically you hold the menu key and the center key for 5 seconds and the ID increments by one. This is useful if you happen to have two remotes with the same ID and you need to pair them to different devices.
The third byte is the one that is mapped to the individual keys. Notice that the aluminum remote emits and additional set of codes in order to differentiate the center and play keys. In my code I ignore the first, second and fourth bytes and only use the third byte.
There exist an “odd” set of codes for Apple Aluminum Remote that a reader found out while using remote code. The only difference with the “standard set” is that the third code is changed by the value of 1. I am not sure why this “feature”…
Update: Apparently, this set of code is not “odd” at all. Other readers have reported that their remotes emit this set of codes [link]
Update (6/5/11): the remote that comes with the Apple TV2 also emits this set of codes. I just tested mine and can confirm that this is the set of codes from the bundled remote. The Apple TV2 works with either remote (accepts both set of codes)
Up key: EE 87 0A 68 Down key: EE 87 0C 68 Left key: EE 87 09 68 Right key: EE 87 06 68 Center key: EE 87 5C 68 followed by EE 87 05 68 Menu key: EE 87 03 68 Play key: EE 87 5F 68 followed by EE 87 05 68
If you come across an apple remote that does not work, you can change the s/w to use this set of code instead. You can also enable the debug feature in the s/w in order to see what codes are emitted by the Apple remote.
This is the code section to change. For the “odd” codes change “case 11” to “case 10” and “case 13” to “case 12”
case 11: // 11 is the up key, we will use for volume up
case 13: // 13 is the down key, we will use for volume down
If all fails, you can test if the remote is actually emitting IR signals by pointing the remote to a video camera. [Apple remote troubleshooting doc]
Apple Remotes: Aluminum and Original