Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

The Philips RC6 IR Remote Control ProtocolAuthor
Giorgos Lazaridis
August 1, 2012

PAGE 1 of 2 - The Philips RC6 IR remote control protocol specifications

Let's start with the bad news first: It seems that Philips -along with other companies- don't want or don't care to share the specifications of the IR protocol that each one uses, which rises up some questions... Unfortunately, no matter how hard i searched, no matter how many application notes and chip datasheets i opened, no matter how many forums and site administrators i contacted, i was unable to find official papers regarding the RC6 protocol. Therefore, the info that will follow comes mainly from reverse-engineering and information that i gathered around the net from other people.

Now the good news: Don't worry, this page has enough info to understand the commercial RC6 protocol and encode/decode your own projects...

If you don't know how the RC5 protocol works, i strongly suggest that you read first the operation of the RC5 protocol before you go on with the RC6.

The RC6 Protocol specifications

Searching around the net i discovered that there are several types of RC6 protocols, with differences in the mode, address and command lengths. But i also discovered that the most common RC6 protocol is the one that has two start bits, three field bits, one long toggle bit and 8+8 address and command bits. Actually, the two Phillips remote controls that i tested had precisely this configuration. Here are the specifications of this RC6 protocol:

Modulation type: Manchester code (bi-phase) - HIGH to LOW for ACE (1), LOW to HIGH for ZERO (0)
Carrier frequency: 36 KHz
Start bits: 1+1
Field bits: 3
Toggle bits: 1
Address bits: 8
Command bits: 8
Bit period (transmission clock): 895 uSec
Total signal duration: 23.27 mSec
Signal repetition interval: 83 mSec

Let's examine these bits one by one:

The Start bit (1+1)
The start bit is the first bit being transmitted by the transmitter. The RC6 protocol has 2 starting bits, one long and one short. The first bit has 4 times the length of a normal bit, that is 2.685 mSec ON time and 895 OFF time. After this long pulse, another start bit follows with normal period length. This bit is always 1. Unlike the RC5 protocol, the RC6 protocol defines bit 1 as a transition from HIGH to LOW

The Field bits (3)
The next 3 bits are probably identical to the field bit of the RC5 protocol. There are 3 bits which appear to be always 0 (LOW to HIGH transition). I could not find more details about these bits. I checked several remote controls and these bits were always 0.

The Toggle bit (1)

It seems that the RC6 has the same address list as the RC5
Similarly to the RC5 protocol, the RC6 protocol has a toggle bit to separate a long key-press from a double-key press. It works exactly the same way as i explain in the RC5 theory page, but the length of the toggle bit of the RC6 is double the length of a normal bit. So, if the toggle bit is 0 (LOW to HIGH transition), the LOW duration will be 895 uSec and the HIGH duration will be another 895 uSec, thus making the toggle bit 1.79 mSec long.

The Address bits (8)
The next 8 bits belong to the address of the signal. These bits are to determine to which device the signal addresses to. This way, the TV remote control will not interfere with the DVD player. I could not find a complete list for these bits. The DVD player and the TV sets correspond to the same address list of the RC5 protocol as described in wikipedia, so i can guess that the same address list applies to this protocol (???)

The Command bits (6)
The last 8 bits are for the command. This command can be anything like volume up, volume down, switch channel, exit DVD disk etc. There is no published list for the RC6 protocol commands, but i suppose that the basic commands are similar to the RC5 protocol, as described in wikipedia (???).

An RC6 transmission example
Let's see a typical transition with the RC6 protocol...


How to identify the aces and the zeros
Similarly to the RC5 protocol, there are two ways to identify zeros and aces. The first way is to identify the polarity switch in the middle of the bit transmission. In the previous example notice that between the red thin vertical lines (which separates the transmitted bits), right in the middle, the bit always changes polarity - It turns either from HIGH to LOW or from LOW to HIGH. This is the characteristic of the Manchester code modulation. If this change is LOW to HIGH, then the bit is a ZERO, otherwise the bit is an ACE.

The other method is to see how the bit begins or ends. If the beginning of the bit is LOW, then this bit is 0 otherwise it is 1. The same but inverted stands for the bit-end. If the bit ends LOW then this bit is 1, otherwise it is 0.


The Toggle bit - How it looks like?
Just like the RC5 protocol, the RC6 protocol has a toggle bit for the receiver to identify a long-key press (like when we press the volume up continuously) from a double-click (like when we press the button 1 twice to switch to channel 11). The toggle bit changes polarity every time a key i released and another key (or the same key) is pressed. Here is a typical example of how the toggle bit changes.


The two sequential transmission bits are sent from a remote control after pressing the button "1" twice. The address and code sent are exactly the same. The toggle bit is changed, because the button was released and pressed back again.

Continue to the next page to see a real-life example - i monitored the output of an RC6 compatible remote control with my oscilloscope.

Continue reading. Click here to go to the next page >>>.



  Email (shall not be published)


Notify me of new posts via email

Write your comments below:
BEFORE you post a comment: Long comments or comments of general interest are NOT to be posted here. Please use the forum instead. You will receive a reply much faster.


  • At 11 February 2014, 1:26:29 user In flesh and bone! wrote:   [reply @ In flesh and bone!]
    • @Shahzad and @sanghvi,
      Apparently robots like remote control stuff!

  • At 30 December 2012, 13:25:16 user Osku wrote:   [reply @ Osku]
    • Some information about RC6 can be found from patent document: http://www.freepatentsonline.com/5877702.pdf in which there is also a reference to Philips IC SAA3028.

  • At 22 October 2012, 10:15:50 user Shahzad Rafiq wrote:   [reply @ Shahzad Rafiq]
    • Very nice and informative effort. I heartily appreciate. Please keep up experimenting and sharing. I learned a lot from this site. Thanks for your sharings. Thumbs up.

  • At 13 September 2012, 22:11:45 user sanghvi keval wrote:   [reply @ sanghvi keval]
    • it's awesome site.

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Project: Simplest and Cheapest Foot-Controlled Autocue Ever

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy