These are breakout boards for Invensense's ICS43432 bottom-ported digital microphones that output I2S audio as a stream of 24-bit serial words that can be directly read by a Teensy 3.X microcontroller or any microprocessor with an I2S port. No CODEC is required to decode the audio data!
The pinout is straightforward. The microphones are NOT 5 V tolerant so apply no more than 3.6 V to 3V3 on the board. On the Teensy 3.1, pin 11 goes to the breakout board CLK (clock), pin 12 goes to the breakout board WS (word select), pin 10 sets the microphone as either right channel (HIGH) or left channel (LOW), pin 13 is the serial data out.
The ICS43432 is the newest Invensense microphone and is smaller than the INMP441 (its predecessor) with even better signal to noise ratio.
There is a simple library for reading the 24-bit I2S data with a 48 kHz sampling rate and the serial data can be written to the serial monitor for later capture or a file for later analysis or playback by, say, Audacity, stored on external flash memory, or simply analyzed in real time by the Teensy 3.x.
To playback the captured serial data on Audacity follow these steps:
First, make sure you record the sound with the Teensy running at 96 MHz!
File->Import->Raw data in the main menu.
Magic settings here are:
Codec: Signed 24 Bit PCM
Byte-order: Big Endian (!)
Channel: 2 Stereo
0 Byte offset: 336
sampling frequency: 48000
This should allow playback but capturing serial data from the serial monitor is tricky and you might have to use more sophisticated methods to pipe the serial data into a file, (use Serial.write not Serial.print to pipe the data directly from USB).
I wanted to explore the possibility of using digital audio for echo location, fast fourier transforms for analyzing sound patterns and simply as a tool to get audio data into a microcontroller for analysis and control applications without the use of complicated circuitry and learning about audio coder/decoders or CODECs. These microphones are ideally suited for experimenting with audio processing since they output serial data in a standard (albeit not well known in the Arduino community) I2S format. The 24-bit serial data is embedded in a 32-bit serial word with eight bits of tri-state padding. The microphone data output is described in detail here. The I2S standard is no more complicated than I2C but it is unfamiliar enough that it took me some time getting used to it.
This is a small, simple breakout board that can be used alone on a breadboard, or use two (one set to left and one set to right) for stereo audio capture. These boards are an easy way to enter the wonderful world of hi-fidelity stereo audio recording and analysis without the investment in expensive and complicated amplifying and decoding circuitry.
Order the pcb from OSH Park and make your own or order a fully assembled and tested board from me and see how easy digital audio recording can be!
|Shipping Rate||First item||Additional items|
United States Postal Service: Standard Ground Rate with tracking
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!
One-man maker shop with a focus on appallingly small, value-added products. Specialties include motion sensing and motion control applications.
If you don't see what you want, let me know what it is, I might be able to help!
See here for my story: https://www.maker.io/en/interviews/2016/interview-with-kris-winer---pesky-products