Maker.io main logo

DIY Analog VU meter with Arduino peak meter

2024-07-08 | By Mirko Pavleski

License: General Public License Analog Audio Arduino

An analog VU meter, or Volume Unit meter, is a device used in audio equipment to display the level of audio signal in decibels (dB). It is commonly found on audio mixing consoles, amplifiers, and other audio equipment. The primary purpose of a VU meter is to provide a visual representation of the audio signal's amplitude, helping users monitor and control the signal level to prevent distortion or ensure proper recording and playback. Despite the prevalence of digital meters, analog VU meters are still appreciated for their nostalgic and classic appearance, and many audio enthusiasts prefer their aesthetic and the way they visually represent audio signals.

ui

Unfortunately even nowadays these instruments are relatively expensive, and their price is higher than several hundred dollars. This time I will present you a way to make such an instrument yourself, which according to the characteristics does not lag behind commercial devices of this type.

 

The most expensive part of these Vu meters are of course the galvanometers which are actually precision microammeters with a moving needle. Such instruments were commonly used in sound recording devices manufactured at the end of the last century and can easily be found in electronic waste disposal sites.

gfhygf

In particular I bought for $10 an old defective UHER 4200 Record Monitor tape recorder that contains two marked round VU meters with a built-in backlight. These instruments need to be connected to an audio signal source in some way.

trytf

For this purpose, I used an electronic circuit (driver), which can be of passive or active type. The passive driver is simple to build but is relatively insensitive because you must overcome the voltage drop of the diodes with the signal. In that case, they are usually connected to the output of the amplifier and represent power meters.

gyuigy

An active driver contains ICs or transistors as an amplifier, and despite the fact that it is very sensitive, has a high input resistance and does not affect the source signal at all. n this particular project I will use two identical active drivers for both channels.

yu

The device is relatively simple to build and consists of several parts: Two microamp meters, an operational amplifier IC (I used TL081, but another similar one can be used), some passive elements (capacitors, resistors, and diode) and a potentiometer that changes the input sensitivity, and serves to calibrating the VU meter.

I also added a peak meter circuit, whose function is each time when the signal exceeds the specified level, turns on RED led. It was easiest for me to use a microcontroller for this purpose, because I can very simply and precisely set the activation threshold of the LED in the code. This is an Arduino Nano clone that costs less than $2 and doesn't add much to the cost of the device. Of course, if you have no experience with microcontrollers, you can make a very simple peak meter with transistors.

ftrhdf

If we use the VU meter as an independent device as in my case, there is no need for calibration and the sensitivity can be adjusted with the potentiometer. Another option is to embed it in some audio device, for example between the preamplifier and the output amplifier, in which case we need to calibrate using a reference calibrated VU meter. And now let's see how the device works in real conditions: We take the audio signal from the sound card of the PC to the input of the VU meter, and from there it continues to the input of the audio amplifier. In this way, the VU meter shows the level of the input signal, regardless of the intensity of the output volume. For a better visual impression, I made the appropriate rings on a 3D printer, and I installed the entire device in a box made of PVC material with a thickness of 3 and 5 mm and covered with self-adhesive colored wallpaper.

5e4t6

The device is powered by 12V DC.

xdf

xdzf

Copy Code
#define L A0
#define R A1

int sigL = 0;
int sigR = 0;

void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}

void led() {
sigL = analogRead(L)*5;
sigR = analogRead(R)*5;
if (sigL > 600) {digitalWrite(2, HIGH);} else {digitalWrite(2, LOW);}
if (sigR > 650) {digitalWrite(3, HIGH);} else {digitalWrite(3, LOW);}

}

void loop() {
led();
}

 

制造商零件编号 TL081CP
IC OPAMP JFET 1 CIRCUIT 8DIP
Texas Instruments
¥4.23
Details
制造商零件编号 A000005
ARDUINO NANO ATMEGA328 EVAL BRD
Arduino
¥172.33
Details
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum