INMP441 MEMS High Precision Omnidirectional Microphone Module I2S
The INMP441 I2S microphone is a compact digital MEMS microphone module designed for clear voice capture, audio sensing, and embedded sound applications. Its omnidirectional pickup pattern allows it to capture sound from different directions, making it suitable for voice-controlled devices, IoT systems, smart assistants, audio recorders, and robotics projects.
Unlike conventional analog microphones, the INMP441 provides a digital I2S output, allowing compatible microcontrollers and processors to receive audio data directly without requiring a separate audio codec.
The module delivers 24-bit I2S audio data, a typical signal-to-noise ratio of 61 dBA, and a wide frequency response of approximately 60 Hz to 15 kHz, helping produce natural and intelligible sound. Its integrated signal conditioning, ADC, anti-aliasing filter, and power management simplify circuit design and reduce the need for additional external components.
With its compact module format and straightforward digital interface, the INMP441 is a practical choice for ESP32-based audio projects, voice detection systems, wake-word applications, security devices, and other embedded electronics projects.
Complete Your ESP32 Audio Project
Pair the INMP441 microphone with an ESP32 development board and jumper wires for voice, audio, and speech-recognition projects.
Interface definition
- SCK: Serial data clock for I2S interface
- WS: Serial data word selection for I2S interface
- L/R: Left/Right channel selection.
- When set to low, the microphone outputs a signal on the left channel of the I2S frame.
- When set to high level, the microphone outputs signals on the right channel
- SD: Serial data output of the I2S interface.
- VCC: Input power, 1.8V to 3.3V.
- GND: power ground
NMP441 connection with ESP32
- SCK -GPIO14
- SD – GPIO32
- WS – GPIO15
- L/R – GND
- GND – GND
- VDD – VDD3.3
Features:
- Digital I2S interface with high precision 24-bit data
- High signal to noise ratio is 61 dBA
- High sensitivity – 26 dBFS
- Stable frequency response from 60 Hz to 15 kHz
- Low power consumption: low current consumption 1.4 mA
- High PSR: -75 dBFS
Wiring Diagram:

INMP441 I2S Microphone with ESP32 – Sample Code
The following Arduino code configures the INMP441 I2S microphone with an ESP32 and continuously reads audio samples. You can upload this code using the Arduino IDE and view the raw audio waveform in the Serial Plotter.
#include <driver/i2s.h>
#define I2S_WS 15
#define I2S_SD 32
#define I2S_SCK 14
const i2s_port_t I2S_PORT = I2S_NUM_0;
void setupI2S() {
i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
.sample_rate = 16000,
.bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT,
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
.communication_format = I2S_COMM_FORMAT_I2S,
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 8,
.dma_buf_len = 64,
.use_apll = false,
.tx_desc_auto_clear = false,
.fixed_mclk = 0
};
i2s_pin_config_t pin_config = {
.bck_io_num = I2S_SCK,
.ws_io_num = I2S_WS,
.data_out_num = I2S_PIN_NO_CHANGE,
.data_in_num = I2S_SD
};
i2s_driver_install(I2S_PORT, &i2s_config, 0, NULL);
i2s_set_pin(I2S_PORT, &pin_config);
}
void setup() {
Serial.begin(115200);
setupI2S();
Serial.println("INMP441 I2S Microphone Initialized");
}
void loop() {
int32_t sample = 0;
size_t bytes_read = 0;
i2s_read(
I2S_PORT,
&sample,
sizeof(sample),
&bytes_read,
portMAX_DELAY
);
if (bytes_read > 0) {
Serial.println(sample);
}
}
Build a Voice Assistant: INMP441 + MAX98357A
To build a complete full-duplex voice assistant, pair the INMP441 digital microphone with the MAX98357A I2S audio amplifier breakout board. This powerful combination allows your ESP32 audio project to simultaneously capture high-quality voice commands and playback clear, synthesized responses through a standard 3W speaker without requiring a complex, separate audio codec. By sharing the same I2S peripheral bus on your microcontroller, you can streamline your circuit design and rapidly prototype smart home devices, AI chatbots, or interactive robotics.