As always this gadget landed on my bench to be operated on and resurrected if at all possible. Well it worked after some tinkering with the infrared LED which was showing rather advanced pin corrosion, only to die yet again just a day later. Came back to me for surgery once more. After an inordinately long time--as in hours!--and only after checking the VBE of the S9014 NPN transistor (used to switch the LED) with an oscilloscope did I finally find out that the LED wasn't working right anymore. Sure, it would light up (crudely determined via a cell phone camera) if directly connected to a DC current source, but it can't operate properly at all at 38kHz.
I could easily replace the LED, but the control's plastic casing is so badly battered it's better to just buy a new remote. That is, if you can find one. I swear I tried, scouring shops for a good two hours. Seems like no one sells replacements. Eerily, I didn't see anyone selling China DVD players either. And none of the universal remote controls I've checked list "Xtreme" in their repertoire.
And so it was back to the PCB, this time to determine the infrared protocol it was using. At first I thought it was employing the JVC protocol. But it turns out Xtreme uses NEC's (see reference section below). I don't know if Xtreme actually even obtained permission from NEC since the device address it uses is 0x00. I've also checked a Kolin remote control and its address is 0x9D40, which seems to imply that that's what NEC has assigned to Kolin (or Kolin air conditioners). Obviously Kolin uses the extended NEC protocol since it's address is 16 bits long.
To find out the protocol being used and the button codes I hooked up an oscilloscope to the MCU output leading to the base of the transistor. Here are some of the button codes I've deciphered thus far:
button on Xtreme DVD remote control | command code in hex |
---|---|
POWER | 0x0C |
1 | 0x00 |
2 | 0x01 |
9 | 0x08 |
10+ | 0x0A |
10 | 0x0B |
cursor/arrow up | 0x10 |
cursor/arrow down | 0x11 |
cursor/arrow left | 0x12 |
cursor/arrow right | 0x13 |
ENTER | 0x0E |
CLEAR | 0x1B |
In the photos below the red (base) and blue (collector) wires coming off the board is where the S9014 NPN used to be. The pins of the transistor were badly corroded and I replaced it, only to find out it was still working! I've hooked these "breakout" wires to transistors/LEDs/resistors on a breadboard to test the pcb. In the photo of the LED you'l see that I've added a 10-ohm resistor since I couldn't find any current limiting resistor on the board. The foil path from the Vcc to anode and cathode to transistor collector is around 1.5 ohms total (I used a Fluke 8842A with test lead resistance nulled). Don't know whether this <2-ohm resistance is sufficient. Neither do I have any idea of the LED's characteristics--if it has some integrated resistance or something. Or if the NPN is being used to regulate maximum current through the LED since the transistor itself does not have a discrete base resistor. The orange rectangular component marked "GHB 455E" is a 455kHz ceramic resonator. It's flanked by its two ceramic caps. Electrolytic filter capacitor is 47uF 10V.
NEC infrared protocol references:
- A definitive guide would be NEC's datasheet for its uPD6121 chip
- San Bergmans' excellent site on various infrared protocols
- A Celadon, Inc. document on the Sony, Matsushita, NEC, and RC-5 protocols
- Altium wiki NEC page