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

How to Use I2S mic: Examples, Pinouts, and Specs

Image of I2S mic
Cirkit Designer LogoDesign with I2S mic in Cirkit Designer

Introduction

The INMP441ACEZ-R0 is a high-performance, low-power, digital microphone manufactured by TDK InvenSense. It utilizes the I2S (Inter-IC Sound) protocol to transmit audio data in a digital format, eliminating the need for analog-to-digital conversion and reducing noise and interference. This makes it an ideal choice for applications requiring high-quality audio capture.

Explore Projects Built with I2S mic

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi Zero-Based Audio Visualizer with OLED Display and INMP441 Microphone
Image of HEART_SOUND: A project utilizing I2S mic in a practical application
This circuit features a Raspberry Pi Zero connected to an INMP441 MEMS microphone and a 1.3" OLED display. The Raspberry Pi Zero communicates with the OLED display via I2C (using GPIO2 for SDA and GPIO3 for SCL), and it interfaces with the INMP441 microphone using I2S (with GPIO4 for SCK, GPIO9 for L/R selection, ID_SD for SD, and GPIO12 for WS). The circuit is designed for audio input through the microphone and visual output on the OLED display, likely for applications such as sound visualization or audio monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 and INMP441 I2S Microphone Audio Data Logger
Image of esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing I2S mic in a practical application
This circuit features an ESP32-S3-DevKitC-1-N8R2 microcontroller connected to an INMP441 microphone via I2S protocol. The ESP32 reads audio data from the microphone and prints it to the serial monitor, enabling real-time audio data acquisition and monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based I2S Digital Microphone Interface
Image of inmp441 mic with esp32: A project utilizing I2S mic in a practical application
This circuit connects an INMP441 MEMS microphone to an ESP32 microcontroller. The microphone's left/right (L/R) and ground (GND) pins are tied to the ESP32's ground, while its I2S interface pins (WS, SCK, SD) are connected to the ESP32's corresponding I2S pins (D25, D32, D33) for digital audio data transfer. The microphone is powered by the ESP32's 3.3V output.
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 I2S mic 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

Explore Projects Built with I2S mic

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 HEART_SOUND: A project utilizing I2S mic in a practical application
Raspberry Pi Zero-Based Audio Visualizer with OLED Display and INMP441 Microphone
This circuit features a Raspberry Pi Zero connected to an INMP441 MEMS microphone and a 1.3" OLED display. The Raspberry Pi Zero communicates with the OLED display via I2C (using GPIO2 for SDA and GPIO3 for SCL), and it interfaces with the INMP441 microphone using I2S (with GPIO4 for SCK, GPIO9 for L/R selection, ID_SD for SD, and GPIO12 for WS). The circuit is designed for audio input through the microphone and visual output on the OLED display, likely for applications such as sound visualization or audio monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing I2S mic in a practical application
ESP32-S3 and INMP441 I2S Microphone Audio Data Logger
This circuit features an ESP32-S3-DevKitC-1-N8R2 microcontroller connected to an INMP441 microphone via I2S protocol. The ESP32 reads audio data from the microphone and prints it to the serial monitor, enabling real-time audio data acquisition and monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of inmp441 mic with esp32: A project utilizing I2S mic in a practical application
ESP32-Based I2S Digital Microphone Interface
This circuit connects an INMP441 MEMS microphone to an ESP32 microcontroller. The microphone's left/right (L/R) and ground (GND) pins are tied to the ESP32's ground, while its I2S interface pins (WS, SCK, SD) are connected to the ESP32's corresponding I2S pins (D25, D32, D33) for digital audio data transfer. The microphone is powered by the ESP32's 3.3V output.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of inmp441 mic with esp32: A project utilizing I2S mic 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

Common Applications

  • Voice recognition systems
  • Smart home devices (e.g., smart speakers, IoT devices)
  • Audio recording and streaming
  • Noise-canceling systems
  • Wearable devices

