Let's Make Robots!

Simple Audio Preamp

i found an easy to make audio preamp that i intend to use to measure a sound with an ADC input on my arduino. i want my robot to respond to me clapping and start a drumming sequence. I may have to use some aditional circuitry to turn the output to a simple high pulse when the sound goes above a certain level, this way i can use one of the arduino interrupt pins to start the sequence at any time. heres the link:


here is someone who has used it with an avr chip


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I've used a very similar circuit myself, they're suprisingly effective for being so simple. My recommendation would be to breadboard it up, and play around with the resistor values until you get a good sensitivity for triggering your Arduino. You might actually find that the circuit is more useful if you get rid of C2 altogether.

Edit: I just read through that post about the guy using this circuit with his AVR micro, and he in fact removed C2 from his amplifier too, so I guess it wasn't such a bad idea =)

Pretty cool, gave me an idea of having two bots communicating with piezo speakers, and those


beep beep beeepp!!

I tried this circuit but with no luck.

Without the mic and with looking at the signal line, I get .9v with the mic, same thing. It doesn't pic up voices only air passing through if I blow on it. I'm using the circuit in the tinkerlog page. (less c2 from reconnsworld).

Any recommendations?

Lowering the value of R1 can increase the sensitivity. Some mics seem to work better with a value of around 2.2k.

Try a short, sharp sound, like clapping your hands, and see what response you get.

With such a simple circuit, the quiescent output voltage is very dependent on the gain of your particular transistor and R2/R3.

Actually tried  2.2 on r1 and used a variable res for R2 and set that to about 50% and adjusted up. No real change as as for clapping or sharp sounds, I'd get a spike of maybe .5v.

Are you using this for the same purpose as the OP, triggering a uC input? If you can set the output voltage to just below the trigger voltage of the uC input, the 0.5V pulse might do the job.

C1 sets the high-pass threshold pretty high, I think, so I don't think voice activation is an option without changes to the circuit.

edit: I've just had a quick fiddle and, although the actual value is dependent upon the gain of the particular transistor, the output voltage appears to rise as R2 increases (which you've probably observed already).

Using a BC548 I got an output of around 2V with R2 = 2M2, and R3 = 10k. Increasing C1 to 4.7uF (+ to mic, - to transistor base) got a reasonably good response to voice and whistles. The ouput varied about +/- 1 volt around the quiescent output voltage. Actually, the negative excursion is somewhat larger than the positive.


no, I'm actually looking to get a range in the adc input.

I decided to try using an opamp just to see if I could get better results, but it turns out I know less about how an opamp works and how to get it to do what I need it to do. Currently I'm running a ba4558 dual opamp with a single power source at 5.5v. from my understanding, I can use this OA for 4-15v applications when using a single power source. I think I should make a different post as I don't want to hijack this one.


I just want to correct what I said above:

"C1 sets the high-pass threshold pretty high, I think, ..."

This is a load of bollocks. It's amazing what you can discover with a bit of reading.

From what I now think I understand:

C1 forms a high pass filter in conjunction with the input impedance of the amp. The input impedance is approx equal to the intrinsic emitter resistance (re) multiplied by the gain of the transistor (assumed to be 100). The intrinsic emitter resistance equals 25/Ic(mA), and in this case is around 100 ohms, so the input impedance is around 10k ohms.

This sets the 3db roll off frequency of the high-pass filter to around 160 Hz, give or take some, so should be fine for voice.

edit after more reading: The input impedance is also affected by the 100k feedback resistor. The fact that it's a feedback resistor means its value is reduced by the transistor gain. So the entire input impedance is reduced. So the 3db roll off frequency rises...

I think I'll stop now, 'cos my brain hurts.