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 INMP441 is widely used in devices such as smartphones, tablets, voice-controlled systems, and other portable electronics requiring clear audio input.

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 audio input
  • Portable electronics like smartphones and tablets
  • Noise monitoring and sound level measurement systems

Technical Specifications

The INMP441 microphone is designed to deliver high performance in a compact package. Below are its key technical details:

Key Specifications

Parameter Value
Supply Voltage 1.8V to 3.3V
Current Consumption 1.4 mA (typical)
Output Format I2S (Inter-IC Sound)
Signal-to-Noise Ratio 61 dB
Acoustic Overload Point 120 dB SPL
Frequency Response 60 Hz to 15 kHz
Sensitivity -26 dBFS ±1 dB
Dimensions 3.5 mm × 2.65 mm × 0.98 mm

Pin Configuration and Descriptions

The INMP441 has a total of 5 pins. Below is the pinout and description:

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

Usage Instructions

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

Connecting the INMP441

  1. Power Supply: Connect the VDD pin to a 1.8V to 3.3V power source and the GND pin to ground.
  2. I2S Interface:
    • Connect the SCK pin to the I2S clock line of your microcontroller or audio processor.
    • Connect the WS pin to the I2S word select line.
    • Connect the SD pin to the I2S data input line of your microcontroller.
  3. Bypass Capacitor: Place a 0.1 µF decoupling capacitor close to the VDD pin to reduce noise.

Important Considerations

  • I2S Configuration: Ensure your microcontroller or audio processor is configured for I2S communication. The INMP441 outputs data in a 24-bit, two's complement format.
  • Clock Requirements: The INMP441 requires an I2S clock signal (SCK) to operate. Ensure the clock frequency matches the desired audio sampling rate.
  • Channel Selection: Use the WS pin to select the left or right audio channel. Typically, WS = 0 selects the left channel, and WS = 1 selects the right channel.

Example: Using INMP441 with Arduino UNO

The Arduino UNO does not natively support I2S communication. However, you can use an external I2S interface or a compatible microcontroller like the ESP32. Below is an example of using the INMP441 with an ESP32:

#include <driver/i2s.h>

// I2S configuration for ESP32
#define I2S_NUM         I2S_NUM_0  // I2S port number
#define I2S_WS          25         // Word Select pin (WS)
#define I2S_SCK         26         // Serial Clock pin (SCK)
#define I2S_SD          22         // Serial Data pin (SD)

// I2S configuration structure
void setupI2S() {
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX), // Master mode, receive
    .sample_rate = 16000,                               // Sampling rate
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,       // 16-bit audio
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,        // Left channel only
    .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                                   // Buffer length
  };

  // Pin configuration
  i2s_pin_config_t pin_config = {
    .bck_io_num = I2S_SCK,  // Serial Clock (SCK)
    .ws_io_num = I2S_WS,    // Word Select (WS)
    .data_out_num = -1,     // Not used (output)
    .data_in_num = I2S_SD   // Serial Data (SD)
  };

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

void setup() {
  Serial.begin(115200);
  setupI2S();  // Initialize I2S
  Serial.println("INMP441 Microphone Initialized");
}

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

  // Read audio data from I2S
  i2s_read(I2S_NUM, data, sizeof(data), &bytesRead, portMAX_DELAY);

  // Process or transmit audio data as needed
  Serial.print("Bytes read: ");
  Serial.println(bytesRead);
}

Notes:

  • Replace the pin numbers in the code with the actual GPIO pins connected to the INMP441.
  • Ensure the sampling rate and bit depth match your application requirements.

Troubleshooting and FAQs

Common Issues

  1. No Audio Output:

    • Verify that the I2S clock (SCK) is correctly configured and active.
    • Check the power supply voltage (1.8V to 3.3V) and ensure proper grounding.
    • Confirm that the WS pin is set to the correct channel (left or right).
  2. Distorted Audio:

    • Ensure the sampling rate and bit depth are configured correctly in your microcontroller.
    • Check for noise or interference in the power supply. Use a decoupling capacitor if needed.
  3. Microphone Not Detected:

    • Verify the I2S pin connections and ensure they match the microcontroller's I2S configuration.
    • Check for loose or incorrect wiring.

FAQs

Q: Can the INMP441 be used with 5V logic?
A: No, the INMP441 operates at a maximum voltage of 3.3V. Use a level shifter if interfacing with 5V logic.

Q: Does the INMP441 support stereo audio?
A: The INMP441 outputs mono audio. However, multiple microphones can be used for stereo setups by configuring their WS pins for left and right channels.

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

Q: Can I use the INMP441 with an Arduino UNO?
A: The Arduino UNO does not natively support I2S. Use a microcontroller like the ESP32 or an external I2S interface for compatibility.