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.
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?
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.
Different pin mappings on Pesky breakouts sold via tindie
Agrr, it costs me some time debugging, so be sure to have the right template and / or doublecheck the labling on the PCB, I have soldered the pins on the side you see on the pic below, so silkscreen was hidden partial:
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.
And a quote about the code interoperability for different I2S mics:
There are a few different I2S microphones [down named INMP441, ICS43432/4, SPH0645] on the market and they all appear to have slightly different sensitivities, though they all operate with the same code.