RC-5
# RC-5

The RC-5 protocol was developed by Philips in the early 1980s as a semi-proprietary consumer IR (infrared) remote control communication protocol for consumer electronics. It was subsequently adopted by most European manufacturers, as well as by many US manufacturers of specialty audio and video equipment. The other main protocol relevant to consumer electronics is the NEC protocol, which is largely used by Japanese manufacturers.

The RC-5 protocol, when properly implemented, has the advantage that any CD handset (for example) may be used to control any compatible brand of CD player. By comparison, the NEC protocol assigns each brand its own unique header(s) after which may follow any desired command set; this confers the advantage that there cannot be any interference between remote handsets for pieces of equipment made by different manufacturers.

## Protocol details

The basics of the protocol are well known. The handset contains a keypad and a transmitter integrated circuit (IC) driving an IR LED. The command data is a Manchester-coded bitstream modulating a 36 kHz carrier. (Often the carrier used is 38 kHz or 40 kHz, apparently due to misinformation about the actual protocol.) The IR signal from the transmitter is detected by a specialized IC with an integral photo-diode, and is amplified, filtered, and demodulated so that the receiving device can act upon the received command. RC-5 only provides a one-way link, with information travelling from the handset to the receiving unit.

The command comprises 14 bits:

* A start bit which is always logic 1 and allows the receiving IC to set the proper gain.
* A field bit which denotes whether the command sent is in the lower field (logic 1 → 0 to 63 decimal) or the upper field (logic 0 → 64 to 127 decimal). Originally a second start bit, the field bit was added later by Philips when it was realized that 64 commands per device were insufficient. Many devices still use the original system.
* A control bit which toggles with each button press. This allows the receiving device to distinguish between two successive button presses (such as "1", "1" for "11") as opposed to the user simply holding down the button and the repeating commands being interrupted by a person walking by, for example.
* A five-bit system address that selects one of 32 possible systems.
* A six-bit command that (in conjunction with the field bit) represents one of the 128 possible RC-5 commands.

The 36 kHz carrier frequency was chosen to render the system immune to interference from TV scan lines. Since the repetition of the 36 kHz carrier is 27.778 μs and the duty factor is 25 %, the carrier pulse duration is 6.944 μs. Each bit of the RC-5 code word contains 32 carrier pulses, and an equal duration of silence, so the bit time is 64×27.778 μs = 1.778 ms, and the 14 symbols (bits) of a complete RC-5 code word take 24.889 ms to transmit. The code word is repeated every 113.778 ms (4096 ÷ 36 kHz) as long as a key remains pressed. (Again, please note that these timings are not strictly followed by all manufacturers, due to a lack of widespread distribution of accurate information on the RC-5 protocol.)

## System and command codes

While the RC-5 protocol is well known and understood, what is not so well documented are the system number allocations and the actual RC-5 commands used for each system. The information provided below is the most complete and accurate information available at this time. It is from a printed document from Philips dated December 1992 that is unfortunately not available in electronic format (e.g., PDF), nor is an updated version available. This information is provided so that companies that wish to use the RC-5 protocol can use it properly, and avoid conflicts with other equipment that may or may not be using the correct system numbers and commands.

## Accuracy of information

The information in the tables on this page is known to be accurate. Yet it is also clear that there are many gaps in these tables. For example, there is no category listing for DVD players in the system table. (They were not developed until five years after the date of publication of the material from which this information was obtained.) It would obviously be useful therefore to expand these tables with known accurate information. At this time, there are only a few possible ways to do so.

The first would be to capture the IR bitstream from the handset of newer Philips products, such as DVD players and analyze them to see what system number is used. The other would be to use the popular Philips Pronto series of programmable remote controls. These can be programmed to operate Philips components using the RC-5 protocol. Again, the bitstream output of the handset would need to be captured and analyzed. The only other way is to obtain the appropriate documents directly from Philips.

## System number allocations

Table 1: System number allocations for RC-5 :

