Noise Detector with Automatic Recording System Using Arduino With The IoT

Ashwini kumar sinha


Noise pollution is a growing problem in modern cities, thanks to rapid population growth, urbanisation and new technologies. Moreover, at times, a noisy neighbour or co-worker can drive you crazy and affect your well-being.

Talking loudly is an annoying habit in an office environment. Having a loud co-worker can distract us from our work and harm our productivity. To help solve this problem, we bring to you today a noise detector with automatic recording system. This device notifies users whenever it detects loud noise (when the sound crosses certain limits), as well as it automatically records the sound and saves this recorded sound in a file.

Change Video Language

This Noise Detector System can be used in library, office and classroom environments to identify noisy people so that necessary action can be taken against them.

To build this device, we need to first collect a few components.

Components Required

  • Vibration motor/ Buzzer
  • Bluetooth HC 05
  • Sound sensor module
  • Wires
  • Arduino Nano


First, we will initialise the different variables in our code to store values and pin numbers and then include the Software Serial library. After this, we will set the Pin modes for the Arduino pins and the baud rate for Bluetooth. Following this, we will set a loop function where we will create an ‘if condition’ that checks the incoming number from Bluetooth. This number is used for setting the threshold level for noise sensor. Then the loop function jumps to other function (i.e. sensor) that collects the average sensor data (Refer Fig 1).

Fig 1. Arduino Code setting variables
Fig 2. Arduino code for reading strings from Bluetooth.

In sensor function, we will create a ‘for loop’ that collects the sensor data until the for loop ends (up to 160 times) and calculates the average of the collected data. After that an ‘if condition’ checks the average, if the average value is greater that the threshold value then it sends the value to an app that we are going to make in next part (Refer Fig 3).

Fig 3. Arduino code calculating noise level

App Making

We are going to use the MIT app inventor for creating our app. In the first part, we need to create a layout and add the following components

  • A list picker
  • A text level
  • 2 buttons
  • 1 text view
  • Sound recorder
  • Tiny DB
  • Bluetooth client

After that join the code blocks according to fig 4 .

App Layout for Noise Detector with Automatic Recording System
Fig 4. App Layout
Fig 5.MIT App code blocks


Now connect all the components as illustrated below (Refer Fig 6).

Arduino Nano Components
Pin A7 Sound Sensor Out
5v VCC Bluetooth & Sound sensor
GND GND Bluetooth & Sound senor
D12 Buzzer VCC
GND Buzzer GND
Connection for Noise Detector with Automatic Recording System
Fig 6. Connection


Now, power the Arduino and connect the Bluetooth with your app. After successful connection, you can test it by making loud noises.  When your sound level crosses the threshold value, the Noise Detector device will buzz to notify about it and at the same time the app will start recording the sound and it will go on recording until the noise level comes down below the threshold level. (Refer Fig 7).

Working App for Noise Detector with Automatic Recording System
Fig 7. App Working

Download Source Code

This project was first published on 24 June 2019 and was updated on 4 November 2019.


Enter your email address:

Delivered by FeedBurner


  1. the project idea is nice.
    But when i create the app it is not working.
    i have also used the app provided by you.
    could you please help me

    • Try to set hint text in some number like zero in text box that compare text.if still give same error send me the whole error details

  2. Hi, I’m interested in building this project, so could you please tell me the specific parts that were used besides the Arduino nano, so I can buy them and create this project. Also if u could email me a picture of the actual setup that would also be really helpful. Thanks

  3. Hi, My group would like to make this project for a course, so could you please advise what specific parts were used so it would be easier to buy them. Also if you could provide a picture of the Setup it would be really helpful.

  4. Hello, My group and I would like to build your project, so please let us know what the specific part models were that were used besides the arduino nano so it is easy to buy them, also a picture of the setup would really help us as well.

    • You can easily buy the arduino nano from online store or from kits n spare. and other parts required are :- loudness sensor / sound sensor and Bluetooth HC 05 all of these are available at kits n spare as well as on online store websites

  5. Hi, i am facing a few issues reagrding the setup. First the buzzer is always on despite no set threshold value. Then once any value is set it records it despite the volume level, then when a value is put, it records it for a few seconds and atomatically swtiches off despite the high level of sound.

    • check the value of sensor on serial monitor and watch what is the value of sensor on no noise and what is its value on high noise and set the threshold value according to your sensor high noise value.

  6. Hi,

    I keep receiving the following error messages when connecting the MIT application to my Mobile phone. Ive tried changing the numbers on the threshold recording as you stated above but i seem to keep having an issue.

    “The operation > cannot accept the arguments: , [*empty-string*], [60]
    Note: You will not see another error reported for 5 seconds.”

    How do i resolve this issue?

    • This is because app is getting empty string from the arduino,
      First try to tap out side the pop up message and then try to connect, or tap on back and re open and connect the app.
      If didn’t solve then add block in code block if bluetoothbytes.aviliableto recive>0 then call Bluetooth receive bytes

  7. Hey Your Idea is really awesome and i simulate it on proteus. It works fine but i faced some issue because my buzzer sound not produce. can you please guide me how can i produce buzzer sound???

    • Some buzzer have integrated circuits inside hem that produces sound when connecting to power directly, some buzzer doesn’t have that circuit in that case you have to send the sound signal to make the sound. So you can use the Arduino Tone melody library

      • Some buzzer have integrated circuits inside hem that produces sound when connecting to power directly, some buzzer doesn’t have that circuit in that case you have to send the sound signal to make the sound. So you can use the Arduino Tone melody library


Please enter your comment!
Please enter your name here