Wednesday, June 11, 2014

LED VU Meter with LM3916

This was finished months ago and just now I had time to finish the article. LM3916 is a dedicated IC for VU LED meter.  Unlike LM3915 which have 3dB step between voltage levels, the LM3916 have nonlinear steps: -20, -10, -7, -5, -3, -1, 0, +1, +2, +3db, just like old school analog VU meters. I saw in YouTube an interesting commercial LED VU meter, which imitates the needle movement in analog VU meters and I thought I can make a similar one. All I needed I found in the datasheet of LM3916.

The LM3916 can be feed with AC signal without any rectification, but I wanted to implement a precision full wave rectification. I chose the schematic on page 13, fig.21 of the datasheet: "Precision Full-Wave Peak Detector". This is the full schematic I designed:



The LEDs are connected via sockets J3 to J12 (only one row LEDs is shown on the schematic) and I found that it's cheaper to use a 28 pin IC sockets cut in half  than regular 40 pin sockets. Of course LEDs can be soldered directly on the PCB.

The schematic needs bipolar power supply to work correctly, but the negative rail can be as low as -5V or even -3.3V. The positive rail must be bellow +25V and combined voltage of negative and positive rails must not exceed 36V. The minimum positive rail voltage depends on the voltage of the LEDs. For example if the LED have 1.9V forward voltage and we have 7 LEDs on one pin, then the minimum positive voltage will be 7*1.9V + 1.5V (drop voltage at LM3916) = 14.8V. The green LEDs usually have little higher forward voltage - 2.2V - 2.4V, so +18V will be sufficient in most cases.


The LEDs current is determined by R1_REF, and with 2.2k resistance it will be 5 - 6 mA.
The formula is Iled = 10 * (1.2V / R1_REF). 

IC2 is connected as precision full wave rectifier and can be any general purpose dual opamp - TL072, TL082, LF353.

The output mode can be set with 3-pin jumper JP1. Shorting pins 1-2 will set the bar mode and shorting pins 2-3 will set the dot mode.

The max input voltage of the LM3916 is set to 1.2V, and with R8-R7 we can adjust the input level.

The color of the LEDs is your choice. I used green LEDs for negative levels, yellow for 0dB and red for positive levels. For this project I bought transparent rectangular LEDs, but they have two drawbacks. First - when one column lights up the adjacent columns also significantly lights up. My solution was to paint the sides of the LEDs with black marker. There also can be used a black tape around the entire collumn.
Second  drawback is that because of the transparency, the LEDs emit light from one point, which is not very pleasant. The solution here was to rasp the top side of the LEDs with rough file, so the light to diffuse more even. 






Short clip of the VU Meter in action :)



Download the files of the project here: LED VU meter.rar
Use them on your own responsibility!
There are some changes - I removed the 0R resistors which are present in the test prototype. Also the mini SMD switch is replaced with jumper.

24 comments:

  1. very good project. reminds the old days. can u help a bit more posting the eagle files too. thanks

    ReplyDelete
  2. That is awesome! Good song, too.

    Nice work Христо.

    ReplyDelete
  3. hi where can I buy the VU METER PCB ??? or complete kit ??? if you you can sell them on eBay 1000 of people will be buying from you I checked on the net no one has this unit please let me know thanks
    thats VU METER based on lm3916

    ReplyDelete
  4. I would like to buy on from you.

    ReplyDelete
  5. Hi, I am creating a similar Circuit in Eaglecad, but can not layout the LED's like you did. Can you explain how it was done as it would be highly appreciated thanks

    ReplyDelete
    Replies
    1. You must be in MOVE mode, then select the element you want to rotate and click on "Angle" field at the top row of tools and enter the desired value, then hit the "Enter".

      Delete
  6. Is it possible to connect it via 12V ?

    ReplyDelete
    Replies
    1. The schematic can work with 12V positive supply, but the LEDs must be reduced to 4 in each column in order to light up.
      And of course you must have a negative supply rail also (at least -3.3V).

      I currently work on version which can work with only 12V supply.

      Delete
  7. hello thanks for the tut! I am also trying to follow but i realize that in the finished vu meter you only used 1 tl072 not 2 like in the schematic. Can you please share with me the updated schematic that comes with the finished vu meter? the schematic with 2 tl 072 does not work for me :( all the leds lit up and dont react to music. Thank you.

    ReplyDelete
    Replies
    1. TL072 is dual opamp, i.e. 2 opamps in one package, that's why in the schematic there are two opamps - IC2A and IC2B.
      If you made the module and it is not working, the problem is not in the schematic or the PCB. Maybe the input signal is two strong and if the the module is in BAR mode then all the rows will be lit. The blue trimmer is used for adjusting the appropriate input level.

      Delete
  8. Hi I would like to make this project but or 12v as can do without taking no led?

    ReplyDelete
  9. I would have one other question I should plug it into car radio and can do this??

    ReplyDelete
  10. I would have one other question I should plug it into car radio and can do this??

    ReplyDelete
  11. Hello
    I want to make a VU with 64 light channels, meaning that it will look exactly like a mechanical VU dial, is it possible to chain the LM3915 (or the LM3916) in such a way that I get 64 channels, but the most important thing is that there will be no accumulated light and it will look like a dial (each time only a different row will light up from the 64 channels).
    Thank you very much

    ReplyDelete
    Replies
    1. You could try, but the dynamic range needed is too big so it will not work. The LM3915 have 3dB per step so input dynamic range have to be around 190dB and you have to chain 8 IC to achieve 64 channels/steps. More realistic will be to use ADC coupled with microcontroller.

      Delete
    2. I forgot that LM3915 is 10 steps, so you have to chain 7 ICs, not 8 ICs. Any way it will not work.

      Delete
  12. My friend, Thank you very much for the information, I thought it was simpler.

    ReplyDelete
  13. I bought a VU like this "64 LED Music Spectrum Mono Audio Atmosphere Light Level Indicator Amplifier VU Meter" on Aliexpress

    I want to connect a ULN to it and from there connect LED strips, but its display is a continuous light and I want one LED at a time to give me the feeling of a needle, do you have any ideas that maybe I can apply it to this circuit?
    Thanks

    ReplyDelete
    Replies
    1. I saw the product in Aliexpress. I suspect that bellow every 8-LED module there is some IC that control the LEDs. You can probably desolder these LED modules and connect individual LEDs with some cables. I still don't understand the purpose though, what you try to achieve? Maybe a potentiometer with LEDs around the knob where when you rotate the knob, the LEDs light follow the knob position?

      Delete
    2. I'm trying to make a VU meter about 35x25 cm in size. When you can't see the LEDs, these LEDs project their light onto slots I made in the plexiglass or, as an alternative, put 3 mm COB strips, and each time a different strip will light up. I have no problem finishing it when the LEDs are joined, but I insist on doing it the way you did, with only one LED on at any given time and it gives the feeling that there is a dial there. If there is a way to send you pictures, I would show you what I have already made and what I want to do.

      Delete
    3. Do you think it is possible to reduce the dB between channels on the LM9015?

      Delete
    4. You could upload a picture in Google drive or postimages.org and put a link in a comment here.

      Delete