Skip to content

Sound Level Meter with ESP32 and I2S MEMS microphone

Notifications You must be signed in to change notification settings

RideMyByte/ESP32-SoundLevelMeter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sound Level Meter with ESP32 and I2S MEMS microphone

Arduino/ESP32 Sound Level Meter (SLM) using inexpensive, factory calibrated, digital I2S MEMS microphone and digital IIR filters (vs. FFT) for equalization and weighting.

The basic idea is:

Basic principle

And the microphone response after equalization should look like:

Adjusted frequency response

Theoretically, i.e. with factory calibrated ICS-4343x, this should get you ±1dB(A) measurement within 20Hz-20KHz range.

The code in this repository is mostly intended as example how you can integrate reasonable noise measurement (i.e. LAeq, Equivalent Continuous Sound Level) in your projects.

You can find a bit more information in the hackday.io project from ikostoski.

This project is a fork. I developed a PCB, took the Arduino IDE compatible code and adapted it for the PCB design. Additionally, I created an ESPHome Config to perform long term measurements.

The PCB got a WS2812B LED to draw attention with color and blinking codes. The Arduino code is already extended for this.

There will be another new version of the PCB soon, as there are a few bugs. (5V instead of 3.3V, no switch, no battery voltage measurement, no shutdown, larger button...

If you want to rebuild it, I would recommend you to wait for my new version or correct the errors yourself. Feel free to write to me if you want to do this!

About

Sound Level Meter with ESP32 and I2S MEMS microphone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 56.5%
  • MATLAB 43.5%