Yes, I know what you are thinking: "oh no, please not another TVBGone..."
Anyway, this instructable is for the newbies as me which are still experimenting with Arduino, and prefer to program an Atmega168 in Arduino than an AtTyny85 with other methods.
This circuit is based on Mitch Altman's TVBGone and on Ken Shirriff's blog where the software has been modified to match Arduino IC. I then decided to move the programmed Atmega on a dedicated pcb, and make everything fit in a transparent box with a 9V rechargeable battery.
Step 1: Choose the Box
The code which I've attached is the same you could download from Ken Shirriff's blog, meanwhile the pcb is designed to fit into the little box by Muji. Yes, another Muji box, and no, at Muji they don't pay me to find alternative uses for their boxes, however not yet ;-)
My TVBGone uses only a little IR LED, so it shouldn't be much powerful, anyway it's enough to turn off the unwanted tv with ads which had born as mushrooms anywhere in any station here in Milan, the difference is that mushrooms are very quiet...
Step 2: The BOM
Schematic is done with Diptrace, a free (for 250 pin max) pcb program which I found very convenient (except in components listing).
In pdf you will find the traces to transfer on the copper board and the top view with components position and values. Next is the bill of materials.
• an ATmega168 with socket
• a temporary NO button
• a little switch
• a 5V voltage regulator L7805CV
• a 16000 hz quartz
• an NPN transistor PN2222A
• two coloured LEDs
• an IR led
• the following resistors: 220ohm, 10ohm, 1Kohm, 10Kohm, 47ohm
• the following caps: 10uF, 22pF, 22pF
• a 9V battery with connections
• a convenient box
• a damned annoying television always turned on
Step 3: The Pcb Printing...
As usually, after cutted the copper board at the (almost) right dimension, I've laser-printed the traces on a glossy paper and I transfered them on the board with an iron. For this process you could follow this instructable "the TIRR (very simple Timelapse IR Remote)" or this other one "BBB (Bothersome Blinker for Bikes)" where it's good explained.
When you've transfered the scheme on the copper and cleaned it from the paper, check meticulously the continuity of the single traces, and try to fill with a fine permanent marker every interruption. After that you're ready to etch your pcb.
Step 4: ...and Etching
Here you can see that toner transfer method is very good if done with right paper (you've to try some different types and hope to be lucky). My traces are indeed very thin, to pass between the pins and simplify the manual routing work. And antennas on the logo are much more thin, but equally continuous.
Step 5: Drilling...
Now you have to drill the holes. You should be able to drill all holes with a 1 mm bit, anyway probably you'll need to enlarge the holes for the voltage regulator.
Step 6: ...and Assembling
Then you can mount the components on the pcb and see if everything fits good. I had to file a little the heatsink of the voltage regulator to make space for the button, but I've fixed that problem on the new layout, it should be better now. Also I didn't have a switch wit angle pins, so I had to make shift.
If everything stay right in place you can solder the components. I've designed a little thin trace to connect region pin to ground, so if you need North America codes you only have to break it with a cutter. The board with no modifications is to work with European TV codes.
Step 7: First Test
When everything is soldered in place push the IC in his socket (which you already had programmed in Arduino), connect the battery and turn on the circuit. Power LED (red) should turn on, and after 3 seconds status LED (yellow) should blink some times (it depends by the region pin). Then you can push the button to make the circuit binning to transmit. Yelow LED would blink every time a different code is sent.
Step 8: Refine the Box
If the circuit works good it time to adapt the box drilling holes for IR led, switch and start button. Put pcb near the box in right position and mark the alignment for IR led and switch, misure also distance from the ground, to know where to drill and cut. Then with some right tool refine the holes until switch head and led head fit exactly in them.
Step 9: Tidy Up Everithing...
Now close the box and mark the center of the button head, I've attached a piece of transparent LED on it because it was too short. Then drill the right diameter hole and refine everything with sand paper and lancets. I didn't glue the pcb to the box because everything is tight in place, but maybe you could lock the circuit with some glue or transparent silicone.
Step 10: ...and Claim You Rights!
Your TVBGone is ready!
You now can wait the train chatting with your neighbour, reading a book, listening your own mp3, and you'll be no more forced to listen the same three ads in loop (as it happens here!!) for all the time you're sitting in train station waiting room!