Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use INMP441: Examples, Pinouts, and Specs

Image of INMP441
Cirkit Designer LogoDesign with INMP441 in Cirkit Designer

Introduction

The INMP441 is a low-power, high-performance MEMS (Micro-Electro-Mechanical Systems) microphone with a digital I²S (Inter-IC Sound) output. It is designed to deliver high signal-to-noise ratio (SNR) and excellent acoustic performance, making it ideal for applications such as voice recognition, audio recording, and sound sensing in portable devices. Unlike traditional analog microphones, the INMP441 outputs digital audio data, which reduces noise interference and simplifies integration with microcontrollers and digital signal processors.

Explore Projects Built with INMP441

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based GPS Tracker with Audio Input
Image of railmic: A project utilizing INMP441 in a practical application
This circuit features an ESP32 microcontroller connected to an INMP441 microphone and a GPS NEO 6M module. The ESP32 is configured to communicate with the INMP441 via I2S (Inter-IC Sound) using its D32, D33, and D25 pins for the clock, data, and word select lines, respectively. Additionally, the ESP32's TX2 and RX2 pins are used for UART communication with the GPS module, allowing the microcontroller to receive GPS data.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and INMP441 Microphone-Based Audio Capture System with Wi-Fi Connectivity
Image of inmp441 mic with esp32: A project utilizing INMP441 in a practical application
This circuit interfaces an INMP441 microphone with an ESP32 microcontroller. The ESP32 reads audio data from the microphone via I2S protocol, with connections for power, ground, and data lines (WS, SCK, SD) appropriately mapped between the two components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based I2S MEMS Microphone Interface
Image of Puppet: A project utilizing INMP441 in a practical application
This circuit connects an ESP32 microcontroller to an INMP441 MEMS microphone. The ESP32 provides power to the microphone and interfaces with it using I2S communication protocol, as indicated by the connections to WS (word select), SCK (serial clock), and SD (serial data) pins. The purpose of this circuit is likely to capture and process audio signals, which can be used in applications such as voice recognition or audio sampling.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Wi-Fi Controlled Smart Valve with Microphone Input
Image of smart_stove: A project utilizing INMP441 in a practical application
This circuit features an ESP32 microcontroller interfaced with an INMP441 microphone for audio input, three pushbuttons for user input, and a 5V relay controlling a plastic solenoid valve. The circuit is powered by a 18650 battery pack with a step-down buck converter to regulate the voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with INMP441

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of railmic: A project utilizing INMP441 in a practical application
ESP32-Based GPS Tracker with Audio Input
This circuit features an ESP32 microcontroller connected to an INMP441 microphone and a GPS NEO 6M module. The ESP32 is configured to communicate with the INMP441 via I2S (Inter-IC Sound) using its D32, D33, and D25 pins for the clock, data, and word select lines, respectively. Additionally, the ESP32's TX2 and RX2 pins are used for UART communication with the GPS module, allowing the microcontroller to receive GPS data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of inmp441 mic with esp32: A project utilizing INMP441 in a practical application
ESP32 and INMP441 Microphone-Based Audio Capture System with Wi-Fi Connectivity
This circuit interfaces an INMP441 microphone with an ESP32 microcontroller. The ESP32 reads audio data from the microphone via I2S protocol, with connections for power, ground, and data lines (WS, SCK, SD) appropriately mapped between the two components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Puppet: A project utilizing INMP441 in a practical application
ESP32-Based I2S MEMS Microphone Interface
This circuit connects an ESP32 microcontroller to an INMP441 MEMS microphone. The ESP32 provides power to the microphone and interfaces with it using I2S communication protocol, as indicated by the connections to WS (word select), SCK (serial clock), and SD (serial data) pins. The purpose of this circuit is likely to capture and process audio signals, which can be used in applications such as voice recognition or audio sampling.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of smart_stove: A project utilizing INMP441 in a practical application
ESP32-Based Wi-Fi Controlled Smart Valve with Microphone Input
This circuit features an ESP32 microcontroller interfaced with an INMP441 microphone for audio input, three pushbuttons for user input, and a 5V relay controlling a plastic solenoid valve. The circuit is powered by a 18650 battery pack with a step-down buck converter to regulate the voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Voice recognition systems (e.g., smart assistants)
  • Audio recording in portable devices
  • Sound sensing in IoT devices
  • Noise monitoring and analysis
  • Hands-free communication systems

Technical Specifications

The INMP441 is a compact and efficient microphone with the following key specifications:

Parameter Value
Supply Voltage (VDD) 1.8V to 3.3V
Current Consumption 1.4 mA (typical)
Signal-to-Noise Ratio (SNR) 61 dB
Acoustic Overload Point 120 dB SPL
Frequency Response 60 Hz to 15 kHz
Output Format I²S (Inter-IC Sound)
Sensitivity -26 dBFS ±1 dB
Operating Temperature -40°C to +85°C
Package Dimensions 3.5 mm × 2.65 mm × 0.98 mm

