µTVBG – World Smallest TV-B-Gone clone

July 4, 2009

in Projects

I really like TV-B-Gone by Mitch Altman. The idea to have an universal remote to switch off any TV set is just marvellous! But for some real sneaky operation I wanted a much smaller version which perfectly fits into my pocket. So how about a small experiment how small you can go (and still solder by hand). So here it is: (most probably) the world smallest implementation of TV-B-Gone:


The µTVBG is based on the ATTINY85 implementation by Lady Ada. I just downloaded the schematics and replaced some parts, reduced the number of IR diodes and did a new board layout. Nothing special. Even the firmware works unchanged.The whole board measures a mere 1.4 cm to 2.5 cm – small enough to fit in in every pocket.

All parts are SMT 0603 parts, the transistors are the good old BC850C and as IR diodes I used the Osram SFH 4600 (I think I got quite a soft spot for all those Osram LED stuff, more by accident I use it more or less exclusively – they have great parts, are at least designed by German engineers). The SF 4600 deliver 30 mW of power at 940nm wave length, they look good and can be used flat or as side looker (as I have done here). Currently they are being replaced by the SFH 4641. The switch is a C & K Components KR221G, which is good quality and gives quite an good tactile feeling.


As you can see in the above picture I was able to completely mess up the SFH 4600 footprint – twice as wide as it should be. But with a piece of old wire it was no problem to fix it. You can see, you can even air wire stuff in SMT.


The board is powered by a CR1220 lithium battery, placed on the bottom of the board.

Why an SMT TV-B-Gone clone?

First of all I wanted a real small version – and I achieved that. Second I wanted to test if hand soldering of 0603 is feasible – which it is. 0805 is much easier, but consumes far more board space.

But the main reason is that I want to encourage everybody to try some SMT work. You can do a lot of cool stuff with it, cramp a lot of functionality in a very small board space. And you get real cool components for SMT. Most modern chips are developed as SMT-version only and if you stick to through-the-hole stuff you will never be able to use them (OK, you can get your breakout board at SparkFun). If you managed to do some SMT you are able to pick from thousands of alternatives from major vendors. And the hardest thing about SMT is to get over the fear that it is too small, which it is not – in most cases. So go for it!

{ 43 comments… read them below or add one }

Alex July 4, 2009 at 19:38

hey, nice job. How did you make the ISP jack? Are those just solder-in jacks? Thanks.


Marcus July 4, 2009 at 19:41

Yep, this are just solder in sockets. They are quite hard to get (i got them from the German vendor Conrad) – perhaps somebody has a int how to get them internationally.


jason July 4, 2009 at 20:26

nice job


jproach July 4, 2009 at 22:59

They are PC Pin receptacles. Mill-max is the most common manufacturer of them.

Digikey stocks a few, don’t know how they are internationally though: http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=1508113&stock=1
You will need to determine length and find one that fits 0.025″ post. Pin size range (ie .022/.032″) is part of the description so you can’t filter it sadly.


Alexander July 4, 2009 at 23:38

You need to sell the board or make the schematic available. This would usher in a whole new level of TVBG antics.


war6763 July 4, 2009 at 23:50

Any chance we can get the schematic? :D


sushi July 5, 2009 at 00:32

Can you provide your board layout file and schematic?


Luke July 5, 2009 at 04:41

It would be awesome if you put this board up for sale on sparkfun.com or http://www.seeedstudio.com/depot/ Great stuff! keep it up


thp777 July 5, 2009 at 08:40



Marcus July 5, 2009 at 11:09

The schematics is more or less unchanged from ladyada. I just changed the parts. You can grab the original version from there.
Regarding board/layout/kits: I think I will create an improved version which will be offered as a kit.


Nico Erfurth July 5, 2009 at 13:14

How are the dimensions of the board after all?


Marcus July 5, 2009 at 13:17

As said in the text, the board dimensions are 1.4cm to 2.5cm. It fits completely under my thumb.


Andy July 5, 2009 at 13:16

Do you sell this thing?


Marcus July 5, 2009 at 13:23

Yes and no. I will create an improved version (with correct pads and MOSFET transistors for better in system programming – currently you can program the device only if it is half assembled). It will be a SMT only kit (most probably going back to 0805 components and by that a tad bigger) and if Lady Ada and Mitch Altman have no objections I will sell it here. So stay tuned.


joe July 5, 2009 at 14:22

+1 on the kit… been wanting to start w/ SMT


Conor July 6, 2009 at 19:29

That is so cooool!
I love TVBGone also, and this is a real cool version….
You could easily sew this to a cap and turn off TV’s just by looking at them…
Great work :)


Nico Erfurth July 6, 2009 at 20:38

Does anybody understand why there are TWO seperatly driven IR-Leds? AFAICT they both should use the same codes and timings, or did I misunderstand the code (from the LadyAda website)?


