USB Infrared Toy Free PCB Build

A couple of times a week the fine people at Dangerous Prototypes give away free pcbs to their readers. Some time ago I got the pleasure of receiving one of them. The PCB I had chosen was one for an older version of their USB Infrared Toy. It's a small device that allows you to analyze, copy and send IR remote controller signals. Of course the bare PCB I got wasn't going to do any of that, so it was time to do some soldering.

The first thing was to find the parts list, which I found here. I already had most of those parts, some parts could be replaced with something else that was almost correct (diode was replaced with a larger schottky diode, the surface mount crystal replaced with a normal one), but the ir receiver and demodulator I had to add to a Mouser order I was making anyways.

After getting all of the parts together, it was time to solder. Here's a youtube video of some of the soldering I did. I didn't film everything, though, as the camera was getting in the way all the time. Besides, watching other people solder isn't exactly the most exciting way to spend an evening.

Some more soldering and this is what I ended up with:


Not the most beautiful soldering, but it is passable. Next thing of course was to see if it works. To do that, it needed to be programmmed, which needs the hex file. All of the Dangerous Prototypes source codes, gerbers, hex files, software, tools and much more can be found from their very nice Google Code repository. After downloading what I needed, I used a PICkit3 to program the board. I also used a DIY pogo-pin adapter between the board and the programmer, that way there's no need to solder headers for the programming pins on the board, leaving the final board looking nicer.


It programmed successfully, yay! It was time to plug it into the computer now. After installing the required drivers, the computer seemed to recognize it, which was a relief: I didn't completely mess anything up during soldering. Next thing was to see if it actually works. At this point I realized that I don't actually have almost any IR devices in my apartment to test it with! The only thing I could find was the controller for a cheap chinese RGB LED strip I have, which came with an IR remote.


I tried to clone and re-send the "lights on" IR signal with the help of an application called IRToyRecPlay. I managed to read the signal and see some sort of an output from the application, but unfortunately, when I sent the recorded signal out, the LED controller did not respond! The lights did not light up! Annoying.

I decided to put a very quick test rig up, using another IR demodulator and my oscilloscope.


The idea was to capture what the signal from the remote looked like, and compare it to the one sent out by the USB IR Toy.


The one on the top is from the IR Toy, the one on the bottom is from the actual remote. The signal looks almost exactly the same, only the long pause in the beginning is shorter on the IR Toy. Maybe that has something to do with problems? I'm still going to have to check all of this out a bit more carefully, but the big thing is that it does seem to, at least mostly, work! Okay, so it doesn't control my RGB LED lights right now, but there is at least hope.

Anyways, that's it for now.