In previous experiments I've made circuits to transfer sound from electret microphone to a powered speaker. Now I'm doing my first experience with an Op-Amp to make the sound louder and to be able to hear it in a headphone. The Op-Amp I'm using is LM358N. Here is my circuit:

enter image description here

I'm using the formula below, that I copied from the Internet for the non-inverting operation amplifier:

$$Gain = 1 + \frac{R2}{R1}$$

Given the resistor values of R1= 4.7 ohm , R2 = 150 ohm, my gain is about 32.9 times.

So here is the summary of information about my circuit:

  • V+ = 5v from USB
  • Capacitor : 0.1uF
  • R next to V+ : 4.7 Kohm
  • R1= 4.7 ohm
  • R2 = 150 ohm

But my speaker doesn't work when the op-amp IC is placed on the circuit. If the op-amp IC is inserted on it's socket, I can hear only "rett, rett" when I try to blow to the electret microphone. What is wrong here?

  • \$\begingroup\$ What op-amp are you using? And, more importantly, what is its output impedance? Also what is the impedance of your speaker? \$\endgroup\$
    – kjgregory
    Commented Jul 3, 2014 at 2:51
  • \$\begingroup\$ @KGregory As i mentioned, the Op-Amp i'm using is LM358N. I don't know what is the impedance of my speaker and my headphone, i just buy it from store to listen to music, how can i know it ? \$\endgroup\$
    – user46693
    Commented Jul 3, 2014 at 3:04
  • \$\begingroup\$ are you using + and - power supplies ( i.e. +15/-15) or is your op-amp single supply? If only single supply as you seem to be, you need to bias the op-amp so that output can handle the negative and positive from the microphone \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 3:09
  • \$\begingroup\$ @Marla As i mentioned, i'm using 5V DC power supply from USB. All of components in my circuit is plugged from one power supply source (USB 5v). \$\endgroup\$
    – user46693
    Commented Jul 3, 2014 at 3:16
  • \$\begingroup\$ oops, i missed that. The speaker impedance is typically advertised on the package when you buy it. Most speakers are 4 or 8 ohms, but yours may be different. \$\endgroup\$
    – kjgregory
    Commented Jul 3, 2014 at 3:21

3 Answers 3


Your problem may be that the LM358 is not designed to drive a speaker as a load. You will need to add an output stage with a low output impedance of ~4 to 32 ohms or less, depending on your speaker's impedance. Here is an example of a typical configuration using BJTs as the output stage:

speaker driver schematic

Note how the feedback loop has been modified to incorporate the output stage. A trimpot is used in this schematic to adjust the volume.

My second hypothesis, is in the event that you have a high impedance set of headphones (around 600 ohms), is that your gain is too high and your are railing out. If that's the case, then you can either reduce your gain or replace your gain resistors with a trimpot and try adjusting the volume until it sounds better. If the "rett rett" sound you described is a loud sound, then I would recommend skipping my first suggestion and try this first instead.

  • 1
    \$\begingroup\$ any Biasing concerns with the LM358? using single supply \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 3:27
  • \$\begingroup\$ I don't think so, the 358 datasheet provides characterization data from single +5 supply. The speaker shouldn't care about the DC offset so long as your driver can push and pull current through it in both directions. \$\endgroup\$
    – kjgregory
    Commented Jul 3, 2014 at 3:32
  • \$\begingroup\$ @KGegory . . so if microphone is at zero volts, the output is at zero volts. What happens when microphone is at -.1 volts ? \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 3:33
  • 1
    \$\begingroup\$ I think I might run a simulator on this one :) . . \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 3:37
  • 2
    \$\begingroup\$ I state that the positive input needs 2.5v bias. I will leave it up to others to conclude then. Good discussion here KGregory \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 3:52

You will need to apply a 2.5 volt bias to the op-amp positive (+) INPUT terminal. You can use a resistor divider (something like 4.7K and 4.7K from positive to ground at your positive terminal. This will cause the output to be at 2.5 volts when no signal is present at the microphone.

Also, you will need a capacitor in series with you speaker (headphone), perhaps 1 to 10 uf. This removes the DC bias from the headphone.

As it is, your amplifier is attempting to only amplify the positive values of the microphone.

Edited to say positive INPUT terminal.

  • \$\begingroup\$ Instead of 2.5v. I'm using the 3.2v source from the Arduino board. I connect 3.3v source directly to the op-amp VCC pin. I also connect 1uf capacitor between output and speaker. But still not working. No sound generated when i blow to the microphone \$\endgroup\$
    – user46693
    Commented Jul 3, 2014 at 7:13
  • \$\begingroup\$ EDIT : Oh dear. I must have misled when I said the "positive terminal". I should have said the positive input terminal. Corrected now on my answer. \$\endgroup\$
    – Marla
    Commented Jul 3, 2014 at 12:03
  • \$\begingroup\$ Ok, i found that your solution can work only with "Inverting operation amplifier circuit". I don't know why it does not work with "Non-inverting operational amplifier circuit". \$\endgroup\$
    – user46693
    Commented Jul 9, 2014 at 11:43

You have a spare opamp, try doing this:


simulate this circuit – Schematic created using CircuitLab

This creates a "virtual ground" at 2.5V. R3 and R4 divide your supply voltage to get 2.5V, OA3 buffers it so that R3 and R4 don't interfere with the gain setting resistors. Then you make this buffered voltage your "ground" reference point. The effect is the same as if you were powering the opamp with +-2.5V. R5 is there to tie the noninverting input to some voltage so that waveform from the input "rides" on 2.5V.

Your circuit works erratically, because noninverting input is essentially floating when there is no signal. When left floating it usually floats close to one of the rails and that gets amplified.

When you blow into the microphone, you inject some current into the input and make it swing to a region where the gain resistors and amplification makes sense, thus you hear some popping noise. If you would connect a 100K resistor from noninverting input to ground, you'd get more consistent output, just distorted, because only positive peaks from the input would be amplified as opamp would have no way to swing it's output below it's negative rail - 0V in your case.

Note that you probably will not be able to run a 8 ohm speater with LM385, more like small high impedance headphones. If you want to run a loud speaker, get yourself an LM386.


Your Answer

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

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