Dealing with significant difference in ADC readings from BSP 2.8.7 onward


Our product relies on ADC readings taken from /sys/bus/iio/devices/iio:device0/in_voltage0_raw. We were provided a formula to convert the raw readings into physical voltage values, which has worked mostly well so far. We have been using BSP 2.8b3 on Colibri iMX6ULL in all our production units for the last couple of years.

However, we now have a need to upgrade to a newer BSP release (preferably 5). And the problem is that there was a change made to the ADC-related code or configuration in BSP 2.8.7, and every new release since then gives ADC readings that are significantly lower than they used to be in 2.8b3. From what I can tell, the change is probably this one:

If this is indeed the cause, what it does it mean? Are the ADC readings from 2.8b3 not correct? Can the formula that we have been using, generate incorrect physical values?

The formula we use is baked into our software and it obviously generates the wrong physical values for the readings we get from the new BSPs. Do we have to change the formula and our software?

Hi @vcds

Welcome to Toradex community.

Looks similar Link and Disable keeper in ADC pinmuxings


I can’t access the link you provided. I am receiving the following error:

Access Denied

We’re sorry, but you do not have permission to do the activity you attempted. If you believe this to be in error, please contact the site administrator(s).


The link you have provided seems to be of a private question. Can you write the solution to the problem directly in your answer?

Hi @vcds

values are correct only,especially above 2.5V.You have to validate the readings and adapt your software as per our new BSP2.8b7.

For more information,plerase refer to ADC article