IR remote control reverse engineering

If you’re anything like me, or the vast majority of Americans, you are surrounded by IR devices at home, at work, and pretty much everywhere you go. A great number of these devices (round 90%, its kind of the standard) use the 38 kHz SonyIR protocol, but knowing just that doesn’t help much. Especially if you lack a proper oscilloscope, like me. Plus, hell, your remote might be in that mysterious 10 percent. In order to figure out the actual encoding, you need to be able to plot the signals while you fiddle with the remote, and then make a chart relating the independent variable (the fiddling) to the depedent variable, the bursts of 0s and 1s that inevitably ensue.

IR pulses for various button presses on someone else's oscilloscope :-\ man browser up

Trandi has done precisely that, in his reverse engineering a remote controller from a toy chinook to operate his land based Rover and has devised an excellent technique for visualizing the data transmissions from the remote with just an attiny and a IR photodetector IC from radio$hack. Now if you, like me, find your local radio$hack overpriced and understocked, over on the arduino forums its been discovered the same resolution can be had with a plain IR phototransistor and optionally a cheap opamp like the lm741 (or also I hypothesize with a TL082 dual biFET (perhaps wired as a fourth order Butterworth high-pass?) and a IRled. Likely it’d work best reverse biased, reducing the slow response time typical of using an led as a photodiode, at the expense of increased noise. What’s the point? Never had one. And that just burns you up inside!) provided you modify your timings a bit.

A remote much like this one was harmed. Severely.

Where was I going with this. Oh, right, I can finally use my television remote to control my attiny85/phototransistor circuit. The issue wasn’t in interfacing the mosfets with the solenoids and motors that actuate my home defense system, it was making it compatable with an IR protocol I had no ability to understand. Sure. There’s the obvious roundabout way of attaching buttons and code to allow the attiny to record pulses, but then you need to eliminate noise, average multiple recordings, et cetera, and I just wasn’t having it. Plus, you get a horribly limited amount of inputs, and your little chip is bloated with code like roadkill in August. Disgusting, I know. I don’t want to see that! Nobody wants to see that!

Now to better understand the protocol, check out benjamin at gumbo labs, whose made a magificent write up on IR decoding. He really goes quite in depth into the code and I keep it bookmarked in my resources folder.

Anyway, do hit up Trandi’s link. I don’t have time other than to add code and comments to my .pde. Plus, the parts are on order (note radioshack greviances above.) Right now, I’m on a kick, trying to get real acquanted with inductive charging. If you have any knowledge about this, pleeease comment.

Comments are closed.

Blog at

%d bloggers like this: