This project brings back the old time Analog VU Meter, with the added functionality of a neat looking clock! When you turn off your music the meters automatically swing into to clock mode. Behind it all is the popular and easy to use Arduino.

This is my submission for the Make-to-Learn Youth Contest:

What did you make?
I made an old style analog VU meter and Clock using 2 analog panel meters, an Arduino, a real time clock, and other simple components. How it works: The unit plugs into a standard 3.5mm speaker jack. The Arduino reads the sound levels and converts it into electric pulses (PWM) to control the analog meters. When no sound is detected, the unit automatically changes to Clock mode and displays the time which is read from the real time clock circuit.

How did you make it?
I got the idea to make an analog VU meter from seeing them used in older audio receivers and amplifiers. I was always intrigued by the effect of a needle “dancing” to the beat of music. With my basic knowledge of electronics and the Arduino platform, I decided that I could make one myself. After searching around the internet to see if anyone had done anything similar, I found that many people create Clocks with analog panel meters. Well, why not include both functions?

Where did you make it?
I made this at home by myself. I like to listen to music a lot and I am always tinkering and playing with electronics. I thought that this would be a fun project to compliment my speaker system which I also built myself.

What did you learn?
I learned a lot from this project. The hardest thing to get right was the programming. I have never worked with analog panel meters before, so getting them to display time and sound accurately was challenging. For example: It was hard to get both meters to point exactly straight up at 6:30. I also learned that connecting the Arduino directly to an audio source can distort the audio. To fix this, I added some resistors and the distortion went away.


Step 1: Materials

Shopping List:

- 2, 5v Analog panel meters (Amazon) or (Amazon)
- Arduino (I used the pro mini) (Amazon)
- DS1307 Real time clock (Amazon)
- Protoboard (Amazon)
- 10K potentiometer (DigiKey)
- 2 tactile switches (DigiKey)
- 4 10K resistors (DigiKey)
- 4 white LEDs (optional) (DigiKey)
- USB cable (DigiKey)
- 3.5mm cable (DigiKey)

