Strange oscillation on electret mic circuit clone

I bought an electret mic breakout board (SparkFun Electret Microphone Breakout - BOB-12758 - SparkFun Electronics) and was able to get it to work quite well, so I decided to use the circuit in an open-source sensor module that I am working on. I received the PCBs from OSHPark yesterday and assembled the first prototype, but am getting some strange readings.

Without doing any sort of buffering or averaging, I'm just outputting the direct results of an analogRead to the serial port and monitoring it in the Arduino IDE. Without making any noise, I'm seeing a very regular oscillation occurring in the signal that is making it impossible to use. When I tap the electret I am able to make the signal top out, but the oscillating noise is still there.

I put together a Processing sketch that just graphs the analog data being received straight from my Arduino. I've attached a screenshot of the sketch running (purple graph on black background image).

've never designed an audio circuit before, so I'm not sure what is happening. I don't own an oscilloscope, nor do I know how to use one to troubleshoot a problem like this. Does anyone have some ideas about what is going on, and what I can do to solve the oscillation?

I've attached the Eagle files (schematic and PCB file) for my board, as well as an image of the PCB if that helps.

I noticed that when I measure two of the 10k resistors with a multimeter I see ~5.76k instead of 10k. However, I see the same thing when I measure the same resistors on the Sparkfun BoB. Odd.

I also reviewed my BOM and found that I used some capacitors that had a tolerance of "-20%, +80%". I am wondering if the problems I am seeing are due these parts, or somehow general PCB design.

mic-clone-pcb.png

Lumiboard - sensor module (rev B).zip (21.2 KB)

Hi, can you post a copy of the circuit diagram, the pcb design looks like you only have one pin of the microphone connected. In fact were are your gnd tracks, the eagle file doesn't seem to show them either.

Not an eagle copy but a png or jpg of the circuit please.

Tom..... :slight_smile:

There are ground planes on the top and bottom of the board.

Attached the schematic. I want to stress that this is an exact copy of Sparkfun's electret mic board, which I have tested alongside my own sensor module and found to work perfectly. I am very confident that the problem is not with the schematic, but with the board design.

Hi, how close is the layout design to the other?
You may need to increase the C4 12pF cap, it is there to prevent parasitic oscillations and will not effect the audio characteristics of the amp, try 100pF or just parallel up 10pF on top.

Tom.... :slight_smile:
PS Check out the data sheet of the amp IC to see what they suggest.

Adding a 10pF cap in parallel to the 12pf one seems to make it a little worse. The voltage shifts upward, but the oscillation is unchanged. Attached is a pic of a graph with it in place.

I've also attached a picture of the board design for the Sparkfun breakout board. I modified the layout slightly to fit my board, but don't understand what could be so different to break the functionality.

I've also attached the Eagle files for the Sparkfun breakout board so you can check more thoroughly.

layout.png

Amplified Mic Breakout.zip (16.9 KB)

On second thought, adding the 10pF capacitor in parallel may not have caused a DC offset - it may have lessened the peaks and troughs of the oscillation. Can you confirm that as what I'm seeing? If so, maybe I need to order a replacement cap.

Have you checked the values of the resistors you fitted around the IC, it looks like you have way too much gain and that is causing the oscillations.
I see that you have added extra circuits to your board, have you tried the board with just the microphone circuit, also is the microphone in the correct way.
Also put your scope on the 3.3V and see if it is there.
I don't think you have enough bypassing, add a cap, 1 to 10uF across the supply at the amp chip, along with a 0.1uF cap .
So you have the 10uF and 0.1uF in parallel across the two supply pins of the amp IC.

Tom..... :slight_smile:

Have you checked the values of the resistors you fitted around the IC, it looks like you have way too much gain and that is causing the oscillations.

Two of the 10ks actually measure as being around 5.76k, but I get the exact same result on the Sparkfun breakout board.

I find it hard to believe that the gain is too high. As I said, this is the exact schematic from the Sparkfun breakout board, which I've tested and found to work perfectly.

I see that you have added extra circuits to your board, have you tried the board with just the microphone circuit

Haven't tried that, will need to order all new parts to try that.

is the microphone in the correct way

I had no idea that elecrets had polarity - are you sure about that? The mic can only be connected in one way for the silkscreen to match the actual part, so I had been going off that.

add a cap, 1 to 10uF across the supply at the amp chip, along with a 0.1uF cap

I will if the problem can't be resolved in some other way. I'm getting really tired of the time and money it takes to produce PCBs and assemble prototypes.

Hi, electret microphones are actually capacitive sensitive membrain that has it's miniscule signal amplified by an on board FET amp, that is why you have a resistor from the microphone to supply, This is the Drain connection to the FET, the other connection is the Source.

Tom.....

Interesting. I turned the electret around and am getting a nearly identical graph. If it was truly a polar device I would expect it behave very differently. Attached is an image of what the new graph looks like.

While the oscillation is still there, it does seem like the signal is less noisy. I am beginning to think that the RC circuit on the artificial ground of the op-amp is causing the oscillation, but not sure what to do about it.

Edit:: Thought it might be helpful to list the mic and op-amp I sourced for my design, perhaps I overlooked something in the specs that could be causing this.

Elecret mic: http://www.digikey.com/product-search/en?x=0&y=0&lang=en&site=us&KeyWords=102-1721-ND
Op-amp (OPA344): http://www.digikey.com/product-detail/en/OPA344NA%2F250/OPA344NATR-ND/362264

Hi, try shorting the microphone terminals so that you have no input at all, it won't damage anything but may help with any ideas.
Tom.... :slight_smile: