Wiring a Condenser Mic for use with arduino

Hi all,

Im currently working on a project that involves recording audio using electret condensers and the arduino. The microphones i will be using are these: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=102-1728-ND

Currently, my knowledge extends primarily to the software/programming side of things, however now that I am delving beyond basic circuits, I feel that I may need a little bit of help.

From what I have read, microphone circuitry involves connecting the positive node of a power source to the positive node on the microphone and that this positive node of the microphone also functions as the microphone's output. What has confused me is the various uses and roles of resistors and transistors throughout the circuit. Does anyone know of some good, comprehensive/ground-up reading relating to wiring an electret condenser.

Furthermore, regarding its use with the arduino, will the arduino suffice as a power source? And at 1.5v, how does one determine the output voltage of the microphone?

I am sorry if this is fairly rudimentary stuff, however up until now, I have restricted myself to the "soft" side of things.

That wiki shows a typical input circuit drawing using one of these mics.
The DC voltage source wired through a resistor supplies a smallbias current ( a few milliamps) need for the internal FET transistor these mics have. The capacitor shown blocks the DC voltage and lets only the AC audio voltages through to the rest of the circuit.

The thing is these mics only output a few millivolts AC audio signal and need lots of amplification to raise to useful levels. An Arduino A/D input pin is not going to show much activity without amplification. Maybe if you could explain what you are trying to accomplish we could be of better assistance to you.

Lefty

Hi, thanks for the reply!

Once I have the microphones wired correctly, I will pass the signal through an op-amp to make it usable. Ultimately, my plan is to record 3-4 audio streams simultaneously. I know the arduino's limited bandwith may make things difficult, however I believe any such issues can be avoided with a bit of programming (as to use the arduino merely as a converter/buffer).

Speaking of amplification, what would the optimal gain be for input to the arduino? Also, does the arduino output DC or AC (actually, this is probably on the arduino data sheet, Ill have to check that).

Lilrayray

"Also, does the arduino output DC or AC (actually, this is probably on the arduino data sheet, Ill have to check that)."

That is a problem in that microprocessors only handle positive voltages from 0 to +5vdc. So after amplifying a audio signal such that it's peak to peak voltage is 5volt, it has to be injected with a positive +2.5volt voltage to center it to the micros A/D input range. This can be done with either a voltage divider or another op amp.

Also I think you will find that the Arduino will not be able to sample a audio signal and be able to recover any useful data, it's just doesn't have the horsepower to do it directly. Off chip modules would be required to digitize a audio system and other off chip modules needed to store the large data streams that would result. At best the Arduino would be 'central control' directing the flow on analog and digital streams to other dedicated hardware/firmware modules.

Lefty

"Also I think you will find that the Arduino will not be able to sample a audio signal and be able to recover any useful data, it's just doesn't have the horsepower to do it directly. "

I was wondering about this... If the arduino is incapable of sampling with enough detail, what else could i use, while maintaining the cost and ease of programming of the arduino?

"Off chip modules would be required to digitize a audio system and other off chip modules needed to store the large data streams that would result. At best the Arduino would be 'central control' directing the flow on analog and digital streams to other dedicated hardware/firmware modules."

Would the "large data streams" really be much of an issue if they streamed them directly to my desktop's memory/hard drive? This project is not independent of a computer, rather the arduino is to function as a buffer or gateway between the microphone and my computer.

I appreciate your help,
Lilrayray

Oh, I forgot to mention (which is probably pretty important) that my first project really should only require an accurate representation of the intensity of the sound received from the mic, not necessarily a fully constructed waveform...

However, in the future, I may wish to analyze entire waveforms. Will I need to get a $100 + multichannel recording card, or is there a cheaper alternative that anyone knows of?