Technical Specifications

The following table outlines the key technical details of the INMP441ACEZ-R0:

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 I2S (24-bit, 2's complement)
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 INMP441ACEZ-R0 has a 5-pin configuration. The table below describes each pin:

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

Usage Instructions

How to Use the INMP441ACEZ-R0 in a Circuit

  1. Power Supply: Connect the VDD pin to a regulated power supply (1.8V to 3.3V) and the GND pin to the ground.
  2. I2S Interface: Connect the WS, SCK, and SD pins to the corresponding I2S pins on your microcontroller or audio processor.
  3. Bypass Capacitor: Place a 0.1 µF ceramic capacitor close to the VDD pin to stabilize the power supply.
  4. Microcontroller Configuration: Configure your microcontroller to operate in I2S mode with a compatible clock frequency and data format (24-bit, 2's complement).

Important Considerations

  • Ensure the I2S clock signals (SCK and WS) are stable and within the microphone's operating range.
  • Avoid placing the microphone near high-frequency noise sources to minimize interference.
  • Use proper PCB layout techniques to ensure clean signal transmission.

Example: Connecting the INMP441ACEZ-R0 to an Arduino UNO

The Arduino UNO does not have native I2S support, but you can use an external I2S interface module or a microcontroller like the ESP32, which supports I2S natively. Below is an example code snippet for using the INMP441ACEZ-R0 with an ESP32:

#include <driver/i2s.h>

// I2S configuration
#define I2S_NUM         I2S_NUM_0  // I2S port number
#define I2S_WS_PIN      25         // Word Select pin (WS)
#define I2S_SCK_PIN     26         // Serial Clock pin (SCK)
#define I2S_SD_PIN      22         // Serial Data pin (SD)

void setup() {
  // Configure I2S
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX), // Master mode, receive data
    .sample_rate = 16000,                               // Sampling rate (16 kHz)
    .bits_per_sample = I2S_BITS_PER_SAMPLE_24BIT,       // 24-bit audio
    .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
  };

  // Install and start I2S driver
  i2s_driver_install(I2S_NUM, &i2s_config, 0, NULL);

  // Configure I2S pins
  i2s_pin_config_t pin_config = {
    .bck_io_num = I2S_SCK_PIN,  // Serial Clock (SCK)
    .ws_io_num = I2S_WS_PIN,    // Word Select (WS)
    .data_out_num = -1,         // Not used (output pin)
    .data_in_num = I2S_SD_PIN   // Serial Data (SD)
  };
  i2s_set_pin(I2S_NUM, &pin_config);
}

void loop() {
  // Buffer to store audio data
  uint8_t audio_data[128];
  size_t bytes_read;

  // Read audio data from the microphone
  i2s_read(I2S_NUM, audio_data, sizeof(audio_data), &bytes_read, portMAX_DELAY);

  // Process or transmit the audio data as needed
}

Notes:

  • Replace the pin numbers in the code with the actual GPIO pins used in your setup.
  • Ensure the ESP32's I2S clock frequency matches the microphone's requirements.

Troubleshooting and FAQs

Common Issues

  1. No Audio Output:

    • Verify the power supply voltage (1.8V to 3.3V) and connections.
    • Ensure the I2S clock signals (SCK and WS) are correctly configured.
  2. Distorted Audio:

    • Check for noise or interference in the power supply.
    • Ensure the sampling rate and bit depth match the microphone's specifications.
  3. Microphone Not Detected:

    • Confirm the I2S pins are correctly connected to the microcontroller.
    • Verify the microcontroller's I2S configuration.

Tips for Troubleshooting

  • Use an oscilloscope to check the I2S clock signals (SCK and WS) for stability.
  • Test the microphone with a known working I2S device to isolate the issue.
  • Double-check the pin connections and soldering quality.

By following this documentation, you can effectively integrate the INMP441ACEZ-R0 I2S microphone into your projects for high-quality audio capture.