Cross-talk between headphone output and Line-in input


In our application we stream audio captured from Line-in to network and play the received far end stream on headphone, but the output audio gets coupled into line-in path and it creates echo effect on far end. Reproducing this without streaming is easy, use aplay to play any audio file on headphone and in another process capture the line-in stereo input to file (no input source is needed on X9 header). The captured audio will contain coupled audio, at maximum volume levels, coupled audio magnitude is significant.

This issue is similar to this one, if again common ground is the reason for coupling then what are the options to remove this cross talk. Since SGTL codec is on colibri module we don’t have the schematic to study the circuit.



The cross talking between the headphone and microphone input is a known issue of the Iris carrier board, not the computer module. The analog ground (AUDIO_AGND) trace is shared between the audio headphone and the microphone. Since the headphone has a low impedance, the resulting current is causing a voltage drop in the resistance of the ground connection. Since the microphone interface shares the ground connection, the voltage drop is picked up by the microphone input.

The problem only occurs if a headphone with low impedance is plugged in. Using the headphone output as a line output with higher impedance will not cause an issue since the current is lower. In order to be sure that the cross talking you are facing in your project is caused by the weak analog ground connection, you can simply do the test by removing the headphone from the headphone jack and check whether the issue is gone.

In order to resolve the issue, the ground of the microphone and the headphone would need to be routed with separate traces as a star connection. This is the best solution, but only possible if the microphone jack and the headphone jack have different grounds, like on the Iris board. If a combined headphone/microphone jack is used with a single ground, the only solution is to make the ground trace as wide and as short as possible in order to reduce the resistance.

Unfortunately, there is currently no new version of the Iris board available which implements the needed changes in the analog ground connection for resolving the cross talking issue. Currently, I can only provide you the following hardware workaround:

  • Use the headphone output only with high impedance device. Use headphones with built in amplifier or use it for connecting an external amplifier.
  • Use the AUDIO_AGND on pin 26 of the the header X16 instead of pin 5 at X9 for the microphone. The ground on X16 is not sharing the same traces as the headphone ground. Having the microphone and the ground signal on two different connectors can cause additional noise to the microphone.
  • Assemble at the position of C28 and C35 shorts or 0R resistors. This will connect the AUDIO_AGND to the regular ground. This will reduce the resistance of the ground retour path for the audio signals significantly. Tests have shown that the cross talking is reduced, but does not disappear completely. Also it can cause additional noise to the microphone path.

C28 is located on the top side:

C35 is located on the bottom side:

Hi Peter,

Thanks for the workarounds.

In our application we are already using external speakers with high input impedance amplifier.
Initially when we got this issue, to isolate we removed all connections to the IRIS board (X16, X9 and headphone output too) even with this we could capture cross coupled audio on line-in with simple aplay and arecord, though the magnitude of the cross talk is feebler than with amplifier connected. Since there was no load on headphone output and also from iris board schematics we couldn’t find any significant load for current to flow in common ground we doubted the module.

We will experiment further based on other workarounds.