IR remote control mute button

I recently built a simple one button Arduino based IR remote control to mute our TV and Computer amp. I am quite happy with the results. The idea to use half a stress ball for the mute button I thought was inspired. The timber case built using with the aid of some jigs I made for my old saw bench came out better than expected.

To save power the voltage regulator and the current limiting resistor to the power LED were removed. The other onboard LED was left connected and ended up using it to flash with the IR LED just for diagnostics. As the case doesn’t have a bottom it displays a nice red flash in use. I decided to be a bit naughty and drive the IR LED without a limiting resistor through a transistor to drive it hard and get a bit more range. I thought the quick pulses would mean the LED should probably survive, but I ended up adding the resistor back in.

As is often the case, at least with my projects much time was spent trying to determine what was causing some unexpected behaviour. While it often worked correctly. Sometimes pressing the button didn’t seem to do anything. I used a number of different batteries I had laying around. I eventually discovered the IR LED was staying on, this was with some old batteries. My current assumption is that when the voltage drops too far the processor stops and the LED pin either goes high or it is stopping when it is high. As I don’t have a proper solution, I added the resistor back in series with the IR LED to at least reduce the current flow if it does happen again. With the resistor out I didn’t find the range was improved very much anyway.

The code

The code is fairly simple and is really designed to be able to support multi button remotes. After completing it I read that the TV begone just uses the reset button to wake up the processor, it then sends out it’s codes and then goes back to sleep. That’s an interesting way to do it that never occurred to me. I went with the traditional method of using a button and interrupt.

I mentioned earlier that it was designed to mute both a TV and a computer amp. These are in different rooms. The button simply sends out the mute pulses for one after the other. It could mute both at the same time, but due to location of the amp and TV that doesn’t happen in practice.

The code really needs further work to resolve the case where the LED stays on, but if you are interested you can check it out on my Github garrysblog/IR-Remote-Mute-Button

The circuit

Here is the circuit diagram. I used a PN2222A transistor, but that was because I have a lot of those. I presume it would work with a lot of other types. Other than that it is fairly simple

The case and button

The case was made mostly from a pine timber lining board. Like many of the reasons for my choices I did it this way as another project was to create some jigs to create clean precise 45 degree cuts on an old table saw. I don’t think I could have made it this way without the jigs. While most of the joints were glued using PVA glue the piece that holds in the switch and spring was glued in using hot melt glue to allow a about the right amount of time for jiggling before it hardened.

I needed a couple of thin discs to mount to the top and bottom of the ball that holds the ball. I tried some ply first but my results weren’t great. I had an old circuit board from a project that I abandoned years ago and after scraping off the old tracks found that it works well. See it’s worth hanging on to some things for 20+ years and now it is bringing me joy 🙂

Final results

It has been in use for a couple of months now. It’s still going well but I’m not sure how long the batteries will last. I still don’t haven’t fixed the issue with the LED, but other projects are calling. Maybe one day I’ll come back to it. I hope it gives you some inspiration.