Monday, May 14, 2012

Panasonic IR remote control protocol

I used an Osram SFH5110-38 IR receiver and Saleae Logic to capture the output of a Panasonic air conditioner remote control. I googled but couldn't find any site providing decoding info for the 32-bit packet. The closest I've found shows the protocol for a Panasonic 22-bit packet. Though not exactly what I'm looking for, the page does provide crucial information about pulse widths and what constitutes a logic one and zero. 

The Panasonic remote control uses pulse distance encoding where pulse widths for both logic 1 and 0 are the same: 2T, but the periods are not: 4T for logic zero and 8T for logic 1. Thus a logic 0 is high for 2T and low for 2T while a logic 1 is high for 2T and low for 6T. The start pulse is 8T high and 8T low. From the logic analyzer measurements T for the particular unit I have is anywhere from 435 to 440┬Ás. (Bear in mind that at the receiver end everything is inverted--high is low, and low is high, with the output of the IR receiver normally high when no transmission is being received.)

The remote control sends out the least significant byte (LSB) is first. And for every byte the least significant bits (LSb) are sent out first. A start pulse and four bytes constitute one packet. The LSB is the command code. This code is sent again (without inversion) as the second byte. The third byte is the address code. This is transmitted again and is the fourth and most significant byte.

With the exception of three, keeping the buttons depressed does not continually transmit a signal. Instead exactly three packets are sent without pause (i.e., a start pulse immediately follows after the last bit of the packet has been transmitted). The series of three packets is then capped with an end pulse which is equivalent to a start pulse and 2T high.

Holding down the up arrow, down arrow, or fan speed buttons will continually send the packet (with no end pulse). Panasonic must've made a mistake with the fan speed button since it need not send the packet continuously. Testing shows that even if the fan speed button on the remote control is kept depressed the speed of the blower is toggled only once per button push (it has to be released and pressed again to change fan speed).

From the looks of it the numbers at the back of the control are stamped after molding. Another Panasonic air conditioner remote has the same "model number" A75C2454 but has "batch number" 9225 instead of the 91X4 on this unit.

I tested all the buttons on the remote control and collected the following command and address codes. 

Panasonic air conditioner remote control codes
Key/Button MSB LSB
Address Command
Operation 0x33 0x33 0x91 0x91
Mode 0x33 0x33 0x92 0x92
Fan Speed 0x33 0x33 0x93 0x93
Up arrow 0x33 0x33 0x94 0x94
Down arrow 0x33 0x33 0x95 0x95
Timer 0x33 0x33 0x96 x096
Set/Cancel 0x33 0x33 0x97 0x97
Air Swing 0x30 0x30 0x80 0x80
Powerful 0x35 0x35 0x86 0x86


  1. Thx, this help me alot ^^

  2. I enjoyed reading your article :) PLease continue publishing helpful topics like this. Regards, from Let's get gadget, a company whose into selling
    remote extender

  3. This is my first visit to your web journal! We are a group of volunteers and new activities in the same specialty. Website gave us helpful data to work. telecomando aria condizionata universale