| System number | Description | Command tables |
| - | - | - |
| 0 | TV 1 (TV receiver 1) | 2, 3, 4a |
| 1 | TV 2 (functions and command numbers as system 0) | 2, 3, 4a |
| 2 | Txt (teletext) | 2, 3, 5 |
| 3 | Extension to TV 1 and TV 2 | 2, 4b |
| 4 | LV (LaserVision player) | 2, 3, 6 |
| 5 | VCR 1 (video cassette recorder 1) | 2, 3, 7a |
| 6 | VCR 2 (functions and commands as system 5) | 2, 3, 7a |
| 7 | Reserved | |
| 8 | Sat 1 (satellite TV receiver 1) | 2, 3, 8 |
| 9 | Extension to VCR 1 and VCR 2 | 2, 7b |
| 10 | Sat 2 (functions and commands as system 8) | 2, 3, 8 |
| 11 | Reserved | |
| 12 | CD-Video (compact disc video player) | 2, 3, 9 |
| 13 | Reserved | |
| 14 | CD-Photo (photo on compact disc player) | 2, 3, 10 |
| 15 | Reserved | |
| 16 | Preamp 1 (audio preamplifier 1) | 2, 11 |
| 17 | Tuner (radio tuner) | 2, 12 |
| 18 | Rec 1 (analog cassette recorder) | 2, 13 |
| 19 | Preamp 2 (functions and commands as system 16) | 2, 11 |
| 20 | CD (compact disc player) | 2, 14 |
| 21 | Combi (audio stack or record player) | 2, 15 |
| 22 | Sat (audio satellite) | 2, 16 |
| 23 | Rec 2 (functions and commands as system 18) | 2, 11 |
| 24 | Reserved | |
| 25 | Reserved | |
| 26 | CD-R (compact disc recorder) | 2, 17 |
| 27 | Reserved | |
| 28 | Reserved | |
| 29 | Lighting | |
| 30 | Reserved | |
| 31 | Reserved | |

## System number recommendations

As can be seen, this information is out of date. There are no longer any systems using CD-Video or CD-Photo, for example. In addition, many of the "Reserved" system numbers have no doubt been allocated by Philips during the intervening 16 years. In order to maintain compatibility, it would be helpful to obtain this information. Unfortunately, this has proven to be difficult.

When designing a product using the RC-5 protocol, the designer must follow the published information as closely as possible. For example, one surround-sound processor from a US specialty manufacturer used the system number 16, designated for "Preamp 1". This caused many problems with home theater installations that also included a separate two-channel preamplifier, which if of US or European origin, would also use the RC-5 protocol with system number 16. If the designers of the surround-sound processor had the correct information available to them, it would have been obvious that a better choice would have been to use system number 19, designated for "Preamp 2", as this would have avoided needless conflict between products.

## Command tables

Over time, the information will also be added for the command tables so that all of the available information regarding the RC-5 protocol is gathered in one place. The information in the command tables shown in standard font was obtained from the Philips publication referenced at the bottom of this page. Information in italics is information that is known to be accurate, as it was derived by one of the methods described above.

Table 2: RC-5 commands common to all systems :

| Command | Function | Command | Function |
| - | - | - | - |
| 0 to 9 | Digit entries 0 to 9 | 78 | Decrease linear control setting |
| 16 | Increase sound volume | 80 | Move cursor or actuator upwards |
| 17 | Decrease sound volume | 81 | Move cursor or actuator downwards |
| 18 | Increase screen/display brightness | 82 | Switch screen/display menu on |
| 19 | Decrease screen/display brightness | 83 | Switch screen/display menu off |
| 22 | Increase bass response | 84 | Display A/V system status |
| 23 | Decrease bass response | 85 | Move cursor or actuator to the left |
| 24 | Increase treble response | 86 | Move cursor or actuator to the right |
| 25 | Decrease treble response | 87 | Acknowledge; execute function selected by cursor |
| 26 | Shift sound balance to the right | 118 | Select functions defined as sub-mode |
| 27 | Shift sound balance to the left | 119 | Select functions defined as options sub-mode; e.g., calendar, alarm, time |
| 63 | Select system mode of RC transmitter | 123 | Connect two items via Euroconnector |
| 71 | Dim local display | 124 | Disconnect two items connected via Euroconnector |
| 77 | Increase linear control setting | | |

Table 3: RC-5 commands common to all video systems except TV and VCR extension systems 3 and $9^†$ :

| Command | Function | Command | Function |
| - | - | - | - |
| 20 | Increase color saturation | 95 | Select PIP source |
| 21 | Decrease color saturation | 96 | Mosaic/multi-PIP |
| 88 | PIP on/off | 97 | Digital noise reduction of picture |
| 89 | PIP shift | 98 | Store main picture |
| 90 | PIP/main picture swap | 99 | PIP strobe; displays a photo-finish |
| 91 | Strobe main picture on/off | 100 | Recall main stored picture |
| 92 | Multi-strobe | 101 | PIP freeze |
| 93 | Main picture frame frozen | 102 | Step up PIP options and display source |
| 94 | 3/9 multi-scan: (search for 9 TV pictures and display in 9 PIPs) | 103 | Step down PIP options and display source |

