Configuring RC5 Protocol Products


Because the RC5 protocol is fairly standard protocol with only two variables which need to be changed in a Beo5 XML template as described below, it means it is easy to setup.

You don't need any form of IR decoder to determine these codes unless the product uses non standard addresses or commands.

The protocol uses whats called "Manchester coding" or "Bi-Phase Coding" which means it is self clocking because a "0" is defined as a change from signal high to low and a "1" is a signal change from low to high. This protocol consists of 14 bits transmitted with each button press and breaks down as 2 "Start bits" followed by a single "Toggle" bit followed by 5 address bits providing up to 32 (0 to 31) different products and finally with 6 command bits which will allow up to 64 (0 to 63) different commands to the same non B&O product.. A diagram of the IR bit stream with the associated timings are shown below:-

RC5 Bit Stream

The variables used in and Beo5 template for any RC5 controlled product are:-

  RC5:GlobalManual=1 Do not change this value
  CODE=51 This is the command to the device and has a decimal value between 0 to 63 (6 bits)
  ADDRESS=30 This is the product address and has a possible decimal value between 0 to 31 (5 bits). For a TV this value will be zero.
  Carrier=36 This is always set to 36 which means a carrier frequency of 36 kHz. Do not change this value
  Pause1=89825 Do not change this value. This is the pulse size in microseconds
  Pause2=89825 Do not change this value. This is the pulse size in microseconds

The following is a list of the most common cammands used:-

  Power 12
  Menu 59
  TV/AV Select 56
  Numbers 0 to 9 00 to 09
  Text 60
  Volume Up 23
  Volume Down 24
  Channel Up 18
  Channel Down 19
  Left Arrow 17
  Right Arrow 16
  Down Arrow 33
  Up Arrow 34
  OK 37
In the download section under "Third Party Products" you can download and edit the "Generic RC5" template with a text editor such as Windows Notepad to suit your particular requirements. This template already has the address code set to zero for "TV" and the common commands listed above are also included.