RC-5

{{About|the infrared remote control protocol|the block cipher|RC5}}

{{Refimprove|date=November 2016}}

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.{{cite web |publisher=Maxim Integrated |title=Infrared Remote Control System-on-Chip |url=https://datasheets.maximintegrated.com/en/ds/MAXQ617.pdf |access-date=2023-02-18}} 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.){{clarify|date=September 2019}} 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.{{cite web |url=https://www.vishay.com/docs/82491/tsop382.pdf |title=TSOP382xx, TSOP384xx IR Receiver Modules for Remote Control Systems |publisher=Vishay |type=Data sheet |access-date=2023-02-18}} 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

class="wikitable" border="1"

|+ 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.

class="wikitable" border="1"

|+ 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

|

|

class="wikitable" border="1"

|+ Table 3: RC-5 commands common to all video systems except TV and VCR extension systems 3 and 9{{dagger|alt=footnote}}

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

{{dagger|alt=footnote}} 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).

class="wikitable" border="1"

|+ 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

class="wikitable" border="1"

|+ 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

|

class="wikitable" border="1"

|+ 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

|

class="wikitable" border="1"

|+ 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

|

class="wikitable" border="1"

|+ 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

|

class="wikitable" border="1"

|+ 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

|

See also

References

  • Remote Control System RC-5 Including Command Tables, Philips Semiconductors, December 1992, Publication No. 9388 706 23011

Notes