MAX9814 Microphone VU Meter
Whistle into an electret mic and watch eight LEDs jump in time with your voice — with automatic gain so quiet and loud both work.
Difficulty: Breadboard. Estimated build time: about 35 minutes. Estimated parts cost: about US$4.50. 8-line bill of materials. Compare supplier offers when available. An eight-segment VU meter that displays the running peak of an electret microphone signal as a bar of lit LEDs.
Pin out the MAX9814 module
Most hobby breakouts expose six pins: VDD, GND, MIC OUT (analog), GAIN, AR (attack/release), and a couple of unused pads. Wire VDD to 5 V on the Arduino, GND to GND, and the MIC OUT line to the Arduino's A0 pin. Leave GAIN floating to get the default 60 dB; tying it to GND drops it to 40 dB and to VDD drops it to 50 dB. The signal at MIC OUT idles at 1.25 V and swings around that midpoint.
Wire up the eight-LED bar
Place eight LEDs in a row on the breadboard. Each LED gets a 330 Ω series resistor and a digital pin (D2 through D9). The Arduino simply digitalWrites each pin HIGH if the current envelope is above that LED's threshold. For a more typical VU colour scheme, use 5 green LEDs for D2–D6, 2 yellow for D7–D8, and 1 red for D9 — your eyes immediately read the red LED as "too loud".
Sketch the envelope follower
Sample A0 at roughly 8 kHz inside loop(). For each sample, subtract the 1.25 V mid-point (about 512 in 10-bit ADC counts) and take the absolute value. Maintain a peak variable that snaps up to the new sample if larger, and decays by a small amount each loop — typically 0.95 multiplication. Map that peak to 0–8 and light the corresponding number of LEDs.
Tune the response
If the meter never reaches the top: lower the gain pin (tie to VDD for 50 dB) or shorten the decay time. If it pegs the red LED on every tiny sound: raise the gain pin to GND (40 dB) or increase the threshold step between LEDs. The AR pin can also tune attack/release — leave it floating for the default 1:500 ratio which sounds the most musical. The whole project should react in well under a tenth of a second to a clap or a whistle.