Pin Configuration and Descriptions

The INMP441 has a total of 5 pins, as described in the table below:

Pin Name Pin Number Description
VDD 1 Power supply input (1.8V to 3.3V).
GND 2 Ground connection.
WS 3 Word Select (I²S left/right channel selection).
SCK 4 Serial Clock (I²S clock input).
SD 5 Serial Data (I²S digital audio data output).

Usage Instructions

How to Use the INMP441 in a Circuit

  1. Power Supply: Connect the VDD pin to a stable power source (1.8V to 3.3V) and the GND pin to the ground.
  2. I²S Interface: Connect the WS, SCK, and SD pins to the corresponding I²S pins on your microcontroller or audio processor:
    • WS: Word Select (used to determine left or right audio channel).
    • SCK: Serial Clock (provides the clock signal for data transfer).
    • SD: Serial Data (outputs the digital audio data).
  3. Bypass Capacitor: Place a 0.1 µF ceramic capacitor close to the VDD pin to stabilize the power supply.
  4. Microcontroller Configuration: Configure the microcontroller to read I²S data from the INMP441. Ensure the clock frequency and data format match the microphone's specifications.

Important Considerations

  • Clock Signal: The INMP441 requires an external clock signal on the SCK pin. Ensure the clock frequency is compatible with the desired audio sampling rate.
  • PCB Layout: Minimize noise by keeping the traces for the I²S signals short and avoiding interference from high-frequency signals.
  • Power Supply Noise: Use a low-noise power supply to avoid introducing unwanted noise into the audio signal.

Example: Connecting INMP441 to Arduino UNO

The Arduino UNO does not have a native I²S interface, so you will need an external I²S-compatible microcontroller (e.g., ESP32). Below is an example of how to connect the INMP441 to an ESP32 and read audio data.

Wiring Diagram

INMP441 Pin ESP32 Pin
VDD 3.3V
GND GND
WS GPIO25
SCK GPIO26
SD GPIO22

Example Code

#include <driver/i2s.h>

// I2S configuration for ESP32
#define I2S_WS_PIN 25  // Word Select pin
#define I2S_SCK_PIN 26 // Serial Clock pin
#define I2S_SD_PIN 22  // Serial Data pin

void setup() {
  Serial.begin(115200);

  // Configure I2S driver
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX), // Master mode, receive only
    .sample_rate = 16000,                               // Sampling rate: 16 kHz
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,       // 16-bit audio data
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,        // Single channel (left)
    .communication_format = I2S_COMM_FORMAT_I2S,       // I2S communication format
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,          // Interrupt level
    .dma_buf_count = 8,                                // Number of DMA buffers
    .dma_buf_len = 64                                  // Length of each DMA buffer
  };

  // Configure I2S pins
  i2s_pin_config_t pin_config = {
    .bck_io_num = I2S_SCK_PIN,  // Serial Clock pin
    .ws_io_num = I2S_WS_PIN,    // Word Select pin
    .data_out_num = I2S_PIN_NO_CHANGE, // No data output
    .data_in_num = I2S_SD_PIN   // Serial Data pin
  };

  // Install and start I2S driver
  i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
  i2s_set_pin(I2S_NUM_0, &pin_config);
}

void loop() {
  int16_t audio_data[64]; // Buffer to store audio samples
  size_t bytes_read;

  // Read audio data from INMP441
  i2s_read(I2S_NUM_0, audio_data, sizeof(audio_data), &bytes_read, portMAX_DELAY);

  // Print the first sample to the Serial Monitor
  Serial.println(audio_data[0]);
}

Troubleshooting and FAQs

Common Issues

  1. No Audio Data Output:

    • Ensure the SCK pin is receiving a valid clock signal.
    • Verify that the WS and SD pins are correctly connected to the microcontroller.
    • Check the power supply voltage (1.8V to 3.3V) and ensure it is stable.
  2. Noise in Audio Signal:

    • Use a low-noise power supply and place a bypass capacitor near the VDD pin.
    • Ensure the I²S traces on the PCB are short and free from interference.
  3. Incorrect Sampling Rate:

    • Verify that the microcontroller's I²S configuration matches the desired sampling rate (e.g., 16 kHz).

FAQs

Q: Can the INMP441 be used with 5V microcontrollers?
A: The INMP441 operates at 1.8V to 3.3V. If using a 5V microcontroller, level shifters are required for the I²S signals.

Q: Does the INMP441 support stereo audio?
A: No, the INMP441 is a mono microphone. However, multiple microphones can be used for stereo or multi-channel audio setups.

Q: What is the maximum sampling rate supported?
A: The INMP441 supports sampling rates up to 48 kHz, depending on the clock frequency provided to the SCK pin.