ADMP401 MEMS Mic analog output conversion to dBA levels

I know this is a long shot and really has nothing to do with the function or abilities of the imp, but it appears this forum is the overall smartest and most helpful group of people I have ever dealt with so I will ask the question I cannot seem to get answered.

I would like to use this ADMP401 MEMS Mic system to capture and record sound levels in dBA.

The problem is that when I compare it to recorded levels derived from an Extech 407760 - USB Sound Level Datalogger I can see no correlation equation from the analog output to dBA.

Is it possible and can anyone point me in the right direction to figure it out?

Took a real quick look at your device, and it appears to be just a mic (and associated gain stage on the breakout board). As there is no level detection, I think you’re trying to compare apples and oranges here. The Extech likely measures sound level (SPL) … however, your mic device will simply pick up and amplify the input, not convert it to an SPL level. For this you would need to add some sort of RMS or level detection post-mic.

Edit - addendum

Though not at all obvious that the following is a device you would select for an audio detection circuit, I did have pretty nice results when I used an SA604 as the detector for a simple audio level meter I built some time back … here’s a link to a related app note …
I’m sure there are several other similar suitable alternate devices you could also use in lieu of the SA604 to meter your mic output.

The mic output (or rather, the result of feeding the mic output into an ADC or sampler) is linear PCM (like a WAV file), whereas dBA is a log scale. This thread is asking the same question but using different software, so the answer is the same: use the sampler with the normaliser enabled, find the RMS volume (add up the squares of all the samples, divide by the number of samples, take the square root), then db=20*math.log10(rms). This doesn’t have the A-weighting of true dBA, but otherwise it should be a constant offset from what the SPL meter reads.


Peter it sounds like you really know what you are talking about, unfortunately I am a little too ignorant to understand what you said. While I am ignorant, I am not stupid so I will continue to explore until I can figure out a way to do this. I would buy a device to do what I need (and I have found a meter that will output a string of db values) but I have to accomplish this without spending the $619 each that Extech wants for their only module that will do that. Size is also a factor.

Not that this is a product recommendation, but this:

…is a SPL meter with RS232 output. With an RS232 buffer board such as this: … you could hook it to an imp (and then try to reverse-engineer the protocol…>)

If you need accurate calibrated verifiable data I would go Hugo’s route and use a calibrated meter with a serial interface designed for realtime data collection.

As soon as hack the sound meter (in a software or hardware sense) you potentially invalidate the data in the eyes of third partys