Omnidirectional MEMS microphone module for 3.3V projects with I2S connection, suitable for hobbyists and professionals.
SKU: OT6767 Article number: AH131 EAN: 8720828223857 Location: H08.03
Alternative
Microphone (Condenser), Sensitivity 52D, Perfect for Use with Arduino/Raspberry Pi 9 x 7mm, Through Hole
€ 0,90
View this alternative
How to connect the Omnidirectional Microphone INMP441 MEMS 3.3V to an Arduino UNO or ESP32, with an example sketch you can upload straight away.
This project connects an INMP441 digital I2S omnidirectional microphone to an Arduino Uno. The Uno generates the I2S bit clock (SCK) and word select (WS) signals in software to read 24-bit audio samples from the SD line. Open the Serial Monitor or Serial Plotter at 115200 baud to see sound levels fluctuate in real time.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : INMP441 I2S Microphone with Arduino Uno
* Board : Arduino UNO (arduino:avr:uno)
* Parts : INMP441 microphone
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
// INMP441 I2S Microphone demonstration on Arduino Uno
const int PIN_SCK = 2; // Serial Clock (SCK)
const int PIN_WS = 3; // Word Select / LRCLK (WS)
const int PIN_SD = 4; // Serial Data (SD)
void setup() {
Serial.begin(115200);
pinMode(PIN_SCK, OUTPUT);
pinMode(PIN_WS, OUTPUT);
pinMode(PIN_SD, INPUT);
digitalWrite(PIN_SCK, LOW);
digitalWrite(PIN_WS, LOW);
Serial.println(F("INMP441 Microphone Demo Initialized."));
Serial.println(F("Speak or make noise near the microphone."));
}
// Bit-bang 32 clock pulses per channel and sample 24-bit audio
int32_t readI2SSample() {
int32_t sample = 0;
// Select Left Channel
digitalWrite(PIN_WS, LOW);
// I2S standard has 1-bit delay before MSB
for (int bit = 0; bit < 32; bit++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
if (bit > 0 && bit <= 24) {
sample = (sample << 1) | digitalRead(PIN_SD);
}
}
// Select Right Channel to complete stereo frame
digitalWrite(PIN_WS, HIGH);
for (int bit = 0; bit < 32; bit++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
}
// Sign-extend 24-bit to 32-bit signed integer
if (sample & 0x00800000) {
sample |= 0xFF000000;
}
return sample;
}
void loop() {
int32_t rawSample = readI2SSample();
int32_t magnitude = abs(rawSample);
Serial.print(F("Raw: "));
Serial.print(rawSample);
Serial.print(F("\tMagnitude: "));
Serial.println(magnitude);
delay(20);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Reads digital audio from the INMP441 omnidirectional I2S microphone and computes real-time volume levels. Open the Serial Monitor or Serial Plotter at 115200 baud to visualize ambient sound and voice amplitude.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : INMP441 I2S Sound Level Meter
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : INMP441 microphone
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <driver/i2s.h>
#define I2S_WS 15
#define I2S_SD 32
#define I2S_SCK 14
#define I2S_PORT I2S_NUM_0
#define BUFFER_LEN 64
int32_t samples[BUFFER_LEN];
void setup() {
Serial.begin(115200);
const 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_t(I2S_COMM_FORMAT_STAND_I2S),
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 4,
.dma_buf_len = BUFFER_LEN,
.use_apll = false
};
const 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 loop() {
size_t bytes_read = 0;
i2s_read(I2S_PORT, &samples, sizeof(samples), &bytes_read, portMAX_DELAY);
int samples_read = bytes_read / sizeof(int32_t);
int64_t sum = 0;
for (int i = 0; i < samples_read; i++) {
int32_t sample = samples[i] >> 14;
sum += abs(sample);
}
if (samples_read > 0) {
int32_t sound_level = sum / samples_read;
Serial.print("SoundLevel:");
Serial.println(sound_level);
}
delay(20);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Enrich your technological projects with our advanced omnidirectional MEMS microphone module, equipped with the INMP441 chip. This module is designed to deliver high-quality audio performance, compatible with a wide range of microcontrollers and development boards operating at 3.3V, such as ESP8266, ESP32, and even the Raspberry Pi. This makes it a versatile choice for applications ranging from smart devices and sound analysis to interactive art projects.
Technical Specifications:
Pinout:
Package contents:
This microphone module is not only suitable for hobbyists and makers, but also for professionals looking for a reliable solution for advanced audio projects. It supports a wide range of applications and is compatible with popular development platforms such as ESP8266, ESP32, and Raspberry Pi, making it an excellent choice for anyone looking to enrich their projects with high-quality audio.
This omnidirectional MEMS microphone module with the INMP441 chip is suitable for a wide range of applications, including:

| Interface | I2S |
|---|---|
| PCB dimensions | Compact at 14 x 14mm, designed for flexible deployment |
| Suitable for | ESP8266, ESP32, Raspberry Pi |
| Supply voltage | 1.8-3.3V DC, perfect for integration with most low-voltage development boards |
| Power consumption | Approximately 1.4mA, ideal for projects where power efficiency matters |
| Chip | The INMP441 delivers clear and accurate audio recordings |
| Frequency range | 60-15,000Hz, captures a wide range of sounds |
| Signal voltage | 1.8-3.3V, ensures seamless compatibility with your chosen platform |
| Sensitivity | Approximately -26dBFS, for capturing sound with high precision |
| SD | I2S data signal for high-quality audio recording |
| VDD | Supply voltage, easy to connect with your project |
| GND | Ground/min, essential for stable performance |
| WS | I2S word select, crucial for audio synchronization |
| SCK | I2S clock signal, supports precise data transmission |
| Audio recording | Ideal for high-quality audio recordings in compact devices |
No reviews yet.
Omnidirectional Microphone INMP441 MEMS 3.3V