I'd like to use SPH0645 I2S Mic with Arduino micro. I heard all Arduino boards are supported by I2S library but I didn't see an example for it nor the I2S.h file itself in my IDE. So I tried online editor and the same thing happens. How can I get this library or if anyone know how to get this mic working. Thanks.
. I heard all Arduino boards are supported by I2S library
No that is not correct only the ARM based 3V3 Arduinos support I2S. The AVR boards like the Uno, Mega, Nano and Leonardo do not.
I'd recommend against that particular mic as it's output violates the I2S timing specification. See my screed on the subject here: https://forum.pjrc.com/threads/47010-I2S-Microphone-(SPH0645LM4H-B)?highlight=microphone
I2S is far too high a bandwidth protocol for a small 8-bit microcontroller as used in the Uno/Mega and other ATmega-based Arduinos.
anarchira:
I heard all Arduino boards are supported by I2S library
Where did you hear this (wrong info)?
If it's anywhere online, let's make sure it gets fixed.
FWIW, many years ago there was a project which attempted to do I2S on Arduino Uno using the SPI port.
If you download the code, you'll see they did manage to generate sine waves from lookup tables and implement simple effects that alter the amplitude or delay output. But those effects and waveforms are pretty much the limit of what can be done with 8 bit chips lacking real I2S hardware & DMA. Nobody ever made it play files from media like SD cards, or record beyond the tiny RAM, or implement more sophisticated synthesis like frequency/phase modulation or wavetables, much less doing so with polyphony, or more advanced effects like chorus, reverb, granular processing, IIR & FIR filters, etc.