I'm using an Arduino to read an analog signal from an electret microphone. Here is the circuit:
But I will be powering it with 5V from the Arduino,
So would this work okay? Thanks!
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
The critical part is the opamp. The LM358 is not an RRIO (Rail-to-Rail I/O) opamp, which here means that the output voltage will be a few volts shy of the supply voltage, so don't expect it to go higher than about 3V. On the lower side there's no problem, the datasheet specifies an output low level of 5mV typical.
So if you keep the amplification to a decent level (controlled by R5) this should work. You can also set the virtual ground to 1.5V (halfway the output range) instead of 2.5V, by choosing R3=22k. This will give you an output voltage swing of 3Vpp, instead of 1Vpp.
As an alternative to the LM358 you might use a rail-to-rail output opamp, like the LMV321. You can then leave R3=10k. (Rail-to-rail input isn't required since the input stays around the virtual ground.)
Your basic topology looks OK. Please fix the schematic to include the component values directly. It's annoying and error-prone to have to look over at the side to see what value each component is.
Some comments on the circuit:
Keep in mind that the gain for this circuit shifts your frequency response slightly, it's only about 15hz but feels a little sloppy. The microphones I use generally require a much higher gain.
Also, if there's no additional stages remove the cap to the next stage or You'll only be able to measure half the signal as it swings around vcc/2 and the cap removes the dc component.