PeakSense Arduino Sound Level Meter
About this project
PeakSense samples the MAX4466 electret microphone amplifier 200 times per measurement window, removes the DC bias offset, computes the RMS (Root Mean Square) amplitude of the AC audio signal, converts it to decibels relative to full scale, and drives a 10-LED bar graph in real time. Clap your hands and five LEDs light up. Shout and all ten glow red. The 16×2 LCD shows the current dB level alongside a 1.2-second peak hold value — the same feature on every professional audio mixer. The Arduino Serial Plotter displays a live amplitude graph that responds visibly to voice, clapping, and music. This project teaches six core digital signal processing concepts without any DSP library: ADC operation and sampling rate (9615 Hz, limited by the Arduino's 125 kHz ADC clock), the DC offset problem and how to remove it by subtracting the sample mean, RMS amplitude as the energy-equivalent measure of AC signals, the decibel scale as a logarithmic compression of 60 dB dynamic range into a human-readable number, peak hold algorithm for transient event capture, and the Nyquist theorem stating that signals up to 4807 Hz (covering all human speech) are captured correctly at 9615 Hz sample rate. Build time: 2.5 hours.
What you get
- Complete, commented source code
- Full components list with quantities
- Pin-by-pin wiring guide and connection table
- Step-by-step upload and testing guide
- Project report (.docx, IEEE style)
- Presentation slides (.pptx)