Arduino LM386 Pre-Amp for Mic ?

I am trying to (pre) amplify the signal from an electret microphone using an LM386. The output goes into the Arduino analog input 5. I have tried multiple circuits, but none of them succeeded. Either the value settles at some constant or its 0/1023 and even when its in the 500- 550 range, the value doesn't seem to be changing with varying sound levels.

I tried these circuits:


and a couple of more ones.

I only have an LM386 on hand and cannot change it, as I need this to work out ASAP(in 2 days) for a science fair project. Hope you guys can help me on this.


sort by: active | newest | oldest
How are you connecting it to the Arduino ? Have you remembered that the MEAN effect on the pin is 0V ?

mhkabir (author)  steveastrouk5 years ago
I designed a shield for my Arduino from the first circuit (wiring.org) and it directly plugs into the Arduino.

I am not sure what you mean by the 'mean' effect on the pin

Mean, as in average. The average of a zero referenced AC signal, with no DC content is.......

Try this http://www.daycounter.com/Circuits/OpAmp-Level-Shifter/OpAmp-Level-Shifter.phtml

Or simply try biasing the arduino pin to Vcc/2 with a couple of say 100K resistors. Then couple your AC signal into the arduino pin.

I'm not sure just how fast you can sample the pin though, off the top of my head,

mhkabir (author)  steveastrouk5 years ago
I'm doing DSP with the signal, so I need a fast sample rate. The circuit that you quoted uses an op-amp and I think that the LM386 is not an op-amp.
A 386 is an amplifier, it doesn't matter whether you call it an op-amp or not.

Besides, try my second suggestion.