Nick July 6, 2009 at 22:13

I’m guessing it has to do with the current limitations of the SMD transistors.


boortix July 6, 2009 at 23:27

Put up a picture w/ something to compare the scale to. A coin or thumb perhaps.


Marcus July 7, 2009 at 10:23

Yes, you are right. The reason for two transistor is just some mindlessness on my side. I just reduced the number of IR LEDs to 2 but did not reduce the number of driving transistors. I did not mind since there was still some space on the board ;) .
Next version will have just one transistor and changed source code.


Robert G Cole July 7, 2009 at 20:02

I have a perverse desire to wire one of these into a toy sonic screwdriver.


Nico Erfurth July 8, 2009 at 22:28

Well, I’m currently squeezing a version with just one led into 16x13mm about as big as the coinholder itself. The only question is, where to place the programming header, but I’m thinking about adding wirepads to the side of the pcb, so one could solder a 2×3 header vertically to it and remove it after programming.


Marcus July 9, 2009 at 08:37

Yes, you are right Nico – the programming header consumes the most space – and did somehow define the form factor for my µTVBG.
Post a link after you are finished, I am really curious!


Joe July 19, 2009 at 03:06

Im no electrical engineer, so how could I get my hands on one of these beautifuls?


Marcus July 21, 2009 at 06:45

Lets see. Perhaps I offer a kit for this too. But first I have to check it with Adafruit & Mitch Altmann


Mohammed August 5, 2009 at 04:16

Guys how can i get it


tz November 27, 2009 at 18:17

Do you have a part number for the crystal/resonator? Most SMD versions I can find are larger.


Marcus November 27, 2009 at 21:32

I use the Murata CSTCE series. I got t from the Sparkfun Eagle Library. They are quite easy to solder and really small!


George Caswell January 12, 2010 at 07:10

Hey, could you help me out with a few questions?

I’m trying to do an ATTiny85-based TV-B-Gone running on three LR-44 cells. Based on what you did here it seems like that should be sufficient power – but when I try mine, it works (kind of unreliably, though) for a while, and then runs out of power pretty quickly. I’m wondering if I need to ramp back the LED output to save power or something.

For space reasons I’m driving just one IR LED with one NPN transistor. I don’t have a version of the TV-B-Gone schematic prior to v1.2 when the PNP transistor was added, so I don’t know if I’ve got the circuit right. So I was wondering if you could
1: tell me what kind of battery life you get out of this thing
2: tell me what kind of range you get out of this thing
3: tell me how the LED-driver transistors are hooked up



Marcus January 12, 2010 at 16:09

Some quick answers to your questions:
1) The IR LEDs consume a lot of power – try a LED calculator to estimate how much mA your IR LED draws. This should give you an good feeling how much minutes you have.
2) I have not done any rang testings. But I assumeit is quite small. Long range TVBG use a lot more power and a lot more IR LEDs
3) The LED drive is hooked up as shown in the adafruit schematics (Common emitter configuration – so between the led (resistor) and ground. Nothing special here.
I think the easiest way is to do your math and calculate the power consumpition.


george caswell January 12, 2010 at 18:29

I don’t think a LED calculator is going to get me anywhere… For starters, the TV-B-Gone kit schematic doesn’t include any resistors in series with the LEDs – the current is whatever the transistor will allow to pass… As far as I know LED calculators won’t calculate that. (I have to admit my working knowledge of transistors is somewhat weak, which is why I can’t calculate it, either…) And I don’t think I can just hook up a meter and see how much current the LED is using, because the LED isn’t supposed to be driven at 100% duty cycle with that much current… If I had a scope, maybe…

As for the battery life and range you get out of this thing – the reason I ask is because I’m having a lot of trouble with my circuit, based on the same design, draining the batteries too fast. These are LR-44′s, too, so they should have about three times the capacity of a CR1220. I’m having reliability problems that I believe are a result of excess battery drain. To know that your implementation lasts long enough that you don’t generally worry about battery life, and has enough range to hit a TV from across the room would be useful information to me. It means I’m not wasting my time trying to get this thing to work. :)

I was asking you about the LED drive because I don’t know what version of the upstream schematic you were using. The v1.2 schematic doesn’t have any resistors on the NPN transistors at all… v1.1 uses 120 Ohm resistors on the base of each NPN transistor, but nothing on the collector where the LED is connected.


Marcus January 12, 2010 at 19:02

Sorry, I do not have the schematics at hand right now.
If there is no resistor at the IR LED things are a bit complicated. It all depends on the current limiting of the transistor (which is the current through the base – You can use Ohms law here, it is just the current flowing through the base resistor – supply voltage divided by the resistor value) and the current consumption of the LED at the given voltage drop – so very complicated. You should also consider the ESR of the LR-44 battery and perhaps the voltage drop on the Attiny output pin.
But it will add up to: a lot!
Perhaps it is best to breadboard the IR LED and the transistor and measure the current.
My Design is more a funny small scale hack than a usable system. The next iteration will rely on a AAA battery and a step up circuit – everything else is plain ridiculous at those current levels. I will post my schematics later or tomorrow (lots of stuff to do).


