DIY Decibel-O-Meter Using Arduino UNO

by arnavyad in Circuits > Arduino

63 Views, 0 Favorites, 0 Comments

DIY Decibel-O-Meter Using Arduino UNO

WhatsApp Image 2026-03-29 at 2.29.07 PM (1).jpeg

Places such as classrooms or libraries places where everyone wants some peace and quiet, can get extremely loud. This can be stressful at times when you're reading a book or studying. A good solution can be to make a Decibel-O-Meter, which displays the sound level of the place it is kept in. If paired with some alarm, such as a buzzer, it can serve as a warning for calming the heightened emotions while reading a book, or when the class gossip gets fun...(LOL)

Supplies

WhatsApp Image 2026-03-18 at 7.24.40 PM.jpeg
WhatsApp Image 2026-03-18 at 7.24.54 PM.jpeg
WhatsApp Image 2026-03-18 at 7.25.11 PM.jpeg
WhatsApp Image 2026-03-29 at 2.24.42 PM.jpeg

These are the supplies you need to build this for yourself :-

  1. Arduino UNO
  2. A sound sensor (in my case, Elecrow Crowtail - Sound Sensor)
  3. [OPTIONAL] A alarming device (Buzzer)
  4. I2C OLED LCD (128x64)
  5. A Breadboard (for easier connections)

Code

Connect your Arduino UNO to your computer using the connection cable and open the decibelometer.ino file given, which is the code for the project. Ensure you have the Arduino IDE utility installed. I have also included code without the buzzer, for anyone who just wants the readings.

Explore the Code

The code uses three libraries that are needed for the other components to function

  1. Adafruit GFX
  2. Wire
  3. Adafruit SSD1306

The Wire.h library is pre-installed. So you only need to install the remaining two libraries. Here are the links:-

  1. Adafruit SSD1306 - https://github.com/adafruit/Adafruit_SSD1306
  2. Adafruit GFX - https://github.com/adafruit/Adafruit-GFX-Library


the commands soundPin and buzzerPin show the pins where the sound sensor signal (SIG) and the positive terminal of the buzzer should be connected.

NOTE: Sound sensor signal can only be connected to pins in ANALOG IN on the Arduino Board for getting readings. buzzerPin can be skipped if using the (_nobuzz) code.


THIS IS ONLY FOR PEOPLE USING BUZZER:-

The code includes a time interval, after which the buzzer starts to, well...buzz.

in the line,

int remaining = 5 - elapsed;

the number can be replaced by the time interval you want the buzzer to wait for.

Connections

WhatsApp Image 2026-03-29 at 2.29.07 PM.jpeg

Firstly, use a breadboard for creating a common ground (GND), and 5V or VCC that can be bought from the Arduino UNO. Connect VCC and GND of The LCD and sound sensor.

For the buzzer, connect its positive terminal to the buzzerPin you highlighted in the code, and the negative terminal to the common ground on the breadboard.

For the sound sensor, the SIG pin should be connected to the soundPin highlighted in the code. The NC pin is just a dummy pin and has no signal running through it. It is not needed.

Once the connections are made, upload the code to the board, and the LCD should start to display something like shown in the image above!

The same can be seen in the serial monitor inside the Arduino IDE utility.

DONE!!! :]

Now, you can find some container to store the project in, and attach it in different noise conditions to calibrate the sound readings. Please note that the readings may not be accurate due to the sensor's limitations, but you can go as far as adjusting the threshold in the code to improve the accuracy.


Have fun making it!!!

(SHOUT OUT TO CHATGPT FOR LINKS AND CODE :) )