ADC unstable readings with external ARef

Hi,

I am having some trouble getting stable readings from my Arduino Due. I have tried reading in both 10 bit and 12 bit resolution, but the values jump around significantly. I have tried the same circuit on an Arduino Leonoardo and it doesn't change more than 1-2 counts.

I have an voltage divider taking the 3.3v line and feeding it through an opamp as a voltage follower, which produces 1.1v which is then fed to the AREF pin. I have moved the 0-ohm resistor on the Due to use the external reference. I have tested the 1.1v reference voltage and there is only about 4mv of noise on it, but the readings are out by way more than that.

At 0v, it reads 0 fine, and at 1.1v it reads 1023 or 4095 fine (depending on the read resolution)

If i divide the voltage in half again (so 0.55v), i get approximately half the count, but it is not stable and jumps around a lot, producing unusable results.

Is there just something wrong with my Due? Its all fine on the Leonardo.

Any help is much appreciated.

Thanks

In 99% of the Issues with ADC-Readings the Powersupply is the Problem. Make sure, the Supply-Voltage is "clean". For a first Try, just use a Battery and compare the Results. If your Readings are much better with the Battery, the Problem is the Supply-Voltage !

Greetings
Tom

The Due has v. poor analog performance, don't expect much from it. External ADC is definitely the way to go. In theory it can drive I2S devices so 24 bit audio is doable.

There is no separate analog ground plane or supply to the SAM chip on the Due board,
so all the copious noise from the switch mode 3.3V supply pollutes the analog circuitry,
so you barely see 8 bit accuracy, le alone 12. The DAC is worse than the ADC and not
even rail-to-rail.

Well that's my opinion.