The world's most overengineered TV-B-Gone
Moderators: adafruit_support_bill, adafruit

The world's most overengineered TV-B-Gone

by gee on Fri Dec 07, 2012 11:51 pm

Here's my latest creation, the world's most overengineered TV-B-Gone.


Compared to the original device or the kit, it really offers no functional advantages other than maybe a smaller size or the charging feature. And it cost a lot more to make and is more complicated than it really needs to be. Had a bunch of fun designing/building it though.


- Hammond 1551 translucent blue enclosure, 5x3.5x1.5cm
- ATTiny84A microcontroller
- 8MHz crystal
- 250mAh LiPo cell stolen from a RC helicopter
- LTC4054L lithium battery charger IC, with a mini-USB connector provided for battery charging.
- Eight VLSB3940 IR LEDs in series. These are 3mm, have a 20 degree viewing angle and have the best radiant intensity I could find in a 3mm LED.
- LT3467 boost DC/DC converter, generating +15V for the anode end of the LED string
- 2-transistor constant current source pulling down the cathode end of the string. Currently set for 100mA. Circuit can handle 200mA operation.
- Two bicolor status LEDs, showing microcontroller and charging status.

Software was written from scratch for it, with a few unnecessary changes:

- I'm using variable length coding to store IR codes, which is slightly more efficient than the current TV-B-Gone method.
- On/off timing is done with timers instead of delay functions. Even when it's outputting codes, the CPU spends most of its time in idle sleep mode.
- CPU typically runs at 4MHz, and briefly switches to 8MHz when decoding an IR code.
- BOD disable sleep is used when idle, standby current is <1uA, well below the battery self discharge. BOD is normally enabled at 2.7V for low battery protection.
- There's a few different modes of operation. Classic TV-B-Gone mode, a "repeat the last several codes sent before you hit stop" mode, and an IR torch mode which just turns the IR LEDs on - put in there for testing, never taken out, and entirely useless.

TV turn off codes were stolen from the TV-B-Gone kit firmware - I turned the AVR code into a command line program that dumps a stream of on/off pairs into a file, and wrote a quick C program that converts these codes to the variable length code.

I'll release the Eagle files and software soon, I have to clean them up and figure out a good online place to poke them for sharing.
Posts: 11
Joined: Fri May 22, 2009 10:21 am

Re: The world's most overengineered TV-B-Gone

by adafruit_support_bill on Sat Dec 08, 2012 8:25 am

That's a nice looking build! :D

Posts: 37568
Joined: Sat Feb 07, 2009 10:11 am

Re: The world's most overengineered TV-B-Gone

by gee on Sun Dec 09, 2012 10:22 pm

A picture of the guts. Opened unit on the left - header is a 2mm ISP header for reprogramming the AVR, and the battery is fixed to the PCB with double sided foam tape. On the right is another card that I'm building for my brother, who is in south korea where TVs are even more obtrusive - apparently even fancy restaurants over there have TVs on the wall.


Tidying up the software for release has resulted in me making a bunch of changes to it. Might be a while...
Posts: 11
Joined: Fri May 22, 2009 10:21 am