Saturday, October 27, 2012

IR Remote Format for the Foxtel IQ2

After analysing the Sony and JVC remotes, I moved on to the remote for the Foxtel IQ2. The unit is a Pace TDC850NF set-top box. Actually, to start with I started with the plain old Foxtel remote. In the past, it had met with a small accident and the IR filter was shattered. So I opened it up and did the usual - soldered a pair of wires to the IR LED and brought them out. But the signals did not follow the usual pattern.

Foxtel IQ2 Remote Control with wires

I connected the wires up to the logic analyser and fired it up. The signal looked a bit unusual. But let us get the basics out of the way. The carier signal period was approximately 27.675 us with an on time of 9.05 us. This is probably a 36 KHZ carrier with a duty cycle of 33%.

Foxtel IQ2 IR Signal

The signals don't fall into the usual category of Pulse, Space and Phase Encoding. Well, not entirely. The header has a mark of 396 us and space of 296 us. The mark is the same of 147 us. But there seem to be four different space values of 288 us, 457 us, 626 us and 796 us. It looks like it is still Space Coding but there are four values and each space represents two bits. Looking at the signal again, it can be reinterpreted as shown below.

Foxtel IQ2 IR Signal Coding

With each space encoding two bits, the whole signal represents 32 bits. The above signal represents the binary code 0010 0001 1010 0000 0010 0110 0000 0011 or the hex code 21A0 2603.

The next step was to get the codes for all the buttons. But the remote used for the Foxtel IQ2 has a few extra buttons. I was reluctant to do surgery on this unit so I used the next best thing. A non-intrusive way to checking the signal is to connect a MEL12 photo-transistor in series with a 5.6K resistor and power it with a 9V supply. The voltage across the MEL12 is then fed into the logic analyser. Keeping the are relatively dark, you can bring the remote and point in directly at the MEL12 and press the buttons. This allowed me to check the codes for the few extra buttons on the IQ2 remote.

All codes started with the same first 24 bits. This corresponds to the hex code 21A0 26. The list of all codes on the remote ordered by the codes is as shown below. A prefix of 21A0 26 is assumed for all codes.

Key Code
0 00
1 01
2 02
3 03
4 04
5 05
6 06
7 07
8 08
9 09
Power 0C
Mute 0D
Info 0F
Vol+ 10
Vol- 11
Chn+ 20
Chn- 21
Fwd* 28
Rew* 29
Play* 2C
Pause* 30
  
Key Code
Stop* 31
Record* 37
AV 38
Foxtel 4E
Setup 54
Up 58
Down 59
Left 5A
Right 5B
Select 5C
Red 6D
Green 6E
Yellow 6F
Blue 70
Help 81
Back 83
TV Guide CC
Box Office D5
Planner F4
Active FD
*Buttons found only on the IQ2

The observed values are approximate. But making a few guesses at the coding scheme parameters, you can come up with some values. Let us start with a carrier frequency of 36 KHz. All mark periods are whole multiples of the carrier period. The space durations also usually are multiples as well. The header mark and space correspond to 15 and 12 cycles. The mark corresponds to 6 cycles. The space values correspond to 12, 18, 24 and 30 cycles. The parameters of the coding scheme can be summarised as below.

Manuf. Carrier
Freq.
(KHz)
Duty
Cycle
(%)
Encoding Data
Bits
Header
Pulse
(us)
Header
Space
(us)
Pulse
(us)
00
Space
(us)
01
Space
(us)
10
Space
(us)
11
Space
(us)
No. of
Reps
Gap for
Reps
(ms)
Foxtel 36 33 Space4 32 417 333 167 333 500 667 833 ? ?

3 comments:

  1. Thank you for the information. It was very helpful.

    ReplyDelete
  2. Man you are a genius.! Now if we can just find an RS232 Tx Rx and Gnd on the decoder and send these commands to it...
    Also what did you discover regarding the way Foxtel makes use of the toggle (parity) bit??
    Thanks

    ReplyDelete
  3. Love your work man! You have saved so much time for anyone setting up a cloned Foxtel remote; like DAYS of time.
    A BIG thank you.

    ReplyDelete