$^†$ Commands for video extension systems 3 (TV) and 9 (VCR) which use the common video command numbers are given in Tables 4b (TV) and 7b (VCR).

Table 4a: Additional RC-5 commands for TV 1 and TV 2 (systems 0 and 1) :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | 1/2/3 digit entry | 59 | View data; advance (USA only) |
| 11 | Channel/program/freq; 11 (Japan) | 60 | TXT/TV toggle; 12 (Japan only) |
| 12 | Standby | 61 | System standby |
| 13 | Master mute/de-mute | 62 | Picture crispener (contour boost) |
| 14 | Personal preference settings | 64 | |
| 15 | Display user info on screen | 65 | |
| 28 | Increase picture contrast | 66 | |
| 29 | Decrease picture contrast | 67 | |
| 30 | Search up | 68 | |
| 31 | Decrease tint/hue | 69 | |
| 32 | Channel/program up | 70 | Audio response for speech/music |
| 33 | Channel/program down | 72 | |
| 34 | Last viewed program/channel | 73 | |
| 35 | Select stereo sound channel/language | 74 | |
| 36 | Spatial stereo | 75 | |
| 37 | Stereo/mono | 76 | |
| 38 | Sleep timer | 79 | Select sound functions in sequence |
| 39 | Increase tint/hue | 104 | Alter PIP size step-by-step |
| 40 | Switch RF inputs | 105 | Select vision functions in sequence |
| 41 | Store; Vote (France only) | 106 | Actuate colored or other special keys |
| 42 | Display time | 107 | Actuate function highlighted red |
| 43 | Scan forward; increment (USA only) | 108 | Actuate function highlighted green |
| 44 | Decrement (USA only) | 109 | Actuate function highlighted yellow |
| 45 | | 110 | Actuate function highlighted cyan |
| 46 | Secondary control/menu (USA only) | 111 | Index page/white function |
| 47 | Show clock | 112 | Next option |
| 48 | Pause | 113 | Previous option |
| 49 | Erase/correct entry | 114 | |
| 50 | Rewind | 115 | |
| 51 | Go to | 116 | |
| 52 | Wind | 117 | |
| 53 | Play | 120 | |
| 54 | Stop | 121 | |
| 55 | Record | 122 | Store open/close |
| 56 | External 1 | 125 | |
| 57 | External 2 | 126 | |
| 58 | | 127 | Parental access via PIN code |

Table 4b: RC-5 commands for TV1 and TV2 extension (system 3) other than those listed in Table 2 :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | 4 default video settings (Far East) | 67 | Program 10 (Far East) |
| 11 | 4 default audio settings (Far East) | 68 | Program 11 (Far East) |
| 12 | | 69 | Program 12 (Far East) |
| 13 | | 70 | |
| 14 | | 72 | 4 default video settings (Far East) |
| 15 | | 73 | 4 default audio settings (Far East) |
| 20 | | 74 | |
| 21 | | 75 | |
| 28 | Pay TV channel + | 76 | |
| 29 | Pay TV channel − | 79 | |
| 30 | Radio channel + | 88 | Pay TV channel + |
| 31 | Radio channel − | 89 | Pay TV channel − |
| 32 | Tilt cabinet forward 10 degrees max | 90 | Radio channel + |
| 33 | Tilt cabinet backward 10 degrees max | 91 | Radio channel − |
| 34 | | 92 | |
| 35 | | 93 | |
| 36 | | 94 | |
| 37 | | 95 | |
| 38 | | 96 | |
| 39 | | 97 | |
| 40 | | 98 | |
| 41 | | 99 | |
| 42 | | 100 | |
| 43 | | 101 | |
| 44 | | 102 | |
| 45 | | 103 | |
| 46 | | 104 | Tilt cabinet forward 10 degrees max |
| 47 | | 105 | Tilt cabinet backward 10 degrees max |
| 48 | | 106 | |
| 49 | | 107 | |
| 50 | | 108 | |
| 51 | | 109 | |
| 52 | | 110 | |
| 53 | | 111 | |
| 54 | | 112 | |
| 55 | | 113 | |
| 56 | External 3 | 114 | |
| 57 | External 4 | 115 | |
| 58 | | 116 | |
| 59 | | 117 | |
| 60 | | 120 | External 3 |
| 61 | | 121 | External 4 |
| 62 | Change 4:3 picture format to 16:9 | 122 | Channel setting menu |
| 64 | | 125 | |
| 65 | | 126 | Change 4:3 picture format to 16:9 |
| 66 | | 127 | |