Total cost is around $47. It will be less if you have some of these parts already.
<p>Hi !</p><p>awesome project :) I could manage to get the clock working, however, no way of reading the sound from an audio jack...I looked everywhere on other websites/forum/guides etc, no way of catching the ouput from an audio jack, sending it to the arduino, reading it with analogRead and doing something with it...any hints ?</p><p>Thanks a lot for your help </p>
Awesome project! I wonder about the reason for your strange scale between 7 and 10 hours?
<p>The reason is that, on a scale of 1-12, 6 is not in the middle. The gap between 6 and 7 should be at the centre. If you want to have 6 right at the centre, the scale should start at 0 (e.g. for midnight) and the code would need to be tweaked to handle the difference between midnight and noon. Otherwise, adjust the 'hours values' to get a truly linear scale with the 6-7 gap in the middle.</p><p>Nice project!</p>
<p>having a voltage problem on both the hour and minute meters. </p><p>voltage from arduino pro mini will not produce full scale 5vdc. </p><p>currently my full range voltage is 0-4vdc. i assume this is a code issue. </p><p>if anyone has an idea please let me know.</p>
<p>Hi, its great!! i have a analog pannels and you give me an idea. Thanks</p><p>So... where is the code and the draws for a pannel? do you have it?</p>
<p>ok i found it, thanks</p>
<p>Hello! Great instructable!</p><p>One tip for the owners of arduino leonardo: The SDA and SCL ports have to be connected to digital 2 and 3 respectively. </p><p>More info here: http://arduino.cc/en/reference/wire </p><p>(yap, it took me kinda time to figure it out and I thought I had made a mistake :P)</p>
<p>Awesome job! That enclosure is sweet!</p>
Hi,... <br>Congratulations for your idea. <br>It&acute;s possible to change the project to make a 5.1 (6) vu meters? <br> <br>Thanks, Luis
Can you modify the code for seconds and am/pm. I've got a great design in my head but it needs 4 meters!
Hey I updated your sketch so the person only needs to enter the voltage of their meter and all the math is done automatically... I can send it to you if you want
VERY nice, but does this clock need to be connected via the USB port all of the time, or just during initial setup?
Thanks! The usb cable is only used for the 5v power. You can also use a 5v wall adapter or plug the usb connector into a usb wall charger.
Can I make it without the rtc module (i don't need the time)? <br>
Yes, you can. If you only want the VU (sound meter) function, just delete all of the code below line 204 in the analogVU_Clock code. Just make sure you leave in the last curly bracket at the end or it will not work.
Would you mind sharing what font you used for your customized panel meter face plates?
The font is Commercial Script BT
Everything seems to be working for me but the meters are running BACKWARDS! ??? <br>Any thoughts? The serial monitor shows the time is incrementing and decrementing correctly when the appropriate up or down button is pressed. Also the <br>The meters go high, then low during the startup as they should. <br>
Check your polarity on the meters. Switch the wires around and give it a try. Also make sure the meters are hooked up to PWM pins on your Arduino. If that is not the problem, open up the Fade example sketch and see what your meters do (remember to change the pin).
Updating here in case someone else runs into this. Thanks for helping me troubleshoot this today. Kudos to the author- A young person that is going to be successful. The Ardunio Uno requires that a (-) negative value be used for the meter values. <br>analogWrite(leftMeter, -X) Where x is the chosen value for each instance <br> <br>---also include negative as shown here---- <br>if (minutes * -4.75 &lt; 255){ // increase PWM value by 4.75 each minute <br> analogWrite(rightMeter, minutes * -4.75) <br> <br>
The value parameter used in analogWrite is an unsigned byte (0..255). I think there is something else going on in either your code or the connections. I've done a similar clock using the Uno with 4 VU meters (Hours, Minutes, Seconds &amp; Moon Phase) using a GPS receiver for time sync. It did not need a negative value. <br> <br>I want to give thanks to the author as well. He inspired me to do my own version. Thanks.
GREAT WORK! <br> <br>another suggestion! have a dual scale on the meter; top for time, bottom for db [decibels]
For a 'proper' VU meter, the signal should be rectified [positive added to the hegative of the negative!]. <br> <br>Maybe make the PWM a parameter or global variable to make it easier to change? <br> <br>Maybe use a plain DC signal for the meters instead of PWM? <br> <br>
COOL! <br> <br>if you don not mind a few suggestions! <br> <br>1 - you can use an audio transformer to 'totally' isolate the audio <br> <br>2 - use the meter LED as a clipping indicator! maybe use a two color LED <br> <br>3 - use one meter! <br> <br>
What grade are you in? Im in 10th. Nice to see someone younger who does this kind of stuff. I actually have wanted to build one of these with the meter for a while
It's great ! I want to make the same !
Well done! esp that it is an entry in the youth contest. excellent!
cool that you made this. I have this idea in my idea-book for a long time now, but it is so cool to see that someone else had the same idea and really made it!
This is great. <br> <br>One thing that would be nice, If an estimate of cost on projects, I've been wanting to make one of these but the cost is what's stopping me.
Based on the list the total project cost is around $47 without shipping. If you have some of these parts already it would cost less. You don't need to buy a new usb cable if you have an old one laying around.
That is seriously cool. I keep telling myself to start playing with Arduinos: this might just be the motivation I need.
You should add a third and fourth meter, one to track seconds, and one that ticks with the seconds like an old-fashioned metronome.
This is awesome!
How do you program it? What program or device do you use? I am confused on this step. Please help.
You forgot the last sentence in step 5: &quot;And looks awesome.&quot; Great job!
its really nice.
This is fantastic! Very creative. I'd be happy just to have it as a clock. The VU meter feature is just frosting on the cake.
I love this, original thinking outside the box, modern and retro.
I TOTALLY want one for my studio
Muito criativo,parab&eacute;ns.
Do the meters adjust independently for LEFT and RIGHT audio? It does not appear as tho they do. That would be a cool addon
You can see in the video the meters are independent for left and right channels at about the 40 second mark. The right falls while the left meter remains towards high.
Yes they do. It is hard to tell in the video, but they do work seperately. Left channel to left meter and right channel to right meter. It also depends on the music because some music is more balanced between left and right.

About This Instructable


435 favorites


Bio: Hello! I'm a high school student and I enjoy playing with electronics!
More by tech-e: Analog VU meter and Clock (Arduino Powered)
Add instructable to: