24 LED Peak Program Level Meter

I had fixed a Technics SU-8088. Not only was I blown away by how good it sounded, I also loved its VFD signal meter. Inspired by my previous Nikko level meter project I decided to kludge together a 8-legged PIC12F617, an AD8307 log detector and a bunch of HEF4094Bs connected to 24 SMD LEDs. Having decided on 2 dB steps per LED this gave me a -48 dBU to 0 dB scale. Since full scale should not happen I left the 0 dB LED out. Eventually the board looked like this:

The schematic was straightforward:

PPM Schematic

The program is also a simple affair. The most challenging was minimizing the aliasing that took place when the input signal beat with the sampling of the RSSI output of the AD8307. Eventually got it working (asm). The lookup table, starting directly at MAIN, was created from a spreadsheet with the calibration values for the AD8307 converted to the HEX values used to decide which LEDs to switch on. Sprinkled within the table are calls to the MEASURE subroutine. This performs the A/D conversion and processes the result to the LEVEL variable. It uses 9 bits of the A/D result. The MSB is used to check for overflow and sets LEVEL to 0xFF. Then the 9th bit (ADRESL,7) is left rotated into LEVEL. It then does a max hold function as well as a decay for the LEVEL value so the LED bar goes back off after a few seconds. Finally, the Show subroutine bitbangs out the three registers HEF1, 2 and 3 which now hold the state of all 24 LEDs to to the HEF4094B shift registers. A nice Lamp Test completes the program.

I ran into some issues during testing. The peak level from an audio burst refused to show a +20 dB level. It turned out that I had enabled the compressor in the MP3-player that I used as source:

The scope screenshot shows the AD8307 output (0.5 V/div) versus time (0.2 s/div). Once I disabled the compressor it was fine:

The PPM in the background is a RTM 1206 studio PPM and shows a similar response. What also must be adressed is the sensitivity of the AD8307 to radio signals. Any antenna connected to the input will show up on the LED bar. The input impedance of this chip is pretty low, several kilo-ohms, so this should be taken into account while driving it. Nice touch: the 10 dB markings are done with resistors. Using the shift registers just didn't look as good. The LEDs are an issue too. They should have an opaque lens or have a different shape so the bar looks more continuous. So far I haven't found rectangular LEDs that show an uninterrupted bar. The one in the Nikko is too wide.

TODO: make a nice PCB and then mount it in an amplifier!

Back to the projects page

Date: 28 February 2021

This software is licensed under the CC-GNU GPL.