Power noise issues with 7805 regulator showing up in analog value

Hi, so I've been reading a bunch of posts about people using the 7805 regulator and noise showing up when reading values via the ADC.

I'm working on a circuit, which uses a small electret microphone along with a 386n1 opamp, which is being read via the ADC in a ATTiny85. I'm using FFT and breaking up the values into 64 bandwidths. However, I'm getting a lot of noise on the circuit - in particular a spike in the lower bandwidths, and pretty fast oscillations across all the bands.

I've tested the amp with an Arduino Uno and have isolated the problem to the power source, since my test uses the power and the ADC from the Uno and the amp on the circuit. I've also tried using different 7805s (I have about 20, though they're all from STMicroelectronics) and various capacitor configurations).

Attached is my schematic, PCB layout and and a screenshot of the FFT.

Any help and ideas would be most appreciated.

ArduinoFFT.png

pcb.png

Thanks for the pictures.

The 7805 has 1uF, but it's better to add extra (ceramic of other fast) 100nF capacitors on both sides.
But the 7805 is noisy. Using it for a mic-preamp will always be a problem.

The noise for the ATtiny is not a big problem, but the noise for the mic-preamp is a larger problem.
You could try to filter the voltage for the mic-preamp and for the mic.

A few remarks:
The LM386 is an amplifier for a speaker, it's not very good for a mic.
You detect the peak and use 10uF with 2k2. That would make it impossible for a good FFT.
The inputs of the optocouplers need an extra resistor.

@veryphatic, I know that you are powering your 7805 using a 12V DC supply. Is that 12V DC supply properly filtered? If you are not using a battery source, chances are that the 1uF cap there is not enough. Try using a 1000uF or higher cap there will dramatically reduce the noise issue.

Also, if you are using a power supply (versus batteries), you will need to consider adequate decoupling, and the trace placement can also affect the noise issue.

There is a simple "trick" you can use to reduce the power supply noise on low-power (preamp) audio circuits.

Put a diode & resistor (~100 ohms) in-series in-between the regulated supply and the op-amp. Then, a filter capacitor (~100uF) in parallel across the op-amp power supply inputs to ground. (You will loose about 1/2 to 1V across the diode and resistor... This is not an issue with +/-15V supplies, but it could be a problem with a 5V supply...)

The diode very-effectively blocks any negative-going noise (as long as the capacitor holds-up the voltage), and the resistor & capacitor form a low-pass filter to reduce any positive-going noise.

The resistor limits current into the op-amp, so you can't use this trick with a headphone or speaker amplifier, but the diodes can still be used.

I've also tried using different 7805s (I have about 20, though they're all from STMicroelectronics) and various capacitor configurations).

Have you considered using the capacitor configuration recommended by the manufacturer here: http://www.st.com/stonline/stappl/st/analog/product/63279.jsp ?

Don

You microphone input is connected to the +5V line and the preamp used 0V as the signal ground - that's likely to cause over-sensitivity to the power rail noise I think.

The standard electret connection is for the load resistor to be on the high-side of the electret, and for it to be split in half and decoupled in the middle - thus all the low-voltage signals are referenced to GND. Another way to decouple the electret would be to add a resistor between it and the 5V rail and decouple the +ve side of the electret - minimal change to current circuit.

If the electret acted as a perfect current source your circuit would be fine, but I suspect its not a perfect current source so you get line noise at the input of the LM386.

The line noise is caused by the digital electronics, in general using a separate voltage regulator for the analog electronics is a good precaution when handling low-level signals. The voltage regulator on the existing 5V rail has to fight the digital noise and basically it won't eliminate it, just reduce it. A separate regulator is free from such problems.