# Electronic – arduino – have crosstalk in Arduino ADC, despite low source impedance

## I. THE CIRCUIT:

Below, an Arduino Due measures voltage signals from two parallel voltage-divider circuits:

We want the Due to accurately measure the voltages at the places where it makes contact with the voltage-dividers. However, we see significant crosstalk – changing the resistance in one channel changes the voltage in the other channel:

\$\$\textbf{TEST I} ~~(R1 = R2 = 10 MΩ):\$\$

\$\$\textbf{TEST II} ~~(R2 = 3.3 MΩ < R2 = 10 MΩ):\$\$

However, we can theoretically trace these effects to current leaking through the Due: the Due usually has an input impedance of around 10 kΩ, but we have under clocked it from 20 MHz to 1 MHz, which raises its input impedance to 266 kΩ. So the electrons in the voltage divider circuit will certainly prefer to enter the Arduino, rather than traverse the 1 MΩ placed in front of them.

## II. THE FOLLOW-UP:

Below, we have made a tiny modification to our original circuit, in hopes of making the voltage channels truly independent: both signals are buffered by one ADA 4528-2 (a dual-channel op amp):

The op amp is not there to amplify the signal: it provides a gain of ~1.003. Instead, it is there to hide the high impedance of the circuit that we're trying to measure. Instead of an output impedance of 1 MΩ, the impedance is now <0.1 Ω:

so the electrons should stay in the circuit, and there should be no crosstalk at all. However, to my surprise, although there is some improvement, there is still noticeable crosstalk!:

\$\$\textbf{TEST I} ~~(R1 = R2 = 10 MΩ):\$\$

\$\$\textbf{TEST II} ~~(R2 = 3.3 MΩ < R2 = 10 MΩ):\$\$

The red channel should not "know" that the blue channel has increased resistance. However, its signal drops, when I have not made any changes to the red channel – What am I missing from my analysis (By the way, I'm using low-tolerance resistors <1%)?