Measure Sound/Noise Level in dB with Microphone and Arduino

Measuring sound in dB

Noise pollution has really started to gain importance due to high population density. A normal human ear could hear sound levels from 0dB to 140dB in which sound levels from 120dB to 140dB are considered to be noise. Loudness or sound levels are commonly measured in decibel(dB), we have some instruments which could measure the sound signals in dB but these meters are slightly expensive and sadly we do not have an out of box sensor module to measure sound levels in decibels. And it is not economical to purchase expensive microphones for a small Arduino project which should measure the sound level in a small classroom or living room.

Measuring sound in dB

So in this project we will use a normal Electret Condenser microphone with Arduino and try measuring the sound or noise pollution level in dB as close as possible to the actual value. We will use a normal amplifier circuit to amplify the sound signals and feed it to Arduino in which we will use regression method to calculate the sound signals in dB. To check if the values obtained are correct we can use the “Sound Meter” android application, if you have a better meter you can use that for calibration. Do note that this project does not aim to measure dB accurately and will just give values as close as possible to the actual value.

Materials Required:

  1. Arduino UNO
  2. Microphone
  3. LM386
  4. 10K variable POT
  5. Resistors and Capacitors

Circuit for this Arduino Sound Level Meter is a very simple in which we have used the LM386 Audio amplifier circuit to amplify the signals from a condenser microphone and supply it to the Analog port of Arduino. We have already used this LM386 IC to build a low voltage audio amplifier Circuit and the circuit more or less remains the same.

The gain of this particular op-amp can be set from 20 to 200 using a resistor or capacitor across pin 1 and 8. If they are left free the gain will be set as 20 by default. For our project we the maximum gain possible by this circuit, so we use a capacitor of value 10uF between the pins 1 and 8, note that this pin is polarity sensitive and the negative pin of capacitor should be connected to pin 8. The complete amplifier circuit is powered by the 5V pin from the Arduino.

The Capacitor C2 is used to filter the DC noise from Microphone. Basically when the microphone senses sound the sound waves will be converted to AC signals. This AC signal might have some DC noise coupled with it which will be filtered by this capacitor. Similarly, even after amplification a capacitor C3 is used to filter any DC noise that might have been added during amplification.

Measuring sound in dB

Using Regression Method to Calculate dB from ADC Value:

Once we are ready with our circuit we can connect the Arduino to computer and upload the “Analog Read Serial” Example program from Arduino to check if we are getting valid ADC values from our microphone. Now we have to convert this ADC values to dB.

Unlike other values like measuring temperature or humidity, measuring dB is not a straightforward task. Because the value of dB is not linear with the value of ADC’s. There are few ways in which you can arrive at but every possible step I tried did not get me good results. You can read through this Arduino forum here if you want to give it a try.

Read more: Measure Sound/Noise Level in dB with Microphone and Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *