Strong noise floor when the mic is connected to the microcontroller

I have made 2 recordings with the same microphone once with the
power supply from the lab power supply 3.3V. There the noise is
clearly smaller. And once after a 230V / 5V power supply for the
microcontroller and from the microcontroller the 3.3V. And there I have almost
30dB more noise on it.
How do I get the noise reduced?

On the board of the microcontroller I found in the schematic the power
power supply.
There is a +3.3V 400mA regulator of the type: TPS73633DRB
Enclosed the link from the datasheet:
https://www.ti.com/lit/ds/symlink/tps736.pdf?ts=1681424936822

MEMS am uC RMS -22.65.png


MEMS am LaborNT RMS -47.68.png



I have the noise with all my 3 different microphones. MAX4466 Breakout, SparkFun Analog MEMS Microphone Breakout - ICS-40180 and MAX9814 Breakout. But I would like to eventually build one myself using this guide:
https://www.ti.com/lit/ug/tidu765/tidu765.pdf?ts=1681525964125
 
Assuming that 3.3 V is the supply voltage for the microcontroller: the microcontroller draws a current that varies strongly with time. That causes a ripple voltage across the regulator and trace impedances. If your microphones have as little power supply rejection as two-pin electret microphones with built in FET have, that ripple gets directly added to the microphone signal.

Brute force filtering of the microphone supply should help a lot.
 
Thank you very much for your help.
I take some measurements with my low current measurement tool and my oscilloscpe.
Here are the pictures:
voltage and current messureing between mic with soundcard:
voltage and current messureing between mic with soundcard.png


voltage and current messureing between mic without soundcard:
voltage and current messureing between mic without soundcard.png



and i find out that when i connect my usb soundcard (behringer uca202) to the mic. that the current is increasing.
from 300microA rms to 8mA rms.
i only connect the mic to the soundcard to find an error. i can evaluate the mic with the mikrocontroler. but i can only get to the sample values in a very complicated way.

the white signal is the voltage 3.3V and you can see sometimes it will be noisy.

i am not sure yet how to improve this. unfortunately i do not know what brute force filtering is.
 
Thank you for you help.

it can handle a few hundreds of millivolts less.

the reason is i use the 3.3v direktly from the microcontroller because the adc reference voltage is fixed on 3.3v so i got the full 12bit headroom. and the microcontroller got the power from 230v ac to 5v dc power supply.
and you mean i could use the 5v and bring the 5v down to 3.3v with a filter cascade?
 
Thank you for you help.

it can handle a few hundreds of millivolts less.

the reason is i use the 3.3v direktly from the microcontroller because the adc reference voltage is fixed on 3.3v so i got the full 12bit headroom. and the microcontroller got the power from 230v ac to 5v dc power supply.
and you mean i could use the 5v and bring the 5v down to 3.3v with a filter cascade?

Yes. When you look at the schematic I linked to in post #3:

vogels4.png


According to its datasheet, the microphone capsule is supposed to be supplied via a 2.2 kohm resistor from a clean supply somewhere between 1 V and 10 V, but all its specifications apply at 3 V. Using the two diodes D1 and D2 and the voltage drop across the filter resistors, I tried to get the voltage across C4 to be somewhere around 3 V. L1, C1 and C2 are supposed to filter off the worst high-frequency rubbish and R1, R2, C3 and C4 to further suppress low- and high- frequency ripple for the microphone capsule. The op-amps can run off the LC filtered supply, because low-frequency ripple on their supplies doesn't affect them nearly as much as the microphone capsule.

Using an LT3045 or LT3042, as recommended by SubSoniks, would also be a good alternative. It requires soldering a very small SMD IC, or buying a board that has the LT3045 or LT3042 already installed.

Can input voltages above 3.3 V damage your microcontroller?
 
Last edited:
I appreciate your help. I would like to introduce myself briefly. My name is Kevin and I am 33 years old. I live in Germany and I am a good PLC programmer. More than 1 year ago I started embedded programming as a hobby. I had a lot of fun with this project. The project was a music spectrum analyzer. With 464 WS2812B addressable LEDs. A MAX4466 microphone. And as microcontroller was used a EK-TM4C123GXL (Cortex M4F) from TI. Now I am optimizing the project. And I noticed the microphone with the strong noise.

