Electret microphone amplification noise

I am building a circuit that amplifies an electret microphone with the use of an op amp. It does work, but I am getting a lot of noise at the output side of the op amp when I connect it to a pair of headphones (indicated by the speaker.)

simulate this circuit – Schematic created using CircuitLab

What could be the cause of this?

Edit: I am using an Arduino +5V as power supply (which is powered via USB.)

• Try connecting the power pins of the op-amp to a power supply. Commented Sep 18, 2019 at 10:26
• What about the PSU voltage ripple, decoupling capacitors,..power supply of opamp,..etc? Commented Sep 18, 2019 at 10:27
• You could try to isolate the problem, for example, the 5V supply you're using might be very noisy. You can test this by powering the circuit from a battery. It does not need to be exactly 5 V, 4.5 V, or 9V will work just as well. Then if the noise is gone: the power supply is the cause. Commented Sep 18, 2019 at 10:52

1. The LM358 is not exactly low noise.
2. You are using a lot of gain. 48000/180= 266. The amplification applies to noise as well as the signal.
3. The bias resistor for the microphone is rather large. This will also affect how much noise you have.
4. You haven't mentioned the power supply, but you have 5V for the microphone bias. The LM358 can operate on 5V, but its input and output ranges are limited. Input and output voltages have to stay like 1.5V away from the power supply voltages. If operating on 5V, your input range is 0V to 3.5V and your output range is about 1V to 3.5V. If your input is outside of that range you will get distortion (clipping.) If the input and gain would drive the output outside of that range you will get clipping.
5. The LM358 is rated for no more than 20mA. If your headphone impedance is too low you will get distortion.
6. Your headphone is connected directly to the output of the LM358. If you are using a single sided supply (most likely) then you will have DC flowing through the headphone. This will cause distortion. A large capacitor in series between the LM358 and the headphone will block the DC and allow only the sound through.
7. Electret microphones have an output of several tens of millivolts given a normal speaking voice and a short distance (less than arm's length. Assuming a signal of 50mV peak to peak, your gain would be trying to output about 13V peak to peak. If your power supply can't supply that voltage, you will get distortion.
8. If you are using a single supply, then you must provide a bias of half the supply voltage to the + input of the opamp. If you leave it a 0V plus your audio then you will get distortion. This earlier answer to another question shows how.
9. In a comment, you've added that you are using 5V from an Arduino. That is an additional source of noise (interference might be a better word.) The microprocessor will put a lot of "trash" on the 5V source. Make sure you are using decoupling capacitors on your LM358.

Many of the things I've listed refer to distortion rather than noise. Many beginners don't know the difference, and call every unexpected sound "noise." The causes and fixes for noise and distortion are very different.

• Regarding point 8: The LM358 has a common mode input range down to 0 V. Your point is valid for most opamps but I think the LM358 is an exception in that respect. Commented Sep 18, 2019 at 10:56
• @Bimpelrekkie: I changed the ranges in point 4. I also changed point 8. If the input is at 0, then it will cause clipping despite the input being able to accept it.
– JRE
Commented Sep 18, 2019 at 11:23
• @JRE Thank you for your answer. It now makes a lot more sense to me why the output is distorted and how to fix it. Regarding the power supply, I am using the +5 V from an Arduino, which is powered by USB. Commented Sep 18, 2019 at 11:29
• 9 is by far the worst suspect. Digital supply noise is a big problem in any audio circuit, expecially a mic amp. Commented May 6, 2021 at 8:54