DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › Arduino IDE

How to Connect an INMP441 I2S Microphone to an ESP32 in Arduino IDE

By Freedom251 Team · · 4 min read

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect the INMP441’s power, ground, clock, word-select, and data pins to an ESP32, then configure I2S receive mode and select the same audio channel as the microphone’s L/R pin. The wiring below uses GPIOs from an ESP32-S3 example; check your own board’s pinout and choose available, suitable GPIOs before copying those numbers.

What the INMP441 does

The INMP441 is a digital omnidirectional MEMS microphone with an I2S output. It sends digital audio samples to the ESP32, so connect its data output to the ESP32’s I2S data input; it is not an analog microphone that should be wired to an analog input. Espressif describes I2S as “an electrical serial bus interface standard used for connecting digital audio devices together.” Espressif’s Arduino-ESP32 I2S documentation describes the API and bus pins.

As an Amazon Associate I earn from qualifying purchases.

The module manual specifies 1.8–3.3 V operation and demonstrates receiving 16 kHz audio in 32-bit slots with the left channel selected. Those are example operating settings, not a requirement to use that exact sample rate for every project. The ShillehTek module manual lists 24-bit I2S PCM output and an 8–48 kHz sample-rate range.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Parts and pin mapping

You need an INMP441 module, an ESP32 board supported by Arduino IDE, and jumper wires. A breadboard is optional. The following mapping is the ESP32-S3 tutorial example, not a universal ESP32 pin assignment. Confirm that the selected pins are available and appropriate on your particular board.

#1 Best Overall
EC Buying 5Pcs INMP441 Omnidirectional Microphone Module MEMS I2S Interface Supports ESP32 High Precision Low Power Digital Output
  • INMP441 is a high-performance, low-power, digital output, omnidirectional MEMS microphone with a bottom port
  • The INMP441 module includes MEMS sensors, signal composition adjustment, analog-to-digital converters, anti-aliasing filters, power management, and an industry-standard 24-bit I2S interface
  • The I2S interface allows INMP441 to be directly connected to digital processors, such as DSPs and microcontrollers, without the need for audio codecs used in the system
  • The INMP441 has a high signal-to-noise ratio of 61dBA, making it an excellent choice for near-field applications
  • INMP441 has a flat broadband frequency response, resulting in high sound clarity
INMP441 pin ESP32-S3 example connection Purpose
VDD 3V3 Microphone power. The manual specifies 1.8–3.3 V operation.
GND GND Common ground.
SCK GPIO 42 I2S bit clock (BCLK).
WS GPIO 40 I2S word-select or left/right clock (WS/LRCLK).
SD GPIO 41 Microphone serial data output to the ESP32 I2S data input (DIN).
L/R GND Selects left-channel output in this example.

Do not confuse signal direction: the microphone’s SD pin is its output, while the ESP32 receives that signal as I2S DIN. Espressif’s setPins API names BCLK, WS, DOUT, and DIN; for a microphone receive setup, use DIN for the microphone’s SD line.

Wire the microphone and choose its channel

  1. With the ESP32 disconnected from power, connect INMP441 VDD to the board’s 3V3 pin and GND to GND.
  2. Connect SCK to a suitable ESP32 GPIO for I2S BCLK, WS to a suitable GPIO for WS/LRCLK, and SD to a suitable GPIO configured as I2S data input (DIN). The example above uses GPIOs 42, 40, and 41 respectively.
  3. Set L/R to GND for left-channel output or to 3V3 for right-channel output, within the module’s specified supply range.
  4. Configure the I2S receive channel to match the L/R strap. The module manual’s example selects left-only mono, which matches L/R low. A mismatch can result in no useful samples even when the clock and data wiring are correct.

Configure I2S in Arduino IDE

First select the actual ESP32 board in Arduino IDE and install or identify the Arduino-ESP32 core version in use. I2S APIs differ between core versions: the referenced tutorial uses the legacy driver/i2s.h interface, while current Espressif documentation describes the I2SClass interface. Use code and method names that match the installed core rather than combining examples from different API generations.

Rank #2
Qoroos 3 PCS INMP441 Omnidirectional Microphone Module ESP32 I2S Interface MEMS High Precision Low Power Digital Output Supports ESP32
  • Product Overview: The INMP441 is a high-performance omnidirectional MEMS microphone with digital output and a bottom-port design. Combining low power consumption with superior acoustic performance, it delivers exceptional audio capture quality for professional applications
  • Compact Design: Housed in an ultra-thin 4.72 × 3.76 × 1 mm surface-mount package, this microphone retains consistent sensitivity after reflow soldering. Its halide-free construction ensures reliable performance and seamless PCB integration
  • Acoustic Excellence: Featuring an impressive 61 dBA signal-to-noise ratio and a flat wideband frequency response, the INMP441 reproduces natural, high-definition audio with outstanding clarity, making it an ideal choice for near-field sound applications
  • Digital Interface: Equipped with a built-in 24-bit I²S interface, the microphone connects directly to digital processors—such as DSPs and microcontrollers—without the need for external audio codecs, greatly simplifying system design
  • Application Versatility: Suitable for a wide range of uses including teleconferencing systems, gaming peripherals, mobile electronics, laptops, and security systems, the INMP441 provides consistent performance across diverse operating conditions

