TV-B-Gone Mod v1.0

TV-B-Gone is a small gadget that can turn on and off virtually any TV in the world developed and sold as a kit by Adafruit. They also provide the source code and compiled firmware under Creative Common Share Alike license.
I would like to thank original developers at Adafruit for this great work and sharing ideas.

At first, I downloaded the firmware v1.1 and flashed an ATtiny85-20 and made it with only one transistor and two wide angle IR LEDs with two supercaps as shown below. The switch is connected to the supercap + so it will beam only when you press the button.
simple TV-B-Gone with supercaps

It worked fine, but the problem was it drained the supercaps too quickly. The first reason is, of course, low capacity (compared to batteries) of the supercaps, but there are other reasons, too. I didn’t have a resonator at 8MHz, so I burned the oscillator selection fuse bit of the ATtiny85-20 as internal 8MHz. The internal oscillator has benefits of omitting an external component and programmable, but there are serious down side; its frequency can be unstable and varies depending on the temperature and power supply, AND it consumes more power at high frequency settings.

I also tried v1.2 on a tiny bread board as shown below.

TV-B-Gone on breadboard

I haven’t taken a picture, but on the breadboard shown above, I added a 8MHz ceramic resonator and uploaded v1.2 firmware on an ATtiny85V-10 and found it can last double the time. One full cycle of pulsing all the codes takes a little less than a minute and with this latest testing configuration, more than 30 times of full cycle worked with 2 supercaps before the voltage dropped below 1.7V (two in series).

I have thought about to turn off the device before the full cycle finished. I thought about to add a power switch but that wasn’t very attractive to me.

A couple days ago, I suddenly got a good idea to utilize the Region Detection pin6. Once the program detects the region from the level of pin 6 (float (internal pull-up): US, pull-down: EU), it is not used until all the code pulsing is finished. So, in US mode for example, after it started pulsing and when you want to stop it, forcing the pin6 to ground will exit the do loop in software and the device will go sleep. I tested both US and EU mode with modified code and worked fine. This way, you can save battery.

Here is the schematic for the US version. I also added a slide switch to select IR LEDs between 2 wide but short ones and 1 narrow but long beam LED.

TV-B-Gone JeonLab Mod-US

And EU version:

TV-B-Gone JeonLab Mod-EU

If you want to have both in hand like me, you can use following design with a DPDT slide switch to change region.

TV-B-Gone JeonLab Mod-Uni

More updates will be followed.

If you want to buy an ATtiny85v-10 chip with this modified firmware loaded, send me an email with your location. It will be $5.00 + shipping.

You can buy a kit for US$12.50.  Please visit my shop page for detail.


6 thoughts on “TV-B-Gone Mod v1.0

  1. Paul:
    I have sent you the source file and the compiled hex file of the TV-B-Gone JeonLab mod. Hope you enjoy the kit. Remember the ATtiny85 chip included in the kit you bought already has the modified firmware so it is ready to use.

  2. Thanks for your help and support. I finally assembled the kit and it worked like a charm . The features I like most are size, efficiency(being able to chose(NA vs EU),,Power saving(by being able to stop after a trigger),, compactness,( of power caps vs AA batteries.).

    Question:: After stopping TVBG after a successful trigger, Is there a way to retrieve the code that made the trigger through say the Serial monitor?

    My thought is if we activate the serial monitor to read the transmitted code sequentially, the last print (after stopping) should be the successful code.Right? could you suggest a code line to accomplish this?

    Thanks again


    • Well, that’s not that I know of. I guess you are trying to get a code for a particular TV right after it is turned on or off. I doubt you can find correct code with the TVBG because even if you can STOP the TVBG really quickly as soon as it responded, the TV is not that fast to react so you will miss the right code. The ATtiny85 has not enough pins you can communicate with a PC while you are using it as the TVBG. Look at the schematic diagram. All the 8 pins are used. One possible idea I just got is, if you could, modify the code so that when you press STOP button, by blinking the visible LED, let you know how many codes were emitted before it stopped. And then look up the code table (look up the Adafruit’s files) and find it. Just a thought. Let me know if you succeed. This may be a good chance for you to learn ATtiny programming. Have fun!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s