Creative Commons images are CC BY-NC-SA 3.0

9.95

added to your
shopping cart

quantity
In stock 38 in stock
9.95 1+ units
8.96 10+ units
7.96 100+ units

Description: This tiny breakout board features the ADMP401 MEMs microphone. One of the key advantages to this breakout and microphone is the bottom ported input. This means the microphone's input can fit flush against the enclosure of your project. Plus you will not have to deal with trying to solder the microphone's wacky footprint. Wootness!

The amplifier on the breakout has a gain of 67 and more than meets the bandwidth requirements of the mic. The amplifier's AUD output will float at one half Vcc when no sound is being picked up. The amplifier produces a peak-to-peak output of about 200mV when the microphone is held at arms length and is being talked into at normal conversational volume levels. So the AUD output can easily be connected to the ADC of a micro.

Features:

  • -3dB roll off at 100Hz and 15kHz
  • 1.5 to 3.3VDC supply voltage
  • Should comfortably output 40mW
  • SNR of -62dBA

Documents:

Comments 33 comments

  • seems like a lot of comments from people having issues, nearly didn’t purchase… finally did, and happy to report no problems testing it out in a few minutes time.

    soldered leads, hooked the VCC to the regulated 3V from my Arduino Nano, tied in GND, hooked the AUD output to an analog pin on the Arduino. then hooked 3 LED’s to 3 digital outputs on the Arduino in order to create a little VU/SPL meter simulation:

    const int pinMic = A5; //analog input connected to mic AUD
    
    const int pinLED0 = 9; //digital output connected to LED 0
    const int pinLED1 = 10; //digital output connected to LED 1
    const int pinLED2 = 11; //digital output connected to LED 2
    
    //baseline level for my mic in a fairly quiet room
    //determined by watching serial monitor on first run
    const int valBaseline = 350;
    
    void setup() {
        Serial.begin(115200);
    
        pinMode(pinLED0, OUTPUT);
        pinMode(pinLED1, OUTPUT);
        pinMode(pinLED2, OUTPUT);
    }
    
    void loop() {
        int valMic = analogRead(pinMic);
    
        Serial.println(valMic);
    
        if (valMic > valBaseline + 10) digitalWrite(pinLED0, HIGH);
        else digitalWrite(pinLED0, LOW);
    
        if (valMic > valBaseline + 15) digitalWrite(pinLED1, HIGH);
        else digitalWrite(pinLED1, LOW);
    
        if (valMic > valBaseline + 25) digitalWrite(pinLED2, HIGH);
        else digitalWrite(pinLED2, LOW);
    }
    

    with this code i can speak in a normal volume at 12"+ from the mic and light up the first led pretty solid and the second follows the volume peaks in my speech. if i move to within 6" of the mic or speak a little louder, the first & second LED’s light consistently and the third peaks.

    on these 5v Arduinos, i believe you could also use analogReference(EXTERNAL) with 3.3v to AREF in order to get more resolution: http://arduino.cc/en/Reference/AnalogReference - is that correct?

    • “on these 5v Arduinos, i believe you could also use analogReference(EXTERNAL) with 3.3v to AREF in order to get more resolution: http://arduino.cc/en/Reference/AnalogReference – is that correct?”

      Yes, that is correct. I’ve recently used an Arduino Uno’s 3.3V as an external analog reference while working with an CO2 sensor module.

  • Anyone had any luck connecting this to an Arduino? I’m using the 3.3V rail, and A0 as the input, and best case, yelling into it, I get maybe a 13-point offset from the nominal read of 300.
    Hooking the audio output up to a scope, I see almost nothing unless I tap it on the table top.

  • This mic is very heat sensitive! You can easily kill it with a heat gun!!

    I was making some voice-reactive jewelry with this little mic. My jewelry uses U-mold plastic; I use a heat gun to mold the plastic and add layers to the jewelry. Heating the plastic to make it playable resulted in the mems mic board not working. I did this twice before realizing what was happening. Please be aware!!!

  • Are there still quality issues with the hole being plugged up on a fraction of these? I see a number of people complaining about that from 2-3 years ago. I’d really like to buy this, but I don’t have the time to waste on a DOA product.

  • I was wondering what your process was for reflowing the Mems?

  • Somehow the PDF layouts have the correct pinning but the SparkFun Eagle library has the part backward. This would have been nice to know a few k$ in boards ago.

  • Is it possible to connect this directly to an preamplifier and record the audio output?

  • I get a very clear voice sound, but there is a constant high frequency noise. Then I connected the probe directly to the output of the ADMP401 MEMS device, bypassing the OPA334 OpAmp, and all the noise vanished. Any suggestions without bypassing it?

    • I’d be interested to connect the breakout board to a soundcard and power it with +48V phantom power.

  • Got this from the ding-n-dent (other)…. I ordered 15x of that ding-n-dent.

    I now have more mems mics than I will need in my life :O

  • An interesting project to do with the “broken” ie blow only sensors is to use a piezo speaker and make an altitude sensor. the principle here is to drive the piezo with a constant 3V p-p at around 2kHz then space the module a distance of a few cm. this should reliably detect altitude if also encased in a plastic tube with dessicant to keep out moisture.

  • Can someone send me some broken ones for analysis please? i think i know what went wrong. my opinion is that during soldering the fumes got into the tiny hole and gummed up the works. if so then this explains a lot…

    i am on 4hv under “conundrum” :-)

  • well i went ahead and bought one. being speedy and trying to rush to finish my project, i applied 5v… and today reading this i scared myself, its a 3.3v device. but it works at 5v (not saying its safe) im going to go home and fix this asap. its no real change, its swaping the vcc and analog ref.

    the day i got it i was already with some code from http://neuroelec.com/2011/03/fft-library-for-arduino/ and i wired it up and used http://code.google.com/p/serialchart/ to graph it, and it worked as expected.

    than i modifyed the code to interface into the “Analog” RGB strips. and now i have a nice spectrum analizer. workes beautiful for music, going to play BlackOps and see how it looks. wrapped behind my tv.

  • I bought 5 pieces of this. Only 3 are working when I received them. Very high failure rate.

  • Want to buy this and feed it DIRECTLY to the ADC input of my PIC and capture audio (@10 KHz) onto the SD card on board. So what is the verdict?
    All I see is people having difficulty in using this board.
    Should I buy or not?
    Thanks for your input.

  • Those aren’t Eagle files.

    • You’re right, they certainly aren’t… in fact they appear to be Gerbers…
      Fixed.

  • Hey guys,
    I have a howto question…first time working with sound sensors. So kindly indulge my ignorance.
    I have the ADMP401 hooked up to a machine tool (dont ask why..) via an Xbee module. I am powering the sensor and Xbee with a li-poly 3.7 V 1000 mAhr supply. The output is being read into Matlab. Did the same thing with the ADXL335 accelerometer before worked like a charm.
    Now with the sound sensor, how am I to take the raw ADC'ed signal and convert to sound on matlab. In all, the reading that comes out is in mV, how do you go from mV to dB for this device so I can hear the machine ‘talk’ to me.
    Thanks guys…

    • Sound sensors output signal which are bipolar and within a frequency range higher than many other sensors (100 Hz to 15 kHz for the ADMP401). If you want to use the microphone to report the global sound energy you must transform the microphone’s raw signal into a unipolar and smoothed signal (usually this circuit is named an envelope follower). This signal would have a lower frequency range (below 100 Hz) and would suit better a transmission trough a serial port.

  • This part did not work as expected.
    Used 3V power supply.
    Measured AUD on oscilloscope.
    The output was 1.5 V DC. No audio.
    Tried a different power supply. Tried a different set of probes. Tried 3.3V Vcc. Never worked.

    • We tried another specimen and it worked until our tech soldered wires to the board so I think the reason that it did not work first is something which happens during soldering.

    • Sorry about that. Contact techsupport@sparkfun. You either have a bad board or something problematic with your setup. Either way, they’ll get you taken care of.

  • Tis circuit seems to be inappropriate-it uses a relatively low impedance (1.5K) inverting amplifier, instead of the much higher 10K non-inverting configuration in the data sheet.

  • I’s be interested to try it as a independant microphone (I mean not connected to Arduino or another board). How could I adapt it to a regular microphone +48V power ?

  • I looked at the specs for this mic at: http://www.analog.com/en/mems-sensors/microphones/admp401/products/product.html#similar_product_table….
    It indicated a possible issue. This mic system has a VERY low current out 250 uA, into a VERY low 200 ohm impedance. That is NOT much juice. Use an Op-amp step up, or a FET amplifier? It’s not working because there is nothing THERE!

    • This issue suggests that the op-amp OPA334 is not being driven at high enough gain. I replaced R4 100K (0603 size) the one closest to the AUD output pin, with a 1M 0603 resistor. Now the output level (P2P level) is much higher, ideal for input for Arduino or microcontroller. But not if you are using it to record audio.

  • I have tried to hook up this sensor to an Arduino Mega and I see almost no change in serial out put unless I blow in the microphone (still this only cause very little change in the output: a couple of quanta).
    I noticed that other people have seen this problem. Is there any solutions? Problem with sensor? Problem with arduino? For me this seems to be a problem with the pre-amp…
    Thanks in advance

  • toddkrein: Anyone had any luck connecting this to an Arduino? I’m using the 3.3V rail, and A0 as the input, and best case, yelling into it, I get maybe a 13-point offset from the nominal read of 300.
    Hooking the audio output up to a scope, I see almost nothing unless I tap it on the table top.

    i’m getting the same problem. Tried powering with 2.5v (2s rechargable nimh) and a 3v ldo and getting almost nothing on the scope. If i blow into the hole under the mems or hold my mouth right next to it, i can get a 100-200mv p/p signal, else nada.
    SFE, have you had any other reports of this problem? Thx!

    • Still having issues? When I connect the sensor to analog in, power/ground using 3.3V on my Arduino Uno, I get a mean reading of 512 on the analog in pin, which is half of VCC. I have also confirmed this to work on a barebones breadboarded Atmega168V running the Arduino bootloader. <br />
      <br />
      I get pretty good spread from the mean reading - if I’m yelling into the thing, I get crazy jumps in the data, the amplitude jumps +/- 1.65V.

    • Did you manage to get it working?

  • The schematic link links to the datasheet.


Related Products