I am troubleshooting an audio noise problem in project which has several components wired together as follows:
Overview:
The overall project does some motion control with a servo and has an audio notification that is triggered by one of the servo channels.
For the audio pathway, it uses an Arduino Uno with Wave Shield as the source of audio, a Kemo M034N amplifier of unknown class, and a single 4Ω speaker. On the servo side of things, there is a buck converter to drop the voltage from 12V to 6V, a Spektrum RC receiver, and a generic Futaba servo. One of the RC channels connects to the Arduino so that the audio can be remote triggered.
The 6V from the RC receiver to the Arduino is not connected, but the grounds are tied together.
The Problem:
The amplifier is picking up the noise of the servo motor, but I haven't been able to decouple it. The amplifier has unusual connections in that the ground connection is the same as one of the audio lines (indicated in green on the block diagram).
If I simply disconnect the audio out from the Arduino, the problem goes away (but of course no desired audio reaches the amp in this case). I believe this tells me that the problem is not present on the Vcc and ground connection to the amplifier.
Connecting an oscilloscope to the audio output of the Arduino shows a clean signal, even when the servo is being driven. However if I reconnect them, then connect the scope to the amplifier end of the wires, about 12 cm (~5 in), the waveform is much noisier and has the servo noise present.
What I've Tried:
I tried running a shielded wire from the Arduino to the amplifier, connecting the shield to ground. I've tried adding three capacitors of different sizes (1000μF, 100μF, and 0.1μF) in parallel to both the amplifier and Arduino power input to try and decouple them from the rest of the circuit. Neither of these had any improvement.
If I connect headphones to the Arduino and ignore the amplifier and speaker, the sound is clean and no servo noise is present.
Edit: I've also tried using two separate power supplies; one for the audio components and one for the servo components. That also solves the problem, but ultimately I need to have just one power supply. The problem occurs whether I use a 12V 5Ah battery, a regulated bench power supply, or the intended 12V 10A SMPS.
Question:
I'm not sure what else to try. Is there some sort of ground loop? Am I decoupling improperly/insufficiently? What else should I try to eliminate the noise?