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

How to Use inmp441 microphone: Examples, Pinouts, and Specs

Image of inmp441 microphone
Cirkit Designer LogoDesign with inmp441 microphone in Cirkit Designer

Introduction

The INMP441 is a digital MEMS (Micro-Electro-Mechanical Systems) microphone designed for high-quality audio capture with low power consumption. It features an I2S (Inter-IC Sound) output, which eliminates the need for an external ADC (Analog-to-Digital Converter), making it ideal for digital audio applications. The microphone is compact, lightweight, and highly sensitive, making it suitable for use in portable devices, voice recognition systems, and IoT (Internet of Things) applications.

Explore Projects Built with inmp441 microphone

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 microphone 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 microphone 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-Based I2S MEMS Microphone Interface
Image of Puppet: A project utilizing inmp441 microphone 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-S3 and INMP441 I2S Microphone Audio Data Logger
Image of esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing inmp441 microphone 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

Explore Projects Built with inmp441 microphone

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 microphone 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 microphone 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 Puppet: A project utilizing inmp441 microphone 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 esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing inmp441 microphone 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

Common Applications

  • Voice recognition systems (e.g., smart assistants)
  • Audio recording devices
  • IoT devices with sound detection
  • Portable electronics
  • Noise monitoring systems

Technical Specifications

Below are the key technical details of the INMP441 microphone:

Parameter Value
Supply Voltage (VDD) 1.8V to 3.3V
Current Consumption 1.4 mA (typical)
Output Format I2S
Signal-to-Noise Ratio (SNR) 61 dB
Acoustic Overload Point 120 dB SPL
Frequency Response 60 Hz to 15 kHz
Sensitivity -26 dBFS ±1 dB
Operating Temperature -40°C to +85°C
Dimensions 3.76 mm × 2.95 mm × 1.1 mm

Pin Configuration and Descriptions

The INMP441 microphone typically comes in a small breakout board with the following pinout:

Pin Name Description
VDD Power supply pin. Connect to a 1.8V to 3.3V power source.
GND Ground pin. Connect to the ground of the circuit.
WS Word Select pin. Used to indicate the channel (left or right) for I2S data.
SCK Serial Clock pin. Provides the clock signal for I2S communication.
SD Serial Data pin. Outputs the digital audio data in I2S format.
L/R Left/Right channel select pin. Determines whether the microphone outputs
audio data on the left or right channel. Connect to GND for left or VDD for
right.

Usage Instructions

How to Use the INMP441 in a Circuit

  1. Power Supply: Connect the VDD pin to a 1.8V to 3.3V power source 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. Channel Selection: Use the L/R pin to select the audio channel:
    • Connect to GND for the left channel.
    • Connect to VDD for the right channel.
  4. Bypass Capacitor: Place a 0.1 µF decoupling capacitor close to the VDD pin to reduce noise.

Important Considerations

  • Ensure that the microcontroller or processor supports I2S communication.
  • Keep the microphone away from sources of electromagnetic interference (EMI) to avoid noise in the audio signal.
  • Use short and properly shielded wires for I2S connections to maintain signal integrity.

Example: Connecting INMP441 to Arduino UNO

The Arduino UNO does not natively support I2S communication. However, you can use an ESP32 or other microcontrollers with I2S support. Below is an example of connecting the INMP441 to an ESP32:

Wiring Diagram

INMP441 Pin ESP32 Pin
VDD 3.3V
GND GND
WS GPIO25
SCK GPIO26
SD GPIO22
L/R GND (Left)

Example Code

#include <driver/i2s.h>

// I2S configuration for ESP32
#define I2S_NUM         I2S_NUM_0  // Use I2S port 0
#define I2S_WS          25         // Word Select pin
#define I2S_SCK         26         // Serial Clock pin
#define I2S_SD          22         // Serial Data pin

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_16BIT,       // 16-bit audio data
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,        // Use only the left channel
    .communication_format = I2S_COMM_FORMAT_I2S,        // I2S communication format
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,           // Interrupt level 1
    .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,  // Serial Clock pin
    .ws_io_num = I2S_WS,    // Word Select pin
    .data_out_num = -1,     // Not used for microphone
    .data_in_num = I2S_SD   // Serial Data pin
  };

  // Install and start 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 microphone
  i2s_read(I2S_NUM, audio_buffer, sizeof(audio_buffer), &bytes_read, portMAX_DELAY);

  // Process audio data (e.g., send to a server or save to storage)
}

Troubleshooting and FAQs

Common Issues

  1. No Audio Output:

    • Ensure the microphone is powered correctly (1.8V to 3.3V).
    • Verify the I2S connections and pin assignments.
    • Check that the microcontroller supports I2S communication.
  2. Distorted Audio:

    • Ensure the sampling rate matches the microphone's specifications.
    • Avoid placing the microphone near sources of EMI.
  3. Low Sensitivity:

    • Verify the L/R pin configuration for the correct channel.
    • Check for loose or poor connections.

FAQs

Q: Can I use the INMP441 with a 5V microcontroller?
A: The INMP441 operates at 1.8V to 3.3V. If your microcontroller operates at 5V, use a level shifter for the I2S pins and ensure the microphone is powered with 3.3V.

Q: Does the INMP441 support stereo audio?
A: The INMP441 itself is a mono microphone. However, you can use two INMP441 microphones with different L/R pin configurations to capture stereo audio.

Q: What is the maximum sampling rate supported?
A: The INMP441 supports sampling rates up to 48 kHz, but 16 kHz is commonly used for voice applications.

Q: Can I use the INMP441 for sound localization?
A: Yes, but you will need multiple microphones and additional processing to determine the direction of sound.