I2S Mikrophone

Da es mittlerweile diverse Boards mit ARM Cortex M0 gibt (Arduino MKR-Serie, diverse Adafruit Feather mit MO), die (nativ?) I2S unterstützen und auch auf Softwareebene mittlerweile eine offizielle I2S-Sound Bibliothek zur Frequenz- oder besser Spektrums-Analyse bereit steht, fehlt zur ersten (digitalen) Sound-Analyse nur noch ein Mikrofon.

Was mir bisher über den Weg gelaufen ist:

Der Vorteil zur analogen Variante via Elektret Mikro, z.B. SparkFun Electret Microphone Breakout - BOB-12758 - SparkFun Electronics, ist - wenn ich es richtig verstehe - dass wir keine Störeinflüsse auf der (wegfallenden) analogen Seite mehr haben, und keinen Verstärker brauchen. Weiter ist der form factor super kompakt und damit ideal, um das Micro auch zwischen Wabengassen platzieren zu können.

Noch zu klären wäre:

  • Reicht der Frequenzgang für uns aus? Elektret Mics beginnen bei 50 Hz, die digitalen I2S werden meist mit 100 Hz angegeben.
  • Die digitalen sind vermutlich für Sprache optimiert, fraglich ist für mich: Wird schon im Mikro etwas weggefiltert bzw. verstärkt, das für uns wichtig ist?
1 Like

Here a comparison of the form factor from both mentioned I2S mics:

On the left side the Adafruit breakout with the SPH0645LM4H, on the right side the much smaller Arduino breakout with the ICS43432. The microphone chip is on the opposite side of the PCB (see next picture). So the sound comes through a hole in the PCB from the bottom side. On the Adafruit breakout you can see this clearly, it is marked with “port” and an arrow.

I think you can not place this types of mics in the hive directly. Bees will agglutinate this sound ports with propolis quickly. So we will use hair roller to protect this parts.

The Arduino breakout fits nicely in a hair roller, The Adafruit breakout is a bit oversized but you can insert it by squeezing the hair roller:

In the picture I have the same position for the Adafruit board in the hair roller as for the Arduino breakout. So I hope I can compare both chips with the same position in the protection cage. In case this is not necessary for you you can solder angle pinheader on the Adafruit’s PCB and put it 45° rotated in the hair roller. But in this position the mic can “look” directly to a comb surface or between two combs depending on the rotation of the hair roller.

So I think it is more save to place the mic “looking” down to the hair roller. So it measures always “in between” two combs. But we have to test if this is necessary.

I have asked myself a time ago how to record and playback data / a file which is recorded with this mic as “raw” stream. I found an anwer at ICS43432 I2S Digital Microphone from Pesky Products on Tindie

The ICS43432 has a successor, the ICS43434. A smaller form factor and lower power consumption but compatible in the electronic part and interface, datasheet https://www.invensense.com/wp-content/uploads/2016/02/DS-000069-ICS-43434-v1.2.pdf. You can buy breakouts on tindie:

And the PCB only is available here:


1 Like

A post was split to a new topic: Audioverarbeitung mit Cortex-M4 DSP

Habe bei ESP32-I2S-SLM | Hackaday.io noch etwas gefunden zu den INMP441.

The microphone of choice for this project is TDK/InvenSense ICS-43434, or more specifically its breakout board available at Tindie. One good thing about this microphone is that its sensitivity is specified as +/-1dB. This means our measurement of 94dB, 1KHz pure sine wave tone, should be -26dBFS, +/-1dB , without any additional calibration. This is pretty good considering I do not have access to any calibration equipment. You can also use the older INMP441 mic, widely available as cheap breakout board on i.e. Aliexpress, but that one has sensitivity specified as +/-3dB.

Mics are tricky so solder due to the hole / “port” that must be open while and after soldering. Some tips from Seeed How to solder MEMs microphones.