Colibri imx8x Analog to digital conversion

I’m using pins 2,4,6,8 as inputs to the analog/digital converter. I’m assuming the A/D reference voltage is 1.8 volts since that is the maximum input voltage. Example: With 1.8 volt input to pin 2 the AD counts would be 4095 (0xfff), with 0.9 volts input the A/D counts would be 2047 (0x7ff).

The A/D counts i’m reading from each of the channels are all about 80% of what they should be, so I have to question if 1.8 volts is the correct reference voltage. Is there any other setup to define the value of the reference voltage?

I’m feeding the A/D pins through a simple 2 resistor voltage divider, the documentation states a 10K resistor in series with the A/D input for protection. Is there any other resistor tied to ground on the module which would indicate why i’m reading lower than I should?


Reference voltage is 1.8V . However Colibri iMX8x has 1.8V range ADC while all other Colibri module have 3.3V range ADS. So there are 10k series resistors placed in the ADC lines in order to protect the iMX8x SoC. An ADC pins has some leakage current. That’s why you are reading may be offset if you are using high nominal resistor divider. Please note that internal SOM ADC was never intended to be used for high accuracy measurements. If you need better precision please use an external ADC.

Using the Colibri evaluation board, we connected a power supply, set to 1.196 volts, directly to a A/D input (no other resistors) and the value was 85% of what we expected. We are not looking for high precision in our application. Is there any additional information (besides Colibri reference manual) that characterizes the A/D?

Colibri iMX8X X1 pins 2,4,6,8 routed directly to SOC balls ADC_IN5, ADC_IN4, ADC_IN1, ADC_IN0 through 10K resistors and nothing else. The VDD_ADC_DIG_1P8 SOC ball connected to 1.8V rail, the VDD_ADC_1P8 SOC ball connected to 1.8V rail through LC filter. Please check i.MX 8DualXPlus/8QuadXPlus Applications Processor Reference Manual for details about ADC.