Super TV-B-Gone
I liked the tvbgone kit from Ladyada the first time i saw it but i never had the time to build it, until a week ago. But than i decided to build a more powerful one that could turn off TV’s from even greater distance. I came up with a design that consists of 48 IR LED’s and a ATmega8 that will send the signals to the LED’s.
the led board
Unfortunately i wasn’t paying attention on a small paragraph from Ladyada that was saying “Use 940nm IR LEDs.” so without knowing i bought 860nm IR LED’s (L53SF6C from Kingbright). I did not knew at that time that this is going to affect the distance at which the device works. Why L53SF6C ? they seemed nice because at 50 mA they have typical 100 mW/sr so allot more power than the F3(940 nm) series which had 30 mW/sr at 50 mA.
I arranged the LED’s in 4 rows of 12 pieces and the resistors fit quite nicely between the LED’s. I used four BD139 NPN transistors to drive the rows. It took me hours to drill and then solder this board(48 LED’s and 48 resistors mean 192 holes plus the other parts)
the controller board
The controller board contains an ATmega8 chosen because of it’s 8k memory needed to store all the codes, an 8 MHz crystal, an LED, a tact switch and some resistors and capacitors. I designed the board so that it can also be used for other projects.
the code
It took me some time to adjust the code from tiny85 to ATmega8, getting the timers right was tricky but i managed to get it done. Also i had to delete a couple of codes to fit it in the 8k’s of the ATmega8.
the power
The whole project is powered from a Nokia BL-5B battery which was ugly fitted onto a peace of PCB
. I can’t seem to find a decent socket to hold such a battery. I’ve run the circuit for over a week every day and the battery is keeping up, and when it gets discharged I’ll simply charge it inside of an old nokia phone.
Testing it
Well as you can imagine the first thing i did was to test it on the TV’s in my place, it worked perfectly. Next i wanted to test it on a larger scale so i took the device onto a nearby supermarket were they have a bunch of Tv’s onto a wall. I had to conceal the device somehow so they don’t kick me out of the store
so i placed the device inside a CD case. I don’t know how much the case is obstructing the signal, but it was turning off TV’s from a distance of 20 meters.
Probably choosing the right wavelength LED’s would double the distance, and by using a clear case the distance would double again, but that’s just a guess.
The boards were designed in Eagle and fabricated by me using the photo etching technique.
I’m planing to build a newer version, in fact i already sent the files for PCB fabricating. This new version will use only 4 LED’s just like the original design, and will be smaller thus easier to conceal and it will also use ATmega8 for the controller. I’ll post pictures as soon as i get it done.
some more pictures..
downloads











