I would like to sample the output of an analog MEMS microphone with an ADC embedded in a uC, sampling rate up to 1MHz.

I don't care too much about signal quality (as I'm more interested in ambient noise level than anything else). I want to absolutely minimize the footprint of the overall solution.

Application notes typically show a DC blocking capacitor at the output of the MEMS microphone, followed by a simple OpAmp stage that provides some gain and sets a suitable DC offset for subsequent ADC sampling.

I would like to do something even simpler and avoid the OpAmp. I would just pass the microphone output signal through a low-pass RC filter (so no DC blocking) and sample that. It seems to me that would exploit correctly the ADC dynamic range, given that:

  • My ADC would be set to have a 0-3V conversion range.
  • My MEMS microphone (Knowles SPW0430HR5HB - acceptable VDD range 1.5V-3.6V) is specified with a DC output = 0.72V when VDD=1.5V (so DC output=VDD/2); I would use it at VDD=3V so I assume the DC output would then be 1.5V. In which case I can directly sample the microphone output (unchanged DC level) with my ADC without clipping.

Do you see any flaw in that reasoning? One concern I have is whether the DC level at the output of the MEMS is really proportional to VDD.

  • \$\begingroup\$ The biggest problem is whether or not the signal (AC) component of the microphone output is large enough for the ADC to resolve. What is the resolution of the ADC? This will determine the level of the quantization noise it will add, and therefore the signal-to-noise ratio (or in your case, noise-to-noise ratio) that you'll have to work with. \$\endgroup\$
    – Dave Tweed
    Oct 4 '14 at 13:39
  • 4
    \$\begingroup\$ According to the datasheet, your microphone has a sensitivity of -42 dBV/Pascal, which means that it outputs about 8 mV RMS when exposed to a sound level of 94 dB SPL (which is pretty loud!). If the ADC in your microcontroller has 12-bit resolution with a span of 3 V, it can resolve down to 3/2^12 = 0.7 mV. This means that your loud noise is going to produce numbers that span about a 20-count range. In other words, you'll only have about 4-5 bits worth of useful data out of your 12-bit converter. \$\endgroup\$
    – Dave Tweed
    Oct 4 '14 at 13:55

Your assumption may well be right. Quite possibly the MEMS is biased to 1/2Vdd +/-20%. But the datasheet does not give any guarantees. However a couple of 0603 NP0 capacitors for decoupling and DC rejection and two 0402 resistors are not going to increase your footprint that much.

EDIT1: Also the DC output may depend on your local air-pressure, and as such elevation. It may not be a strong response, or even a linear one, but compared to signal levels one or two mV of drift caused by weather effects could already confuse your measurements if you don't decouple

However, what the datasheet does give, is the following: Sensitivity = -42dBV/Pa This comes down to about 8mV/Pa output signal. In this 1 Pa is about 94dB(SPR). So that's already pretty much talking quite audibly into the microphone and you will only get 8mV of signal. I'm not assuming your uC ADC is measuring over a +/- 10mV range, so I don't even think you are going to get away with no Op-Amp.

That said, again an op-amp comes in SOT23-5 case from most any vendor these days, not to mention some more specialty companies may make them in those smaller SOT323 boxes. Even the SOT23 is hardly going to increase your footprint coming from the microphone, let alone a micro controller.

With small footprint for this set-up it comes down more to good placement and good sourcing rather than shaving of components you can't miss.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.