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

How to Use INMP441 I2S Microphone Module: Examples, Pinouts, and Specs

Image of INMP441 I2S Microphone Module
Cirkit Designer LogoDesign with INMP441 I2S Microphone Module in Cirkit Designer

Introduction

The INMP441 is a high-performance digital microphone module manufactured by Arduino. It uses the I2S (Inter-IC Sound) interface for transmitting audio data, making it an excellent choice for digital audio applications. This module is designed to deliver high signal-to-noise ratio (SNR) audio output while maintaining low power consumption. Its compact size and digital output make it ideal for integration into modern audio systems.

Explore Projects Built with INMP441 I2S Microphone Module

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 and INMP441 Microphone-Based Audio Capture System with Wi-Fi Connectivity
Image of inmp441 mic with esp32: A project utilizing INMP441 I2S Microphone Module 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 GPS Tracker with Audio Input
Image of railmic: A project utilizing INMP441 I2S Microphone Module 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-S3 and INMP441 I2S Microphone Audio Data Logger
Image of esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing INMP441 I2S Microphone Module 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 MEMS Microphone Interface
Image of Puppet: A project utilizing INMP441 I2S Microphone Module 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

Explore Projects Built with INMP441 I2S Microphone Module

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 inmp441 mic with esp32: A project utilizing INMP441 I2S Microphone Module 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 railmic: A project utilizing INMP441 I2S Microphone Module 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 esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing INMP441 I2S Microphone Module 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 Puppet: A project utilizing INMP441 I2S Microphone Module 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

Common Applications and Use Cases

  • Voice recognition systems
  • Audio recording devices
  • Smart home assistants
  • IoT devices with audio input
  • Digital audio processing and analysis

Technical Specifications

The INMP441 module is designed to provide reliable performance in a variety of audio applications. Below are its key technical details:

Parameter Value
Supply Voltage (VDD) 1.8V to 3.3V
Current Consumption 1.4 mA (typical)
Signal-to-Noise Ratio 61 dB
Acoustic Overload Point 120 dB SPL
Frequency Response 60 Hz to 15 kHz
Output Format I2S (Inter-IC Sound)
Directionality Omnidirectional
Operating Temperature -40°C to +85°C
Module Dimensions 15 mm x 10 mm x 3 mm

Pin Configuration and Descriptions

The INMP441 module has 5 pins, as described in the table below:

Pin Name Pin Number Description
VDD 1 Power supply input (1.8V to 3.3V). Connect to a regulated power source.
GND 2 Ground connection. Connect to the ground of the circuit.
WS 3 Word Select (I2S interface). Determines the channel (left or right) for audio.
SCK 4 Serial Clock (I2S interface). Provides the clock signal for data transmission.
SD 5 Serial Data (I2S interface). Outputs the digital audio data.

Usage Instructions

The INMP441 is straightforward to use in digital audio applications. Below are the steps and considerations for integrating it into a circuit:

Connecting the INMP441 to a Microcontroller

  1. Power Supply: Connect the VDD pin to a 3.3V regulated power source and the GND pin to the ground.
  2. I2S Interface:
    • Connect the WS pin to the Word Select pin of the microcontroller.
    • Connect the SCK pin to the Serial Clock pin of the microcontroller.
    • Connect the SD pin to the Serial Data input pin of the microcontroller.
  3. Pull-Up Resistors: Ensure that the I2S lines have appropriate pull-up resistors if required by your microcontroller.

Important Considerations

  • Voltage Levels: The INMP441 operates at 3.3V logic levels. Ensure your microcontroller is compatible or use a level shifter.
  • Microphone Placement: Place the microphone in a location free from excessive noise or vibrations for optimal performance.
  • I2S Configuration: Configure the microcontroller's I2S interface to match the INMP441's settings (e.g., data format, clock polarity).

Example Code for Arduino UNO

The Arduino UNO does not natively support I2S, but you can use an external I2S interface or a compatible microcontroller like the ESP32. Below is an example code snippet for the ESP32:

#include <driver/i2s.h>

// I2S configuration for the INMP441 microphone
#define I2S_NUM         I2S_NUM_0  // Use I2S port 0
#define I2S_WS_PIN      15         // Word Select pin (WS)
#define I2S_SCK_PIN     14         // Serial Clock pin (SCK)
#define I2S_SD_PIN      32         // Serial Data pin (SD)

void setup() {
  // Configure the 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 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 the 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 = I2S_PIN_NO_CHANGE, // Not used for input
    .data_in_num = I2S_SD_PIN   // Serial Data (SD)
  };

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

void loop() {
  // Buffer to store audio data
  int16_t audio_buffer[1024];
  size_t bytes_read;

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

  // Process the audio data (e.g., send to a server, save to SD card, etc.)
}

Troubleshooting and FAQs

Common Issues

  1. No Audio Output:

    • Ensure the I2S interface is correctly configured on the microcontroller.
    • Verify the connections between the INMP441 and the microcontroller.
    • Check the power supply voltage (must be between 1.8V and 3.3V).
  2. Distorted Audio:

    • Ensure the sampling rate and bit depth match the INMP441's capabilities.
    • Avoid placing the microphone near sources of electrical noise.
  3. Microphone Not Detected:

    • Confirm that the I2S pins on the microcontroller are correctly assigned.
    • Check for loose or incorrect wiring.

Tips for Troubleshooting

  • Use an oscilloscope to verify the I2S clock and data signals.
  • Test the microphone with a known working I2S device to rule out hardware issues.
  • Consult the microcontroller's datasheet for I2S configuration details.

By following this documentation, you can effectively integrate the INMP441 I2S Microphone Module into your audio projects.