Arduino TV-B-Gone





Introduction: Arduino TV-B-Gone

Some time ago i found the tv-b-gone kit on the internet, and i really wanted one of those! Problem: I don't live in USA so the shipping costs were huge! After some search on google  I'we found that this guy adapted the code from the ATtiny85v chip inside the TV-B-gone to the arduino. So here it is, a tutorial for those who have an arduino laying around and some other stuff:

-1K resistor
-2n4401 transistor
-jumper wires

More details and files on my website

Step 1: Make It!

          First, connect the 5v pin from the arduino board to the second horizontal rail of the breadboard and the GND pin of the arduino to the first one. Now, place your pushbutton, LED , transistor and resistor on the breadboard according to the schematic. Connect one of the pushbutton's pin to the ground and the second one to the digital pin 2 on the arduino board.
         Now for the transmitter part, you will have to connect the collector pin of the npn transistor to the 5v rail , the base to the digital pin 3 and the emitter to the anode (+) pin of the  LED. The cathode will be attached to GND trough a 1k resistor.
         *Note:If you're in Europe, you'l have to connect the digital pin 5 to ground trough a 1k ohm resistor.

         Your breadboard should look like this now:

Step 2: Programming the Arduino Board:

Download the Arduino sketch and open the TVB.pde file with the Arduin IDE. Three other tabs should open next. Now just upload the code frome the TVB.pde on the arduino and connect everything together! Enjoy Shutting down the TV's from shops and restaurants!


2 People Made This Project!

  • AmirE13 made it!

  • yesbook made it!


  • Remote Control Contest 2017

    Remote Control Contest 2017
  • Arduino Contest 2017

    Arduino Contest 2017
  • LED Contest 2017

    LED Contest 2017

We have a be nice policy.
Please be positive and constructive.


Questions & Answers


I got a large array ready for input. Anyone got an arduino nano running tv b gone right now? These six year old posts aren't much help.

Hi all. for those who encountered errors:

i had the same problem with all of you, every few lines some error occurs, after a few hours of playing with the code and the libraries and reading the Ken's method ( of coding for hundreds of times, i found that the problem is not the code itself, I've tried fixing every error, changing every port and finally came to this:

version 1.0.3 ( of arduino IDE for windows, just uploaded it to my UNO R3 without any errors and it works great. i have used no transistors or resistors, just pinned anode of the IR LED to pin 3 and then grounded the IR LED cathode to GND right next to pin 13. turns every single TV that i have tested so far off, 30 years olds from sony to toshiba and high end samsung TVs.

Is it really works?

I've hit several problems trying just to verify the code. So for anyone else, apparently some compilers don't like the way NApowerCodes and EUpowerCodes are declared, you need to add a "const" after "*" or it won't recognize the variable as a constant:
const struct IrCode * const NApowerCodes[] PROGMEM = {
extern PGM_P * const NApowerCodes[] PROGMEM;

Now I've gotten no end of trouble with NApowerCodes apparently being undefined:
"/usr/share/arduino/TVB.ino:381: undefined reference to `NApowerCodes'"
There's no reason why this should be that I've found, though, it's defined in WorldCODES.cpp. Any thoughts on how this should be?

i get the same errors. haven't got around them yet.

I managed to compile it with an older ide release : i used version 1.0.5 and it worked just fine

I tried and got the errors,

TVB.ino: In function 'void sendAllCodes()':

TVB:261: error: 'NApowerCodes' was not declared in this scope

Anyway this could be fixed?

can i use arduino nano?

Thanks for good tutorial, it works very well (the EU version). I made it without the resistor and added second LED (parallel to the first one) and it has longer range. I turned on and off the TV in a restaurant from about 15-20 meters distance through glass, I consider it a very good result. I think I'm gonna add some switch for quick and easy change between EU and US version and may be I'll try adding more diods.

Also, if you have trouble with compilling or seeing three tabs, put all three files into folder named "TVB".

Any fix for the error message: "undefined reference to 'NApowerCodes'"

... and ... "undefined reference to 'EUpowerCodes'"

... yet?