October 12th, 2008 at 3:18 am
[...] Florin made a giant TV-B-Gon…… 48 IR LEDs and an ATmega8 that sends the signals to the LEDs. Source code and schematics included. He writes – I arranged the LED’s in 4 rows of 12 pieces and the resistors fit quite nicely between the LED’s. I used four BD139 NPN transistors to drive the rows. It took me hours to drill and then solder this board(48 LED’s and 48 resistors mean 192 holes plus the other parts). The controller board contains an ATmega8 chosen because of it’s 8k memory needed to store all the codes, an 8 MHz crystal, an LED, a tact switch and some resistors and capacitors. I designed the board so that it can also be used for other projects. [...]
October 12th, 2008 at 6:16 am
Why not use the mega168 so you’d have room for all the codes, and more importantly can you provide source code for the mega168 with all the codes?
October 12th, 2008 at 9:42 am
Socrat, ATmega168 would of been better i could off added even more codes, but since i had ATmega8′s and didn’t had to buy any i worked with them. The file with all the source code can be found in the original project at ladyada here is the link http://ladyada.net/media/tvbgone/tvbgone11b.zip
October 12th, 2008 at 9:52 am
First I would like to say I am really impressed with your project.Do you know what the range of the original tv-b-gone is?
October 12th, 2008 at 10:14 am
Bill, mentioned on Ladyada website is “150 feet or more!”
October 12th, 2008 at 3:55 pm
Florin , i particularly like the little stickers that you’ve placed on the back of the board, that’s really useful feature !
October 13th, 2008 at 3:44 am
So what do you do with these things? Turning off public TVs would get old maybe the second time you do it.
If you really want to have fun, build up a miniature one with surface mount LEDs. Use an RTC in the uC to trigger the thing at random times of day every 3 or 4 days. Conceal it carefully at Buy More and see how long it takes them to find it. Maybe add a magnet and toss it up to stick on the ceiling tile hangers. Add turn-on capability to it and turn sets on and off at random times. THAT would be fun!
October 13th, 2008 at 9:08 am
TD, I am in the course of building a smaller one
October 13th, 2008 at 9:50 pm
You can drive the led’s on MUCH higher mA, since the signal exist of very short pules they won’t die when you put 500mA or so right trough them.
I’m using 10x 3 led’s in series direct to a 9volt block battery. And it’s hard to measure, due to the high freq. signal with a multimeter, but with my camera i saw only a bit of light coming off them at a calculated 100mA, right now the light is over-exposing the picture.
October 13th, 2008 at 11:29 pm
Ferry, i noticed that too, and the whole board draws much less current than i expected, and the reason is as you said the high freq of the signal, in my next version I’ll increase the current, maybe I’ll get more range.
November 14th, 2008 at 11:38 pm
Hi. Please send me the .hex file
November 15th, 2008 at 1:53 am
Tomas, the hex file is packed inside an archive that is available for download at the end of the article, look for “source code”
January 25th, 2009 at 11:47 pm
Some creative use of the old phone the battery came out of and a dremel tool could leave you with something of a battery holder. great article.
January 26th, 2009 at 10:30 am
thank you rick
March 5th, 2009 at 7:08 pm
Florin, there’s no .hex file.
March 5th, 2009 at 11:21 pm
Thanks for letting me know. I’ve updated the archive and it now contains the .hex file. But if you’re not using exactly the same setup as i did, that file is useless.
May 18th, 2009 at 6:14 am
Here is something that should be trivial to port to your ATmega8 that has ALL of the TVBGone Generation 3 codes, still fitting in less than 8K of space, as a result of compression. http://caitsith2.net/projects/tvbgone/
Of course, if ported to an ATmega168, then it should be possible to fit ALL of NA codes and ALL of EU codes in the same firmware, along with a jumper/switch of some sort to choose which region.
May 18th, 2009 at 8:07 am
Hmmmm… avr-gcc is reporting tons of undefined variable errors… Why’s that?
main.c: In function ‘xmitCodeElement’:
main.c:71: error: ‘TIFR’ undeclared (first use in this function)
main.c:71: error: (Each undeclared identifier is reported only once
main.c:71: error: for each function it appears in.)
main.c:82: error: ‘TCCR2′ undeclared (first use in this function)
main.c:82: error: ‘COM20′ undeclared (first use in this function)
main.c: In function ‘gotosleep’:
main.c:105: error: ‘TCCR2′ undeclared (first use in this function)
main.c: In function ‘main’:
main.c:129: error: ‘TCCR2′ undeclared (first use in this function)
main.c:132: error: ‘MCUCSR’ undeclared (first use in this function)
main.c:154: warning: initialization makes pointer from integer without a cast
main.c:158: error: ‘OCR2′ undeclared (first use in this function)
make: *** [main.o] Error 1
May 18th, 2009 at 8:15 am
Oh heh. Wrong makefile.
May 18th, 2009 at 10:30 am
@CaiSith2: I’m not really interested in working on this project anymore. I did it, I’ve seen it working, but It’s not that interesting any more. Thanks for the Idea though. If I were to re-design it, I would integrate the last generation codes for sure.
@etharooni: Is everything ok now? it compiles without errors?
July 18th, 2009 at 8:34 pm
[...] don’t forget to check youritronics custom version of tv-b-gone. [...]
January 20th, 2010 at 8:06 am
Fuses for programming Atmega8 ?
January 20th, 2010 at 11:50 am
no special fuses, If I remember correctly just the atmega running at 8MHz