If it is possible, I would like to avoid the 300mA losses for now.
All inputs of the microcontroller can be up to 5.5V.

I found an almost finished concept from Texas Instruments:
https://www.ti.com/lit/ug/tidu765/tidu765.pdf?ts=1681525964125

And as noise suppression I would like to use the LT3045:
https://www.analog.com/media/en/technical-documentation/data-sheets/lt3045.pdf

Can you imagine helping me to redesign it electrically? The electronic part is not so strong with me ;-)

I tried to start with it and made a sketch.
I will upload this as a PDF.

My wish would be a PCB design (which is my first) which can be completely assembled by a PCB manufacturer. So it arrives ready.
 

Attachments

Some remarks and a question:

C3 is a bit small for R1 = 2.6 kohm. They form a high-pass filter with corner frequency 1/(2 π R1 C3).

R1 can best be thin film because of 1/f noise.

Resistors and capacitors normally have certain standard values, see https://en.m.wikipedia.org/wiki/E_series_of_preferred_numbers . The availability of capacitors with E6 and E12 values is much better than with E24 values (E24 values that are not E12, that is). E96 capacitors are very rare. E96 resistors are no problem, although they may be slightly more expensive than E12 and E24. I've never seen E192 resistors.u

What ADC sample rate do you use? Unless it is very high, you can best use a relatively large value for C2, as it is your only anti-aliasing filter besides microphone roll-off. That is, choose a corner frequency above the audio band, but don't exaggerate.

As long as the RMS random noise is greater than about half an LSB, the noise dithers your ADC and you should be able to see spectral peaks far below 1 LSB - provided the interference issues are solved and the ADC behaves close to ideally.

Replace C5 with a short, because the ADC needs a DC bias at its input.
 
Last edited:
  • Like
Reactions: XerXes777
R6 can then be left out, although it may be a better idea to replace it with a capacitor. You then have some extra anti-aliasing filtering and you keep the ADC's sample current spikes out of the op-amp. It may or may not be advantageous to increase R4 then.

It may be advantageous to use slightly unequal values for R3 and R5 to bias the ADC not exactly in the middle of its range; ADCs usually have the biggest deviation from linearity at half scale, where all bits switch. By biasing it at a slightly different voltage, you avoid that for small input signals.

Gain switching could be done by switching the feedback network with an electronic switch, photoMOS relay or electromechanical relay. I don't know which models are suitable for 3.3 V.
 
Last edited:
  • Like
Reactions: XerXes777
A lot of knowledge which I first have to process and understand. Your question is simple.

I use 44100Hz as sampling rate. But I can set any one I need. Does it make sense to set a different one? But I would like to be able to display up to about 16-20kHz.
 
The problem is aliasing: an ADC sampling at 44.1 kHz doesn't see any difference between a signal at 20 kHz and a signal at (44.1 n +/- 20) kHz with integer n. 24.1 kHz is the lowest frequency that aliases to 20 kHz.

Two solutions are:
1. using a very steep analogue filter that passes 20 kHz and suppresses 24.1 kHz, or
2. using a simple analogue filter and a much higher sample rate.
 
  • Like
Reactions: XerXes777
Your alias suppression will still be poor, but much better than at 44.1 kHz sample rate. For example:

-Suppose the microphone capsule itself has a second-order Butterworth roll-off with 20 kHz corner frequency.
-Suppose you add two first-order filters at 30 kHz, one made with C2 and one with a capacitor replacing R6.

The response in dB of a second-order Butterworth low-pass filter is -10 dB*log10(1 + (f/fc)4), while that of a first-order filter is -10 dB*log10(1 + (f/fc)2), where fc is the cut-off frequency (-3.01029... dB frequency). Cascading the second-order filter and two first-order filters, one gets:

20 kHz: total response at -6.2043 dB with respect to the low-frequency response
24.1 kHz (first alias of 20 kHz at 44.1 kHz sample rate): -9.2505 dB with respect to the low-frequency response, so 3.0462 dB lower than at 20 kHz
60 kHz (first alias of 20 kHz at 80 kHz sample rate): -33.1175 dB with respect to the low-frequency response, so 26.9132 dB lower than at 20 kHz
 
  • Like
Reactions: XerXes777