Picture of TV Volume Loudness Guard using Arduino

What can be more annoying than those TV commercials on steroid?  Here you are watching your favorite TV show when all of a sudden you are ambushed by a very loud TV commercial sending you scrambling for the remote control to turn down the volume.  

In some countries it's now illegal for broadcasters to blast the volume during commercials. But in many others, this TV audio terror is still legal.  I hope my TV Volume Loudness Guard will mitigate some of this ad-driven rudeness. 

The TV Volume Loudness Guard will listen to your TV and if the volume goes higher than a certain level, it will bring it lower. 

There are many uses for this gadget such as keeping the TV volume down when you are in a different room while the kids are watching their favorite music channels. Or when someone blasts the stereo system. The TV Loudness Guard will be ready to keep a lid on it. The TV Loudness Guard should be part of every Big Brother's bag of tricks :)


Place the Arduino TV Volume Loudness Guard close to the TV set to monitor the volume. When the volume loudness of your TV exceeds a certain threshold (set by you in the program or via a trimpot), the gadget sends a Volume Down remote control code to your TV--or any other remote controlled gadget for that matter--until the TV volume falls below the pre-set level. This level can be changed in the program you upload to Arduino or with a potentiometer built into the sound sensor I am using in this project. 


There are three steps to make use of the TV Volume Loudness Guard:
  1. Capture & decode your remote control Volume Down button (or any other remote function). This feature is included in my gadget. 
  2. Update the TV Loudness Guard program with the remote control button code captured from step 1 and upload the program to your Arduino.
  3. Power the TV Loudness Guard and place it next to your TV. Fine-tune the parameters of the Arduino program and the sound sensor's potentiometer until you get the desired results. 

Remove these adsRemove these ads by Signing Up
upendrap14 days ago

What level of volume (Sound) should I set in my Sony LED TV and Tata Sky set top box? Maximum TV volume is 100 points and maximum set top box volume is 20 points. How much should I set both the volumes so that I get optimum audible sound?

I wish I could just go buy something like this. My father-in-law lives with our family and he is hard of hearing so he puts the volume so loud I have headaches every day. He refuses to turn it down, he has already blown speakers on one of our TV's. I do not know how to control his behavior.

FredS61 month ago

When I experience annoying loud television advertisements, I send an email to the advertiser that I am boycotting their products. If enough people do the same, the practice will stop.

Nellie133 months ago

This is too complicated for little ole me and I was wondering, are there any tv's that control the volume without extra equipment?


ybikawi1 year ago

big respect for u

codegamc1 year ago

you didn't include "IRromote.h" and while i have it, the code has presented some problems in my IDE, did you change it from the IR library online?

newbeduino2 years ago
Very cool :) How hard would it be to have it keep the volume at a certain level turn the tv down for the commericials and then back up when the quieter show comes back on.
I would love something like this too. It's not just commercials, but sometimes movies go from whisper quiet to explosion loud and I'd love a device that just kept the TV at a certain range, automatically raising the volume up and down as needed.

I'm doing this but I'm having trouble with the code. the IDE will not compile it, due to countless errors. anyone else have trouble, or understand the code in depth?

It seems i'm only one who can't make it work.

Noise level == 45

Blinking led on pin 13 tells that microphone is working.

But IR led on pin3 is not blink (it visible with any mobile camera). If i reconnect IR LED to pin13 - it blinks.
IF i connect any other LED to pin 3 ---> no blinking too
If i load those simple example that make onboard LED blinks and set the pin 3 - IR LED start blink.

What's wrong?

Arduino Mega 2560
I had the same problem and found the solution in the source code of the IRremote library: on the ATmega2560 the IR diode must be connected to pin 9, see
Edgar2 years ago
This could be used on pubs, restaurants, and the like!
Gone to my Blog:
3D Printers from India, Nano-printing 3D printers, and an Arduino that shuts up TV ads!
techbitar (author)  Edgar2 years ago
Glad you like it. It's more challenging in public places because of the ambient noise. But it's not difficult to read the audio signal directly from the headphone jack instead of an open mic. This could be Rev2 of the gadget.
Edgar techbitar2 years ago
Go for it, but don't forget to Patent it, because I see all kinda crazy stuff being sold, that's not useful as that one idea...
techbitar (author)  Edgar2 years ago
This project is based on all sorts of open source and open hardware ideas so it's only fair that it remains open :)
Edgar techbitar2 years ago
Right you are, but if someone makes money out of manufacturing those, isn't there somewhere, some open source support thing, you can send some kind of royalties?
zorwick2 years ago
Great project! Everybody should have one before they totally get brainwashed...I wanted something like this for decades! There were some devices many years ago to zero the volume when advertisements start but some marketing lobby stopped them to sell or built in to the TVs. Now I have to congratulate you...for me it is too late, I don't have TV for years now, because of the ads.
techbitar (author)  zorwick2 years ago
Merci! I think dumping the TV is the ideal solution. The internet is enough nowadays.
Excellent project. I need one of these. :D
techbitar (author)  jessyratfink2 years ago
Thanks! If you build one please share your experience. The Arduino program can benefit from more intelligence with additional timing parameters. I might update it in an upcoming version.