Audio shield: EMC troubles


Active member
Hello! I'm working with an Audio shield (Rev. D) and a Teensy 4.1. When I connect the shielding of my oscilloscope to the ground pin of the line input of the Audio shield it happens relatively often(10%) that the SGTL5000 delivers not a signal anymore. There is still a data stream but the content is digital 0! Normally there is some "live" in the lower bits even with no input signal(what is normal for an ADC). When this happens (audio input = 0) it does not help to reboot the board and restart the software. The signal stays 0. Only disconnecting the Teensy from USB brings the SGTL into normal operation again. In rare cases the SGTL5000 shows no reaction at all. That means that a reboot has a fail when calling "sgtl5000_1.enable()". Again only dis- and reconnecting to USB helps here.
I got the same effect when I connect a waveform generator to the line input. Not always but often. And it is always the ground pin. I tried different Teensy boards and different Audio shields (>10): Always the same.
Has anybody made the same experience? And has an idea how to fix that? I tried to connect a capacitor into the ground pin but it looks like it is not a frequency problem. I would assume that the ground level of the line input drops (or rises) for a short period of time when connecting a different ground from the outside which "kills" the SGTL5000. But that is only an assumption...
The only way out I found was to switch the SGTL5000 off and on. Therefore I cut the VDDD & VDDA traces on the audio shield and put a transistor between which I can switch off/on by GPIO.
I had it even more extreme, if the teensy was connected to my pc, the monitor switched off a second when i touched the teensy with scope gnd . horrible.
Solved by an extra, fixed installed gnd line between pc and scope.

p.s. not the teensy is the problem. it was the same with other boards.
This might be that you are grounding the _headphone_ output "ground" pin - you mustn't do this, its not at ground potential at all.

If that's not the issue (the line ground pin should be OK), the issue is perhaps a transient current spike when the scope ground touchs the unit - it may have a slightly different ground potential(*) causing a current pulse which is upsetting something. Normally you'd have everything grounded before powering on and no issue from this sort of transient.

Quick fix is to ground the scope to the pin via a 100 ohm resistor or similar to limit any current spike that may be crashing the SGTL5000.

(*) One cause of ground potentials varying is local magnetic fields from large transformers / motors and similar equipment - grounds via several things connected to the same mains is a large loop antenna (aka magnetic antenna) that can easily pick up this magnetic interference.