george caswell January 14, 2010 at 18:44

I have a clearer picture of what was going on with my circuit, now: it seems the drain of the LED was causing the battery voltage to fluctuate enough to foul the microcontroller’s timing or cause it to reset. The basic symptom was that at moderate battery discharge, the thing would become very unreliable… Like I could turn off my TV (the fourth or fifth code in the database) from maybe ten feet away, reliably if I was lucky, or roughly 10% of the time if it was acting up. Real bad news. Since the IR LED I was using outputs some visible red, I could see the thing just freeze up sometimes. Adding a 100 microFarad cap across the battery helped, but it still had problems until I boosted the supply voltage to 6V to compensate… Now it seems to work much better. (Plus in the initial design I’d been using the LED without a resistor – I took the ladyada design, built for a robust 3V source, and hooked up 4.5V to it without thinking it through, which meant it was sucking as much current as the batteries could supply… I fixed that by adding a couple diodes and a resistor to turn the NPN into a simple 70mA current driver)
The main reason I didn’t just meter the current through the IR LED is because I was driving it beyond the spec’d limit for constant duty cycle… I was worried that if I had the thing on (without PWM) long enough to meter it I’d burn it out.
I’m curious about why your circuit wouldn’t have the same problems as mine did. After I fixed the glaring problem with the LED driver, I mean… (I don’t expect you to necessarily have the answer, just sort of thinking out loud…) Does the CR1220 have a lower ESR than the LR-44? The Cornfield Electronics TV-B-Gone apparently sidesteps the issue by using one cell to power the controller and another to drive the LED… The two power supplies are effectively isolated from one another, so the high current draw from the LED doesn’t impact the controller. It’s possible there’s some other problem with my circuit making the voltage dip worse, I don’t know…
Thanks for your time in answering my questions.


Marcus January 15, 2010 at 11:30

Ah, sounds familiar. Did the same mistake myself and it ended in my CR2023 post. I will try to use a step up converter to force the voltage to stay above 3 Volts, even if I draw a lot amount of current (this will of course work only partly, since I will not be able to draw a certain amount of current. But the real math is a bit complicated – so I have not done it until now).


hugo April 9, 2010 at 16:12


World smallest TV-B-Gone ?

Really ?
Check this out : http://digitalspirit.org/wiki/projets/extincteurtvv2



Marcus April 9, 2010 at 16:16

Mine seems still a bit smaller. But you are right the claim ‘world smallest’ can only be true for the date I posted it. It is possible to make it smaller.

Thanks for sharing the link!


leucos April 9, 2010 at 16:54

Hey Marcus.
Very nice indeed, but I’m now sure yours is the smallest.
Some assumptions : let’s say small il related to circuit area.
Your board is 14mm x 25 mm = 350mm²
hugo’s board is CR2032 sized (10mm radius), and thus has an area of ?R²=315mm².
His circuit has 2 “handles”, one is used to hook a lanyard. For the sake of equality, let assume that hugo files the lanyard handle.
I’d say that the handle left is roughly 10% of the reste of the board, so the finale board area for hugo is 315+32=347mm².
Damn that’s too bad, you’re second by 3mm² ;)


Marcus April 9, 2010 at 16:58

You have beaten me ;)



Corey October 17, 2010 at 16:12

Nice looking work!

I’m curious about the use of a single button cell in your design. I know that the commercial TV-b-gone uses 2 button cells—one to power the micro controller and the other to power the IR LEDs. Is your one cell design fully functional? Have you had any problems with it? (brownout, rapid discharge, etc?)


Marcus October 18, 2010 at 09:49

Yes, you are right. It is no high power design. The CR2032 have quite a high internal resistance – so that if I put too much power on the IR Led there is a big chance of of brown out. This design is more a experimnt in small space than a reliable high power model.


Corey November 27, 2010 at 07:11

Can I ask how you soldered the resonator on this board?
I was trying to solder a SMD resonator tonight and I couldn’t figure out how to do it. With a resistor or LED the pads are on the sides of the device, so I can touch them directly with my soldering iron; however, with the resonator the pads are underneath the device, so I can’t access them. I’m guessing you need a hot-air station to solder this kind of component—or is there another way? Thanks,


Marcus November 29, 2010 at 08:56

Yes, for those kind of parts I normally use a smd hot air rework station. It is doable but difficult doing it with a normal soldering iron.


Chrs Moran May 14, 2013 at 19:02

Hello, I’m working on a project and was just curious if you ever ended up selling these kits. I would love to buy one.


Leave a Comment

{ 6 trackbacks }