The world’s most overengineered TV-B-Gone


Introducing — the world’s most over-engineered 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, 5×3.5×1.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 less than 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.

Read More.


Join 6,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — Aquarium troubles: the cost of iteration and troubleshooting with a manufacturers abroad

Wearables — Plastic gem know-how

Electronics — Counting Pin Numbers

Biohacking — Exploring Our Inner Reality : Entopic Visions

Python for Microcontrollers — CircuitPython 3.0.0 Release Candidate 0 released!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.