I have this microphone (http://www.digikey.com/product-detail/en/CMA-4544PF-W/102-1721-ND/1869981) and an Arduino Uno board. I'm trying to read audio values off of my microphone (to test the noise of something (in dB)). I'm very new at this kind of stuff so keeping it simple would really help me out! I have a bunch of different capacitors, LM386N op amps, a bread board, and many resistors. Could someone provide a code and schematic that could help me get data off of my mic? I've tried using this schematic: http://wiring.org.co/learning/basics/microphone.html but couldn't get the code to download onto a Wiring S board due to a "timeout" error and it not being able to "connect with the programmer".

Any and all help would be much appreciated!!

3 Answers 3


You can use Maxim MAX4466 op-amp which works very well with Arduino. There is a breakout available for the same for arduino at Adafruit here. The chip has a select-able gain from 25x-125x. This amplifies works very well to get a nice waveform for audible noise. There are a couple of libraries available for the waveform that you record and can translate it to frequencies. You can also use it to distort or change the voice. Here is a schematic of the circuit if you want to make one yourself.enter image description here


Very interesting stuff. As you are new to this kind of stuff i can suggest you, instead of explaining ( because videos are cool), to watch this video that explains very clearly how to use the lm386 with some filters. That video is a project about controlling the arduino through whistling. Hope that helped.


The LM386 is an amplifier that is meant to drive a speaker. What you're looking for is a preamplifier, like the TL072 (cheap) for example, which is meant to amplify a microphone.

Most decent preamps require more than 5V. The OPA2134 is a more expensive opamp that can run off 5V. There are others but not all readily available and cheap.

Now if it's just for fun there is no need to be too fussy. Probably that's why in the arduino world you'll find many examples of people using LM358 and LM386 as microphone preamps.

What you probably don't want to hear is to look in the manuals. But actually in those manuals you find example schematics for all the different use cases. And you'll find the amplifier use case in there too for lm386: on page 11 and 12. That's what you are looking for. To start.

Next you need to bias the output to +2.5V. You do this with a voltage divider. Two registers of say 100k back to back from your arduino 5V vcc output to GND. They 'divide the 5V between them' giving you 2.5V in the middle. That's where you connect the output of your opamp and also one of the analog input pins, say A0.

Be aware that you should start with a small(er) amplification factor. Because amplifying your microphone voltage above 5V peek to peek would fry your arduino pin.

  • There is an Ap called Db, it works great on my iphone. I have had it a long time. I think it was $0.99 at the time.
    – Gil
    Commented Oct 19, 2022 at 4:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.