Intro: My Nikon DSLR has an infrared remote function (remote sold separately) that is really handy, but fairly limited in range. A while ago, I bought a TV-B-Gone Kit from it's inventor Mitch Altman, and it can turn TV's off from a great distance. I thought, "Hey, this thing is open source! I can hack this!" So follow along for replacing the firmware to create a super-powerful camera remote. You could even use it for other things, like adding a long wire for trip-wire photos,etc.

Step 1: Assemble the Parts

1. The TV-B-Gone kit is sold by Lady Ada over at adafruit It's also open source so if you want to put it all together yourself you can.

2. You'll also need a target board (you can do this on a breadboard). I used an extra TV-B-Gone PCB with a programming header and oscillator. If you want to program this once, you can also use the TV-B-Gone itself if you leave the LEDs off until you are done programming.

3. AVR toolchain. I use winavr

4. An ISP programmer. I use usbtinyisp from adafruit, but you can also use the arduino (lots of instructables on this) or this great new shield by randofo
or put the programming header on the bottom side.
I've been planing a similar hack, to make a device send a pre-programed sequence of IR commands with long (half an hour) delays.<br><br>I hadn't realized that the ISP didn't work and that's going to put a kink in my plans to easily reprogram it occasionally.<br><br>How did you develop your firmware? Did you just build a tv-b-gone on a bread board? Or did you pop the chip out every time you needed to program it?
I verified, both by experiment and with Limor herself, that to use the programming header, you have to lift one leg of the output resistor. It would be possible to tie it to a switch, but after a while it might get ugly. The circuit board only costs $5, plus you would have to buy a resonator, and if you don't have them, the programming headers. That is sufficient to make a target board for the attiny
I do indeed pop the chip out when I reprogram it. If you don't need super compact, you could switch (or unplug) the LEDs for programming (I think.) You can probably get the canonical answer over at the adafruit forums.<br><br>Thinking about it now, with the 1.2 design, you would only have to switch out the output pin of the processor (where it ties to the base of the PNP transistor. and the programming should work. <br><br>Caveat, my information about the programming not being possible is based on the 1.1 design, and the single output may put programming within range.<br>

About This Instructable




Bio: I'm a technology professional, photographer, interactive sculpture artist and all around geek! I love making things and teaching others to create.
More by osbock:Using the 8Pin ATTINY programming shield with an external clock Turn a TV-B-Gone into a super camera remote! 
Add instructable to: