IoT-Based Power Decibel Meter

IoT-Based Power Decibel Meter

This project can sense a sound level using mic, convert that sound into its corresponding dB, and then upload it to the cloud.

  • 1 comment
  • 14 respects

Components and supplies

Ph a000066 iso (1) ztbmubhmho
Arduino UNO
Bluetooth Low Energy (BLE) Module (Generic)
13676 01
SparkFun Atmospheric Sensor Breakout - BME280

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

In Indian subcontinent or overseas, the people celebrate various joyous events of life which call for bursting crackers but some welfare associations of many societies put up a no - crackers-inside rule. People fond of bursting crackers are put under control.The government often explains to the common man the danger of bursting crackers both health wise in terms of the noise and air pollution it causes. Firecrackers are extremely harmful for senior citizen and small children. Firecracker can cause hearing loss, high blood pressure, sleeping disturbances and sudden exposure to loud noise can cause temporary or permanent deafness or even result in heart attack. The government of India has banned firecrackers between 10 pm and 6 am. The effect of this ban has been very positive form government side and the sale of firecracker has considerably gone down. But, from the manufacturer's side, its a huge loss for the company.

The noise standards for firecracker under the 89th Section of the Environment Protection Act, 1986, states that the manufacture, sale or use of firecrackers generating noise level exceeding 125 db (Al) or 145 db(C) at 4 meter distance from the point of bursting shall be prohibited.Firecrackers available in the market are not within the prescribed noise level limits. The noise limit for a single crackers is 125 db. The maximum noise these tested firecracker generated was 146.8 db.Though the concerned officials take action against fire-cracker sellers for setting up shops is crowded areas, they do not keep a check on noise level of fire cracker as they do not have a proper system for the same.

Our proposed project is designed to help the manufacture to satisfy all the conditions mentioned in the law enforced by the government of India for noise standards of the firecrackers, to reduce the noise pollution caused by crackers near hospitals, schools and other important public places, to reduce the cost of production and amount of chemicals used for manufacturing crackers and to create a device which will help people to live in a safe environment without any health disorders.

The block diagram of the proposed method is shown in the figure. The sound from the environment is sensed using high sensitivity microphone. The measured value is in the form of voltage. The voltage is given to the controller which will convert the voltage into its corresponding dB value. Once the conversion process is done, that value is sent to nearby mobile by bluetooth module. The Bluetooth used here is HC-05 series which will give way for two way communication. From the mobile, the data is uploaded in the cloud using IoT technology. The advantage of using bluetooth is that the user can view the value of sound from the distance and this can avoid the user to make contact with cracker while it is bursting. Anyone can also view the readings from the database by using the mobile application.


Coding for Sound Decibel meterArduino
#include <SoftwareSerial.h>

SoftwareSerial BTserial(0, 1); // RX | TX
const double dBAnalogQuiet = 10;//envelope - calibrated value from analog input (48 dB equivalent)
const double dBAnalogModerate =  12;
const double dBAnalogLoud = 17;
#define PIN_QUIET 10
#define PIN_MODERATE 11
#define PIN_LOUD 12
#define PIN_ANALOG_IN A0
//LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  // put your setup code here, to run once:
 //lcd.begin(20, 2);
 // lcd.print("The sound in db");

void loop() {
  // put your main code here, to run repeatedly:
int value, i;
float decibelsValueQuiet = 49.5;
float decibelsValueModerate = 65;
float decibelsValueLoud = 70;
float valueDb;
value =  analogRead(PIN_ANALOG_IN);
if (value < 13)
 // Serial.println(value);
  decibelsValueQuiet += calculateDecibels(value, 'q');
  valueDb =  decibelsValueQuiet;
 else if ((value > 13) && ( value <= 23) )
  // Serial.println(value);
   decibelsValueModerate += calculateDecibels(value, 'm');
  // Serial.println(decibelsValueModerate);
   valueDb = decibelsValueModerate;
else if(value > 22)
 decibelsValueLoud += calculateDecibels(value, 'l');
  valueDb = decibelsValueLoud;

float calculateDecibels(int x, char c)
  float decibelsCalculated;
    if (c == 'q')
      decibelsCalculated = 20 * log10(x/dBAnalogQuiet);
    if (c == 'm')
      decibelsCalculated = 20 * log10(x/dBAnalogModerate);
    if (c == 'l')
      decibelsCalculated = 20 * log10(x/dBAnalogLoud);  
  return (decibelsCalculated);


Block diagram of power decibel meter
Block ellmhhn0rn
Chart of noise from crackers
Chart noise c0ybbvegwx


Similar projects you might like

Sigfox kWh Meter

Project tutorial by jassak

  • 15 respects

IoT-Based Smart Street Light System

Project showcase by Sagnik Ghosh

  • 10 respects

Programmable Pocket Power Supply with OLED Display

Project tutorial by Shahariar

  • 42 respects

Network VU Sound Level Meter using C#, Arduino and ESP8266

Project tutorial by Fanatic Series

  • 5 respects

Arduino Tutorial: JARVIS v1 | How to make a Home Automation

Project tutorial by the lonely programmer

  • 99 respects

Temperature and humidity meter (iot)

Project showcase by 윤원호 and gledel

  • 1 comment
  • 16 respects
Add projectSign up / Login