2 or more i2s mems microphone breakouts (SPH0645LM4H)

Hi all,

I am trying to connect two or more i2s mems microphones to an Arduino Feather M0 bluefruit LE or MKRZero.

I have connected one microphone sensor by following the tutorial from adafruit (Arduino Wiring & Test | Adafruit I2S MEMS Microphone Breakout | Adafruit Learning System) and used the example code called InputPlotter to receive microphone sensor data.

What i want to do is connecting two microphone sensors to arduino to receive data and make the two microphones to record simultaneously (i dont wanna make it stereo though)

I looked up how i2s works and the code itself, but i couldn't find a solution to this
If anyone could point me in the right direction, I would really appreciate it!

I'm pretty sure there are other I2S MEMS microphones that can be bussed together and pin-configured to
be a left and right channel, which would allow two microphones on one I2S bus.

Can't remember any part numbers alas...

to arduino to receive data and make the two microphones to record simultaneously (i dont wanna make it stereo though)

Why not? You can separate them later if you want.

Grumpy_Mike:
Why not? You can separate them later if you want.

I didn't know I could separate them! I saw this post on GitHub that the data from each channel would be intertwined and could not be separated (2 x I2S microphones Stereo configuration · Issue #5 · arduino-libraries/ArduinoSound · GitHub).

I am trying to record voice signals with one microphone and voice signals with background noises with another simultaneously. (so 2 microphones)

  • can I do this by making it stereo and separate them into two mono tracks?

Thank you so much for helping me out! i'm new to this whole thing and already getting a lot out of this post

Look at the format of an I2S message, yes they are intertwined but you can write code to pick out the left and right data. It might not be beginner level code and you might want to do it on the PC with a language like Processing, and not the Arduino because to do it in real time is tricky.

That post seemed to be connecting two microphones along the same wires. Not the same thing as you want at all.

Hi! I figured out how to separate the stereo systems but i have another problem!

I wired up two microphones as shown in the picture (same as the wiring shown here -- Old Kernel Install Method | Adafruit I2S MEMS Microphone Breakout | Adafruit Learning System)

But it keeps making screeching high pitched noises whenever I connect it stereo.

I thought it was the soldering so i tested it out by disconnecting one mic at a time, but both microphones work fine (without any noises) when I do that

could it be the power de-coupling problem?

any help would be appreciated!

stereoMicWiring.png

could it be the power de-coupling problem?

It could, I would have a 0.1uF ceramic capacitor between power and ground as close to each board as you can get. With the leads cut as short as possible while still making connection.

Sadly, it wasn't the decoupling problem...:frowning:

I recorded my voice with the stereo configuration, and it sounded really weird (like what very distorted) in addition to the high pitched noises!

I thought it was something about the current and tried separating powers for the two microphones, but that didn't work out either!

As the schematic is straight from Adafruit why not ask on their forum about this. I have only ever run one I2S card at a time.