Table 5: RC-5 commands for teletext (system 2) other than those listed in Tables 2 and 3 :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | Next page | 59 | |
| 11 | Previous page | 60 | |
| 12 | Standby | 61 | |
| 13 | | 62 | News flash (Antiope function) |
| 14 | | 64 | |
| 15 | | 65 | |
| 28 | Enter page number in memory | 66 | |
| 29 | Sequential display of pages w/stored numbers | 67 | |
| 30 | Sequential display/deletion of pages w/stored numbers | 68 | |
| 31 | | 69 | |
| 32 | Exchange (Antiope function) | 70 | |
| 33 | Main index | 72 | |
| 34 | Row zero (Antiope function) | 73 | |
| 35 | | 74 | |
| 36 | | 75 | |
| 37 | | 76 | |
| 38 | Print displayed page | 79 | |
| 39 | Mix Antiope/TV pictures | 104 | |
| 40 | | 105 | |
| 41 | Page hold | 106 | |
| 42 | Display time/timed page | 107 | |
| 43 | Large top/bottom/normal | 108 | |
| 44 | Reveal/conceal | 109 | |
| 45 | TV/TXT | 110 | |
| 46 | TV + TXT/subtitle | 111 | |
| 47 | | 112 | |
| 48 | | 113 | |
| 49 | Erase/correct entry | 114 | |
| 50 | | 115 | |
| 51 | | 116 | |
| 52 | | 117 | |
| 53 | | 120 | |
| 54 | | 121 | |
| 55 | | 122 | |
| 56 | | 125 | |
| 57 | | 126 | |
| 58 | | 127 | |

Table 6: RC-5 commands for a LaserVision system player (system 4) other than those listed in Tables 2 and 3 :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | Display picture number/time | 59 | Freeze segment(s) indicated by picture numbers |
| 11 | Display chapter number | 60 | TXT/TV toggle; RF switch (USA only) |
| 12 | Standby | 61 | |
| 13 | Mute/de-mute | 62 | CX 1, 2, 3; toggle for CX noise reduction |
| 14 | | 64 | |
| 15 | Display user info. on screen | 65 | |
| 28 | Total shuffle play (TSP) once/repeat once | 66 | |
| 29 | TSP/repeat continuously | 67 | |
| 30 | Select next option | 68 | |
| 31 | Fast run reverse | 69 | |
| 32 | Entry (prepare to program) | 70 | |
| 33 | Auto-stop at pre-programmed point | 72 | |
| 34 | Slow run reverse | 73 | |
| 35 | Select stereo sound channel 1/language 1 | 74 | |
| 36 | Select stereo sound channel 2/language 2 | 75 | |
| 37 | Still increment reverse | 76 | |
| 38 | Increase speed | 79 | |
| 39 | Decrease speed | 104 | |
| 40 | Slow run forward | 105 | |
| 41 | Still increment forward | 106 | |
| 42 | Fast run forward | 107 | |
| 43 | Automatic search for user choice | 108 | |
| 44 | Search in reverse | 109 | |
| 45 | Open/close lid | 110 | |
| 46 | Search forward | 111 | |
| 47 | Play reverse/play opposite sound track | 112 | |
| 48 | Pause | 113 | |
| 49 | Erase/correct entry | 114 | |
| 50 | | 115 | |
| 51 | | 116 | |
| 52 | | 117 | |
| 53 | Play | 120 | |
| 54 | Stop | 121 | |
| 55 | | 122 | |
| 56 | | 125 | |
| 57 | | 126 | |
| 58 | Clear memory all | 127 | |

