Measure Sound Level with MAX9812 Amplified Microphone and Arduino


Welcome to the realm of Arduino and sound sensing! In this guide, we’ll explore how to Measure Sound Level with MAX9812 Amplified Microphone and Arduino. The MAX9812 microphone offers a convenient and sensitive way to detect sound levels, making it ideal for applications such as noise monitoring, voice activation, and sound-reactive projects. Let’s delve into the details of the MAX9812 microphone and learn how to integrate it with Arduino for sound level measurement.

Hardware Required

You will require the following Hardware Components for How to Interface the MAX9812 Amplified Microphone Sensor with Arduino.

Components#Buy From Amazon
Arduino UNO1Buy Link
MAX9812 Microphone1Buy Link
9v DC Adapter (Optional)1Buy Link
Jumper Wires3Buy Link
Breadboard1Buy Link

What is the MAX9812 Microphone?

The MAX9812 is an amplified microphone module designed for sound sensing applications. It features a built-in amplifier with adjustable gain settings, allowing for precise control over the microphone sensitivity. The MAX9812 microphone module communicates with Arduino via analog input, making it easy to integrate into Arduino projects. With its compact size, high sensitivity, and low noise output, the MAX9812 microphone is suitable for various applications requiring sound level detection and analysis.



Pin Configuration

Pin NumberPin NameDescription
1VccPower supply voltage input
3OUTAnalog Output


  1. Built-in Amplifier: Features a built-in amplifier circuit to boost the microphone signal for improved sensitivity and signal-to-noise ratio.
  2. Adjustable Gain: Allows for adjustment of microphone gain settings to optimize sensitivity for different sound level detection requirements.
  3. Low Noise Output: Produces minimal noise output, ensuring clear and accurate sound detection even in quiet environments.
  4. Compact Design: Compact and lightweight design for easy integration into various electronic projects.
  5. Simple Interface: Interfaces with Arduino via analog input pins, simplifying the integration process for Arduino-based sound sensing projects.


  1. Frequency Response:
    • Wide frequency response range suitable for capturing a broad range of audio frequencies.
  2. Sensitivity:
    • Adjustable gain settings for precise control over microphone sensitivity.
  3. Signal-to-Noise Ratio (SNR):
    • High SNR for clear and accurate sound detection, even in noisy environments.
  4. Operating Voltage:
    • Wide operating voltage range compatible with Arduino and other microcontroller platforms.
  5. Output Type:
    • Analog output for direct connection to Arduino analog input pins.

Circuit Diagram

The following circuit shows you the connection of the Measure Sound Level with MAX9812 Amplified Microphone and Arduino, Please make the connection carefully


Circuit Connections

ArduinoMAX9812 Microphone
+5VVCC Pin

Installing Arduino IDE Software

First, you will require to Download the updated version of Arduino IDE Software and Install it on your PC or laptop. if you Learn How to install the Arduino step-by-step guide then click on how to install Arduino Button given Blow

Code Examples

When working with sound signals, rapid variations and noise are common. Rather than focusing on specific values, we integrate measurements over time windows. Typically, a time window of 50 ms (equivalent to a frequency of 20 Hz) is used to calculate the maximum and minimum values recorded within the window.

//For more Projects:

const int sensorPIN = A0;
const int sampleWindow = 50; // Window width in mS (50 mS = 20Hz)

void setup()

void loop()
   unsigned long startMillis= millis();

   unsigned int signalMax = 0;
   unsigned int signalMin = 1024;
   //Collect during window
   unsigned int sample;
   while (millis() - startMillis < sampleWindow)
      sample = analogRead(sensorPIN);
      if (sample < 1024)
         if (sample > signalMax)
            signalMax = sample; // Update maximum
         else if (sample < signalMin)
            signalMin = sample; // Update minimum
   unsigned int peakToPeak = signalMax - signalMin; // Sound amplitude
   double volts = (peakToPeak * 5.0) / 1024; // Convert to voltage


  1. Noise Monitoring: Use the MAX9812 microphone for noise monitoring applications to measure sound levels in environments such as offices, classrooms, and industrial settings.
  2. Voice Activation: Implement voice activation systems using the MAX9812 microphone to detect and respond to voice commands in smart devices, home automation systems, and voice-controlled appliances.
  3. Sound-Reactive Projects: Create sound-reactive projects such as music visualizers, sound-activated lights, and interactive installations using the MAX9812 microphone to detect and react to sound levels.
  4. Environmental Monitoring: Integrate the MAX9812 microphone into environmental monitoring systems to detect sound levels in outdoor environments for applications such as wildlife monitoring and urban noise mapping.
  5. Security Systems: Incorporate the MAX9812 microphone into security systems for detecting and alerting to suspicious sounds or disturbances in residential or commercial premises.


With its advanced features and versatile applications, the MAX9812 microphone offers endless possibilities for sound level detection and analysis in Arduino projects. Whether you’re monitoring noise levels, implementing voice activation, creating sound-reactive projects, or developing environmental monitoring systems, the MAX9812 provides sensitive and accurate sound detection capabilities for enhanced functionality and performance. Let’s embark on the journey of measuring sound level with Arduino and the MAX9812 microphone, and explore the exciting world of sound sensing technology!

Leave a Comment