At church, we have a projector that is close to the ceiling and far away from the audio/video booth. The remote control that came with the projector does not have a very far range. I have to get out of the booth and walk close to the back row and keep moving the remote until I get the projector to turn off or on. It wasn’t only annoying for me, but I’m sure it was distracting for the church members.

The solution to this problem is an easy one: build a more powerful remote. The first order of business was whether I would build one from scratch or if I was going to modify something else on the market. Since the IR LEDs that I wanted were out of stock at mouser (and I dislike digikey’s shipping price), I decided to just buy a tv-b-gone kit from adafruit.

This kit was simple to put together and I was able to turn off all of my TVs in no time. I took the device to church in hopes that the IR code for the projector was already programmed in, but no such luck. In order to get the code for the benq projector, I put together an arduino with an IR receiver and used the IRremote library by Ken Shirriff. I love the library that he created. It not only gets you the raw data for the protocol, but it also tries to determine what protocol it is. The IRremote library told me that the benq projector that I had used the NEC protocol, code B14E00FF.

Now I needed to get this code onto the tv-b-gone. I read through the design document for the tv-b-gone, and was easily able to translate the raw IR code into the compressed tv-b-gone format.

Tv-b-gone at church

Verdict? It worked perfectly. I didn’t have to move from my seat to turn off/on the projector (in the picture, I’m hanging over the booth to get a good picture).

You may have noticed but I put the tv-b-gone inside a Maxim case I got when I ordered some samples.

Maxim case

All I did extra was drill 4 holes and put a small pushbutton in the front of it, then solder wires to it and the button on the PCB. The battery case is stuck on the bottom with double sided sticky tape.

Pushbutton on case

Soldered to pushbutton on PCB


I changed the code up a bit from the original firmware. I removed some unnecessary delays and LED blinks, and I obviously removed the rest of the TV codes. I used AVRStudio to write the firmware and USBtinyISP to program it.

Inside the zip, I include an analysis folder which contains the IR code for my projector. “analysis/ir.txt” is the more interesting file.