Decode IR signal of Panasonic HD camcorder HC-X900M remote controller
If you want to customize your own remote controller for Panasonic HD video camera HC-X900M, or build it into your own system to control multiple camcorders just like my old post “Synchronize multiple Canon Rebel T4i video shooting with reverse-engineered RC-6 protocol“, this post will help you decode the Infra-red signal emitting from its remote controller “N2QAEC000024”.
The appearance of the remote controller already discloses a fact that N2QAEC000024 is more complex than Canon’s RC-6, which has only two buttons. With N2QAEC000024, you basically can control almost everything of the camcorder. And oscilloscope verifies my assumption.
Again you must build a fast-responsive IR signal detector as we talked about in my previous post, otherwise you may lose high-frequency pulses. As I figured out the shortest pulse is only about 9.6us wide. Here are some plots from my oscilloscope:
Figure 1. Overall, there are two groups of pulses about 74ms apart. Actually, the two are duplicates of each other, and I think the second is for redundancy check purpose.
Figure 2. Zooming in on one of groups doesn’t help too much to understand what’s inside as there are still too many pulses.
Figure 3. The very beginning part of a pulses group.
Figure 4. Some random section.
Figure 5. Zooming in to the unit pulse.
After quite a lot of hard work counting the number of pulses and measuring the width of the waveform, I was able to conclude its IR signal protocol as follows:
- Unit pulse (the shortest pulses combined together to form different logic) is about 9.6us high followed by 17.6us low. Totally takes about 27.2us.
- Transmission starts with 129 unit pulses followed by low for about 1.6ms.
- Data is 64-bit wide. Logic High is composed of 16 consecutive unit pulses followed by low for about 0.416ms. Logic Low is low all the way for about 0.851ms.
- Data for START/STOP video capture is: 0b11011111, 0b11111110, 0b11111110, 0b10101111, 0b10110111, 0b11010111, 0b01011101, 0b10111101, or in hex 0xDFFEFEAFB7D75DBA. The MSB bit gets sent out first. (This was later proved to be incorrect. See below for corrected decoding)
I haven’t tried to decode other buttons, but they should follow the same rule with different data sequence.
[Added on 11/26/2013]
I need to correct my original post that the IR signal is not 64-bit long, but 72-bit long (so far). The “start/stop record” command is all the way low (0x00) for the 9th byte, that’s why I mistakenly concluded that the data was only 8-byte long. I recently decoded some of other IR commands (power on/off, menu, up, down, left, right, ok button) and found that some of them are longer than 64 bits. So I conclude again that the IR signal is 72-bit long SO FAR. Also, the delay between the two repeats (Figure 1) is 67.192ms, reducing from 74ms.
Here are the decoded new buttons:
- “Start/Stop Record”
0b11011111, 0b11111110, 0b11111110, 0b10101111, 0b10110111, 0b11010111, 0b01011101, 0b10111101, 0b00000000 - “Menu”
0b11011111, 0b11111110, 0b11111110, 0b10101111, 0b10110111, 0b10101101, 0b10111010, 0b10111110, 0b00000000 - “Power”
0b11011111, 0b11111110, 0b11111110, 0b10101111, 0b10110111, 0b11010101, 0b01111101, 0b11010110, 0b00000000 - “Up”
0b11011111, 0b11111110, 0b11111110, 0b10101101, 0b11011011, 0b11111011, 0b01010111, 0b01111010, 0b00000000 - “Down”
0b11011111, 0b11111110, 0b11111110, 0b10101101, 0b11011011, 0b10111101, 0b10101111, 0b01111010, 0b00000000 - “Left”
0b11011111, 0b11111110, 0b11111110, 0b10101101, 0b11011011, 0b10101110, 0b11010110, 0b11011110, 0b10000000 - “Right”
0b11011111, 0b11111110, 0b11111110, 0b10101101, 0b11011011, 0b11011101, 0b10101010, 0b11011110, 0b10000000 - “OK”
0b11011111, 0b11111110, 0b11111110, 0b10101111, 0b10110111, 0b11101011, 0b01111111, 0b11100000, 0b00000000
With new codes, I am now able to simultaneously remote-control 45 HC-X900M video cameras to turn on/off, format cards, change settings and etc,.
Thanks so much for this, there was nothing accurate online for me to reference for the data sent by this remote. Any chance you happened to take a look at any of the other buttons or will I be borrowing time on my schools oscilloscope?
I am afraid you will have to borrow the oscilloscope. I didn’t spend too much efforts analyzing other buttons.
Hello John
I was able to decode some other buttons such as “Power”, “Menu”, “Up”, “Down”, “Right”, “Left”, “OK”. Check my post.
I believe there is a typo in binary “REC”
Looking at the hex : 8th byte is 1,0,1,1,1,0,1,0 and 9th would be 1,0,0,0,0,0,0,0 (at least these two work for me )
Great job anyway. Thanks a million !
Thanks for your attention. However, I believe my decoded hex is correct. The last byte for “REC” must be zero.
Hello AKD
I search code for button W (zoom out) and EXT DISPLAY
My remote control is broken. I am unable do decode.
Tank you.
I’m new to this and have zero experience in any field on this topic. I’m going to buy a Panasonic HC-X920 and need a remote for it. So far, Panasonic has only released info for controlling the camera via wifi which is garbage and not logical in the field. The only other option is apparently an android app which also seems a bit unstable. Is it possible to hack the remote for the HC-X900 to work flawlessly with the HC-X920? Or any hack on the market to control this camera with an IR remote? It has an IR sensor so I was hoping somebody somewhere could help me.
Unfortunately the new HC-X920 doesn’t come with an IR sensor. Panasonic graduated from IR remote control to Wifi, which sounds cool but actually sucks.
Great work
Can add the code for buttons EXT DISPLAY and W?
Tank you.
How can contact AKD user who posted the code of rec button.
Maybe he has the codes
I found this
Tested and working
# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.8.4a(default) on Sat May 15 20:21:57 2010
#
# contributed by
#
# brand: Panasonic N2QAEC000024
# model no. of remote control: N2QAEC000024
# devices being controlled by this remote: Panasonic HDC-SD200
#
begin remote
name N2QAEC000024
bits 24
flags SPACE_ENC
eps 30
aeps 100
header 3468 1731
one 446 1269
zero 446 424
ptrail 447
pre_data_bits 24
pre_data 0x40040E
gap 74451
toggle_bit_mask 0x0
begin codes
capture_still 0x14667C
T/+ 0x14465C
W/- 0x14C6DC
start/stop 0x143329
power 0x143C26
ext_display 0x14EAF0
date/time 0x14E6FC
search_back 0x14405A
play 0x14504A
search_forw 0x14C0DA
still_adv_back 0x14E0FA
pause 0x14607A
still_adv_forw 0x14F0EA
skip_back 0x149288
stop 0x14001A
skip_forw 0x145248
delete 0x140E14
menu 0x146A70
up 0x940B91
left 0x94CB51
right 0x944BD1
down 0x948B11
ok 0x141A00
end codes
end remote
Hello, can this remote be used for the panasonic hc-xc 920 model as well?