Table 11: RC-5 commands for audio preamplifiers 1 and 2 (systems 16 and 19) other than those listed in Table 2 :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | GEQ L (graphic equalizer left channel) | 67 | |
| 11 | GEQ R (graphic equalizer right channel) | 68 | |
| 12 | Standby | 69 | |
| 13 | Master mute/de-mute | 70 | |
| 14 | Personal preference settings | 72 | |
| 15 | Display user info on local display | 73 | |
| 20 | | 74 | |
| 21 | | 75 | |
| 28 | GEQ L+R (graphic equalizer L + R channel) | 76 | |
| 29 | Speaker select | 79 | Scroll linear sound functions |
| 30 | Scratch filter on/off | 88 | Random noise generator on/off |
| 31 | Rumble filter on/off | 89 | Timer on/off |
| 32 | Step function + | 90 | News timer on/off |
| 33 | Step function − | 91 | |
| 34 | Signal path scroll | 92 | |
| 35 | Speaker A on/off | 93 | |
| 36 | | 94 | |
| 37 | Scroll surround sound options | 95 | |
| 38 | Sleep timer | 96 | |
| 39 | Speaker B on/off | 97 | |
| 40 | Speaker C on/off | 98 | |
| 41 | Timer program mode | 99 | |
| 42 | Time set mode | 100 | |
| 43 | Timer + | 101 | |
| 44 | Timer − | 102 | Center channel volume + |
| 45 | Open timer memory | 103 | Center channel volume − |
| 46 | Open acoustic control setting memory | 104 | Delay front to surround increment |
| 47 | Select acoustic settings in memory | 105 | Delay front to surround decrement |
| 48 | | 106 | Linear phase |
| 49 | Erase/correct entry | 107 | |
| 50 | | 108 | |
| 51 | | 109 | |
| 52 | | 110 | |
| 53 | | 111 | |
| 54 | | 112 | |
| 55 | | 113 | |
| 56 | | 114 | |
| 57 | | 115 | |
| 58 | Clear memory all | 116 | |
| 59 | | 117 | |
| 60 | Dynamic range expand | 120 | |
| 61 | | 121 | |
| 62 | Dynamic range compress | 122 | Tape monitor |
| 64 | Surround sound on/off | 125 | |
| 65 | Balance front | 126 | |
| 66 | Balance rear | 127 | |

Table 14: RC-5 commands for a compact disc player (system 20) other than those listed in Table 2 :

| Command | Function | Command | Function |
| - | - | - | - |
| 10 | Scroll local display cursor | 67 | |
| 11 | Scroll local display function | 68 | |
| 12 | Standby | 69 | |
| 13 | Mute/de-mute | 70 | |
| 14 | | 72 | |
| 15 | Display user info on local display | 73 | |
| 20 | | 74 | |
| 21 | | 75 | |
| 28 | Total shuffle play/repeat once | 76 | |
| 29 | Repeat continuously | 79 | |
| 30 | Select increment | 88 | |
| 31 | Select decrement | 89 | |
| 32 | Next | 90 | |
| 33 | Previous | 91 | Digital signal processing on/off |
| 34 | Index next | 92 | Music mode (DSP) |
| 35 | Index previous | 93 | Select room acoustics (DSP) |
| 36 | Play/program | 94 | Jazz/s-hall effect (DSP) |
| 37 | Speed nominal | 95 | Pop/s-hall effect (DSP) |
| 38 | Increase speed | 96 | Classic/church music for music/room mode (DSP) |
| 39 | Decrease speed | 97 | Easy/club music for music/room mode (DSP) |
| 40 | | 98 | Disco/stadium music for music/room mode (DSP) |
| 41 | Store execute | 99 | |
| 42 | | 100 | |
| 43 | Scan disc forward | 101 | |
| 44 | | 102 | |
| 45 | Open/close tray | 103 | |
| 46 | | 104 | |
| 47 | Fast/select disc from cartridge | 105 | |
| 48 | Pause | 106 | |
| 49 | Erase/correct entry | 107 | Second favorite track selection |
| 50 | Rewind/reverse | 108 | Favorite track selection |
| 51 | Scroll local display cursor | 109 | Title into memory |
| 52 | Wind/fast-forward | 110 | |
| 53 | Play | 111 | |
| 54 | Stop | 112 | |
| 55 | Disc 1 | 113 | |
| 56 | Disc 2 | 114 | |
| 57 | Disc 3 | 115 | |
| 58 | Clear memory all | 116 | |
| 59 | Repeat program marked A/B | 117 | |
| 60 | Dynamic range expand | 120 | Fade in/out audio |
| 61 | | 121 | |
| 62 | Dynamic range compress | 122 | |
| 64 | | 125 | |
| 65 | | 126 | |
| 66 | | 127 | |
