MAX9814 Microphone Amplifier Module with Auto-Gain Control for Arduino
MAX9814 Microphone Amplifier Module
Auto-Gain Control Electret Mic Amplifier for Arduino Projects
Introduction
The MAX9814 is a complete microphone amplifier with automatic gain control (AGC), featuring low-noise amplification and adjustable gain settings. This module provides clean audio signal conditioning for Arduino sound detection, voice recognition, and audio recording applications.
Key Features
Integrated Mic
High-quality electret microphone
Auto Gain Control
Adjustable AGC for varying input levels
Low Noise
1.5μV input noise (typical)
Low Power
0.4mA shutdown current
Technical Specifications
Supply Voltage | 2.7V – 5.5V (3.3V or 5V compatible) |
---|---|
Gain Range | 40dB, 50dB, 60dB (selectable) |
Frequency Response | 20Hz – 20kHz |
Output Type | Analog (AC-coupled) |
Current Consumption | 3.5mA (typical at 5V) |
AGC Attack/Release | Adjustable via external capacitor |
Pin Configuration

Pin | Label | Description | Arduino Connection |
---|---|---|---|
1 | VDD | Power (2.7-5.5V) | 5V |
2 | GND | Ground | GND |
3 | OUT | Audio Output | A0 (Analog Input) |
4 | GAIN | Gain Selection | See gain selection table |
5 | AR | AGC Release Control | Optional capacitor to GND |
Gain Selection
GAIN Pin Connection | Gain | Use Case |
---|---|---|
Left open | 60dB | Quiet environments |
Connected to GND | 50dB | Normal voice levels |
Connected to VDD | 40dB | Loud environments |
Basic Wiring (Arduino)
// MAX9814 Connections: // VDD → 5V // GND → GND // OUT → A0 (Analog Input) // GAIN → (See gain selection table) // AR → (Optional 1μF capacitor to GND) // For best results: // - Keep microphone away from noise sources // - Use shielded audio cable for long connections
Basic Sound Detection
const int micPin = A0; void setup() { Serial.begin(9600); } void loop() { int soundValue = analogRead(micPin); // Remove DC offset (approx. VCC/2) int adjustedValue = abs(soundValue - 512); Serial.print("Sound Level: "); Serial.println(adjustedValue); // Simple threshold detection if(adjustedValue > 50) { Serial.println("Sound detected!"); } delay(50); }
Advanced Applications
Audio Visualization
// FFT analysis with Arduino
#include "arduinoFFT.h"
arduinoFFT FFT;
#define SAMPLES 128
double vReal[SAMPLES];
double vImag[SAMPLES];
void setup() {
// Sample audio at consistent intervals
}
void loop() {
for(int i=0; i
AGC Timing Adjustment
// Add capacitor to AR pin for:
// - Smaller value: Faster AGC response
// - Larger value: Slower AGC response
// Typical values: 1μF to 10μF
// Example wiring:
// AR pin → 4.7μF capacitor → GND
// (Better for music with dynamic range)
Clap Detection
// Detect sudden loud sounds
unsigned long lastClap = 0;
const int clapTimeout = 500;
void loop() {
int peak = 0;
for(int i=0; i<10; i++) {
int val = abs(analogRead(micPin) - 512);
if(val > peak) peak = val;
delay(1);
}
if(peak > 100 && millis() > lastClap + clapTimeout) {
lastClap = millis();
Serial.println("Clap detected!");
}
}
Audio Recording
// Record to SD card
#include
File audioFile;
void setup() {
SD.begin(4); // CS on pin 4
audioFile = SD.open("audio.raw", FILE_WRITE);
}
void loop() {
int sample = analogRead(micPin);
audioFile.write(sample >> 2); // 8-bit conversion
delayMicroseconds(125); // 8kHz sampling
}
Troubleshooting
No Signal Output
- Verify power connections (VDD and GND)
- Check electret microphone is properly soldered
- Test with different gain settings
Constant High/Low Output
- Ensure proper DC bias (should be ~VCC/2 at idle)
- Check for shorts in the output connection
- Test with known good module if possible
Excessive Noise
- Add 0.1μF capacitor between VDD and GND
- Keep away from digital noise sources
- Use shorter wires between module and Arduino
Related Posts
IC 74173 – 4-Bit D-Type Register with 3-State Outputs
IC 74173 - 4-Bit D-Type Register with 3-State Outputs
TTL Quad D Flip-Flop with Asynchronous Clear and Output Enable
...
DIY Metal Detector Kit
DIY Metal Detector Kit
DC 3V-5V Non-Contact Sensor Module with 60mm Detection Range
Introduction
The DIY Metal Detec...
CNC V3 Shield with 4 A4988 Drivers
CNC V3 Shield with 4 A4988 Drivers
Complete Arduino-compatible CNC controller for 3D printers and milling machines
...
CN3791 12V MPPT Solar Charger Module
CN3791 12V MPPT Solar Charger Module
Maximum Power Point Tracking Solar Charge Controller for Lead-Acid/Lithium Batteries
...
CJMCU-TRRS 3.5mm Jack AV Stereo Module
CJMCU-TRRS 3.5mm Jack AV Stereo Module
Compact breakout board for audio/video signal interfacing with TRRS connectors
...
TTP223 Capacitive Touch Sensor Module (Red)
TTP223 Capacitive Touch Sensor Module (Red)
Single-Key Touch Detection with Digital Output for Arduino and DIY Projects
...
Capacitive Soil Moisture Sensor
Capacitive Soil Moisture Sensor
Corrosion-Resistant Humidity Detection for Plants and Agricultural Applications
Intro...
VHM-314 Bluetooth Audio Receiver Board Module
VHM-314 Bluetooth Audio Receiver Board Module
High-fidelity stereo audio receiver with Bluetooth 5.0 and 3.5mm audio output
...
BD243 DIY Mini Tesla Coil Prototyping Kit
BD243 DIY Mini Tesla Coil Prototyping Kit
High-Voltage Wireless Power Demonstration - Build Your Own Spark Gap Tesla Coil
...
BF120-3AA Precision Strain Gauges (120Ω)
BF120-3AA Precision Strain Gauges (120Ω)
High-precision foil strain gauges for load cell applications with 120Ω resistance
...
Recent Comments