Whichever supported interface you use, configure the peripheral for receiving audio, assign BCLK, WS, and DIN to the pins you wired, set a supported sample rate and slot width, and select the channel that agrees with L/R. The module manual demonstrates 16 kHz, 32-bit slots, and left-channel receive. The Arduino-ESP32 I2S API reference documents the current class and pin configuration methods.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read samples and inspect the waveform

Once I2S receive is configured, read blocks of samples into a buffer and inspect the incoming values. The tutorial demonstrates plotting a waveform and calculating RMS signal intensity over short windows. A waveform is useful for confirming that the microphone is producing changing samples; RMS gives a simple measure of signal magnitude over the selected window.

Rank #3
Teyleten Robot INMP441 Omnidirectional Microphone Module MEMS High Precision Low Power I2S Interface (5PCS)
  • INMP441 is a high performance, low power consumption, digital output, omnidirectional MEMS microphone with bottom port
  • The complete INMP441 solution consists of a MEMS sensor, signal composition conditioning, analog-to-digital converter, anti-aliasing filter, power management and industry standard 24-bit I²S interface.
  • The I²S interface allows INMP441 to connect directly to digital processors, such as DSPs and microcontrollers, without the need for the audio codec used in the system
  • INMP441 has a high signal-to-noise ratio and is an excellent choice for near-field applications. INMP441 has a flat broadband frequency response, resulting in high definition of natural sound.

These values are digital sample measurements, not calibrated sound-pressure levels. In particular, the module specifications reported by the manual—such as sensitivity and frequency response—do not make an Arduino RMS value a sound-level meter reading. Do not label a raw RMS threshold as decibels SPL without an appropriate calibration method.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Use a clap to trigger an output

A clap-trigger example can compare short-window signal intensity with a chosen threshold and switch an output when the reading crosses it. An LED and suitable resistor are optional parts for demonstrating the output. The threshold depends on microphone placement, gain/sensitivity, room noise, sample handling, and the chosen window, so tune it for the particular build rather than treating one value as universal.

Rank #4
EGSCST 3PCS INMP441 I2S Microphone Module Omnidirectional MEMS Digital Audio Mic Breakout Board with 20CM/7.8" 10Pins Dupont Cables for ESP32 Arduino High Precision Low Power Ultra Small Voice Input
  • [Premium INMP441 Digital Microphone] Experience high-performance low-power digital output with this omnidirectional MEMS microphone ideal for precise audio capture.
  • [Seamless I2S Interface Connectivity] Designed for easy integration this module features an I2S interface ensuring reliable and high-fidelity audio data transmission to your projects.
  • [Versatile Compatibility & Application] Perfectly suited for ESP32 and Arduino development boards enhancing projects like voice assistants audio recording and sound detection systems.
  • [Compact & Efficient Design] Its ultra-small form factor 14 x 14 x 1 mm allows for discreet placement and efficient use of space in any electronic setup.
  • [Complete Kit with Dupont Cables] Each 3-piece set includes 20CM/7.8" 10Pins Dupont cables providing a convenient plug-and-play solution for quick setup and prototyping.

For a more dependable trigger, consider requiring the signal to exceed the threshold for a defined number of samples or adding a brief lockout after detection. These measures can reduce repeated triggers from one clap’s reverberation, but they do not turn the circuit into a calibrated sound meter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
AITRIP 3PCS INMP441 Omnidirectional Microphone Module I2S Interface MEMS High Precision Low Power Ultra Small Volume with 20CM/7.8" 10pins Dupont Cable Female to Female for ESP32 DIY
  • The INMP441 is a high-performance, low power, digital-output, omnidirectional MEMS microphone with a bottom port.
  • The INMP441 is available in a thin 4.72 x 3.76 x 1 mm surface mount package. It is reflow- solder compatible with no sensitivity degradation. The INMP441 is halide free.
  • The INMP441 has a high signal-to-noise ratio and is an excellent choice for near field applications. The INMP441 has a flat wideband frequency response that results in high definition of natural sound.
  • SCK: Serial data clock for I2S interface; WS: Serial data word selection for I2S interface; L/R: Left/Right channel selection.
  • Applications: Teleconferencing Systems; Remote Controls ; Gaming Consoles; Mobile Devices ;Laptops Tablets ;Security Systems

Troubleshoot missing or unusable audio

  • No changing samples: Recheck VDD, common ground, BCLK, WS, and the SD-to-DIN direction. Verify the GPIOs against your board’s pinout.
  • Clocking works but the receive buffer is silent: Check that the configured left/right channel matches L/R. Low selects left; high selects right according to the module manual.
  • Build errors involving I2S names or methods: Confirm whether your installed Arduino-ESP32 core supports the legacy driver/i2s.h example or the current I2SClass API, and use the corresponding documentation and example.
  • Unexpected amplitude or clipping: Check that the code’s sample format and slot width match the receive configuration. The manual’s demonstrated receive setup uses 32-bit slots, while the microphone output is specified as 24-bit I2S PCM.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Arduino IDEESP32I2SINMP441Microphones

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.