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

How to Use Adafruit I2S Mic - SPH0645: Examples, Pinouts, and Specs

Image of Adafruit I2S Mic -  SPH0645
Cirkit Designer LogoDesign with Adafruit I2S Mic - SPH0645 in Cirkit Designer

Introduction

The Adafruit I2S Mic (Manufacturer Part ID: 3421) is a digital microphone that utilizes the I2S (Inter-IC Sound) interface for transmitting audio data. This component is designed to deliver high-quality sound capture with low power consumption, making it an excellent choice for applications such as voice recognition, audio processing, and sound recording. Unlike analog microphones, the I2S Mic outputs digital audio data, eliminating the need for an analog-to-digital converter (ADC).

Explore Projects Built with Adafruit I2S Mic - SPH0645

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-S3 and INMP441 I2S Microphone Audio Data Logger
Image of esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing Adafruit I2S Mic -  SPH0645 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
Raspberry Pi Zero-Based Audio Visualizer with OLED Display and INMP441 Microphone
Image of HEART_SOUND: A project utilizing Adafruit I2S Mic -  SPH0645 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-Based I2S Digital Microphone Interface
Image of inmp441 mic with esp32: A project utilizing Adafruit I2S Mic -  SPH0645 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 Adafruit I2S Mic -  SPH0645 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 Adafruit I2S Mic - SPH0645

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 esp32-s3-DevKitC-1-N8R2-inmp441: A project utilizing Adafruit I2S Mic -  SPH0645 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 HEART_SOUND: A project utilizing Adafruit I2S Mic -  SPH0645 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 inmp441 mic with esp32: A project utilizing Adafruit I2S Mic -  SPH0645 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 Adafruit I2S Mic -  SPH0645 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
  • Audio recording and playback devices
  • IoT devices with sound detection capabilities
  • Smart home assistants
  • Audio spectrum analysis projects

Technical Specifications

The Adafruit I2S Mic - SPH0645 is designed for ease of use and high performance. Below are its key technical details:

Key Specifications

Parameter Value
Operating Voltage 1.8V to 3.3V
Interface I2S (Inter-IC Sound)
Sampling Rates 32kHz, 44.1kHz, 48kHz
Bit Depth 24-bit
Power Consumption Low power (approx. 1mA)
Signal-to-Noise Ratio 65 dB
Sensitivity -26 dBFS ±3 dB
Dimensions 15mm x 11mm x 1.5mm

Pin Configuration

The Adafruit I2S Mic has four pins, as described in the table below:

Pin Name Description
VIN Power input (1.8V to 3.3V). Connect to the 3.3V pin of your microcontroller.
GND Ground. Connect to the ground of your circuit.
BCLK Bit Clock. Provides the clock signal for data transmission.
DOUT Data Output. Outputs the digital audio data in I2S format.

Usage Instructions

The Adafruit I2S Mic is straightforward to use in audio projects. Below are the steps and considerations for integrating it into your circuit.

Connecting the I2S Mic

  1. Power Supply: Connect the VIN pin to a 3.3V power source and the GND pin to ground.
  2. I2S Interface:
    • Connect the BCLK pin to the Bit Clock (BCLK) pin of your microcontroller.
    • Connect the DOUT pin to the Data Input (DIN) pin of your microcontroller.
  3. Configuration: Ensure your microcontroller supports I2S communication and configure it to match the microphone's sampling rate and bit depth.

Important Considerations

  • Voltage Levels: The microphone operates at 3.3V logic levels. Ensure your microcontroller is compatible or use a level shifter if necessary.
  • Sampling Rate: Choose a sampling rate supported by the microphone (e.g., 44.1kHz) for optimal performance.
  • Microphone Placement: Place the microphone away from noise sources (e.g., power supplies) to minimize interference.

Example: Using with Arduino UNO

The Adafruit I2S Mic can be used with an Arduino-compatible board that supports I2S, such as the Arduino Nano 33 IoT. Below is an example code snippet for capturing audio data:

#include <I2S.h> // Include the I2S library for audio data handling

void setup() {
  Serial.begin(115200); // Initialize serial communication for debugging
  while (!Serial);

  // Initialize I2S for receiving audio data
  if (!I2S.begin(I2S_PHILIPS_MODE, 44100, 32)) {
    Serial.println("Failed to initialize I2S!");
    while (1); // Halt execution if I2S initialization fails
  }

  Serial.println("I2S Microphone Initialized");
}

void loop() {
  int sample = 0;

  // Check if audio data is available
  if (I2S.available()) {
    sample = I2S.read(); // Read a 32-bit audio sample
    Serial.println(sample); // Print the audio sample to the Serial Monitor
  }
}

Notes on the Code

  • The I2S.begin() function initializes the I2S interface in Philips mode with a 44.1kHz sampling rate and 32-bit depth.
  • The I2S.read() function retrieves audio samples from the microphone.

Troubleshooting and FAQs

Common Issues

  1. No Audio Data Output

    • Cause: Incorrect wiring or configuration.
    • Solution: Double-check the connections, especially the BCLK and DOUT pins. Ensure the microcontroller is configured for I2S communication.
  2. Distorted Audio

    • Cause: Incorrect sampling rate or bit depth.
    • Solution: Verify that the sampling rate and bit depth in your code match the microphone's specifications.
  3. Microphone Not Detected

    • Cause: Power supply issues or incompatible logic levels.
    • Solution: Ensure the VIN pin is receiving 3.3V and the microcontroller supports 3.3V logic levels.

FAQs

Q: Can I use the I2S Mic with a 5V microcontroller?
A: The microphone operates at 3.3V logic levels. If your microcontroller uses 5V logic, you will need a level shifter to safely interface with the microphone.

Q: What is the maximum sampling rate supported by the microphone?
A: The Adafruit I2S Mic supports sampling rates up to 48kHz.

Q: Can I use multiple I2S microphones in a single project?
A: Yes, but you will need a microcontroller with multiple I2S interfaces or a way to multiplex the I2S signals.

By following this documentation, you can effectively integrate the Adafruit I2S Mic - SPH0645 into your audio projects for high-quality sound capture and processing.