This is Invensense's latest ICS43434 I2S digital microphone on a small (18 mm x 15 mm) pcb designed to be mounted directly onto the Butterfly (STM32L433) Development Board and directly connect to the I2S port of the Butterfly. The board is designed to be as small as possible and still access the I2S port and power/GND allowing a convenient and simple way to record and analyze I2S sound.
From Invensense's web page: "The ICS-43434 is a digital I²S-output bottom-port microphone. The complete ICS-43434 solution consists of a MEMS sensor, signal conditioning, an analog-to-digital converter, decimation and antialiasing filters, power management, and an industry standard 24-bit I²S interface. The I²S interface allows the ICS-43434 to connect directly to digital processors, such as DSPs and microcontrollers, without the need for an audio codec in the system."
The ICS43434 is perfect for use with the low-power STM32L4 family of microcontrollers since it has several low power modes accessable by changing the sample clock frequency specified as part of the I2S configuration. Check the data sheet for details.
You can mount the add-on board on female headers on top or bottom of your Butterfly so it can be readily removed, or mount it permanently by soldering directly onto machine pin headers; the design of the board doesn't hinder access to the Butterfly buttons or other pins not used for the I2S port.
And you can choose to set the microphone as left channel or right channel (using the L/R pin on Butterfly GPIO A5), or one of each in the case you want to record stereo I2S data.
I designed a lot of add-ons for the Butterfly (and Ladybug, too!) including motion sensors, environmental sensors, SPI flash memory and SD cards. Here is another way to make your Butterfly even more useful by adding an I2S digital microphone that takes up very little space.
I2S is a simple a protocol like SPI or I2C for encoding 24-bit sound data. This microphone is a sensitive transducer (65 dB SNR) with frequency response from 60 Hz to 20 kHz and the data is read directly by the I2S bus of the STM32L433 microcontroller. The I2S data can be stored (on an SPI flash or SD card) for later playback, the data can be analyzed to produce amplitude versus time or a fast-Fourier transform can be applied to provide a frequency spectrum of the sound in real time.
There is a nice ArduinoSound library for I2S devices that runs on the Butterfly. I've checked the microphone performance using pure tones and the ArduinoSound FFT analyzer. The analyzer can detect the dominant mode with pretty good discrimination. For a ~440 Hz tone from a metronome, I measured the relative strength of frequency modes of 375 Hz@0.585, 437 Hz@1.000, 500Hz@0.660 with all other frequencies modes less than 0.2, meaning the microphone and ArduinoSound FFT could identify the dominant mode with rather broad side bands. I am not sure if this is the FFT or the microphone (probably the former) and the results will depend on the quality of the input sound and the sampling rate of the FFT, etc. Still, this gives you some idea of the kind of sound analysis made simple and easy with this microphone and the ArduinoSound library. The FFT analyzer sketch is quite large though; we are planning to write a more efficient version.
I have a MAX98357 I2S amplifier than can take recorded I2S data stored on an SPI flash or SD card and play it back directly to an 8 Ohm speaker. I also want to learn how to play recorded I2S data directly through the STM32L4 DAC. I still have a lot to learn about using these I2S microphones but the ICS43434 Butterfly add-on makes learning fun and easy!
This is a small, purpose-built add on that allows a state-of-the-art digital I2S microphone to connect directly and conveniently to your Butterfly.
Orders some pcbs from OSH Park and assemble some of your own or order the fully assembled and tested ICS43434 add-on here and see how easy it is to record and process I2S digital sound!
|Shipping Rate||First item||Additional items|
United States Postal Service: Standard Ground Rate
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