Measuring the internal 1v1 reference voltage

Hello,

I would like to measure the internal reference 1v1 voltage on Arduino Uno/Mini pro because I need to know what offset it has, since it's not actually exactly 1v1. But I can't find any place to access it.

I tried setting analogReference(INTERNAL), and then measuring voltage between the AREF pin and GROUND with my multimeter, but all I got was 2.5mV, so either Arduino has the worst voltage reference in existence, or I'm doing it wrong.

The only other way I can think of, would be to connect a known voltage to an analog pin, such as .55V, then get the analog reading, which should be 512, and if whatever it is over or under that number, will help me calculate the offset. But this is quite cumbersome way to do it, when surely there is some better way to access the reference voltage directly.

Thank you.

The effect of analogReference() call doesn't take place till the next call to analogRead()

MikeX7:
I would like to measure the internal reference 1v1 voltage on Arduino Uno/Mini pro...

https://forum.arduino.cc/index.php?topic=38119.msg282514#msg282514

MikeX7:
The only other way I can think of, would be to connect a known voltage to an analog pin, such as .55V, then get the analog reading, which should be 512, and if whatever it is over or under that number, will help me calculate the offset. But this is quite cumbersome way to do it, when surely there is some better way to access the reference voltage directly.

Which is the best way if you're measuring some voltage with a voltage divider.
Then you can use one mulplication factor that compensates for Aref as well as the tolerance of the resistors.
Leo..

I would question why you need to do this - if it’s to calibrate the system , Just put a known voltage on an analog pin and read it .

If you are reading via a voltage divider , it’s best to calibrate your input any way to account for resistor tolerance.
You can even write a little calibration routine to input a voltage, enter it’s value via the serial monitor and save your factor to EEPROM .

Or simply avoid 5% carbon film and only buy 1% or better metal film (!)

FYI, the internal reference is not accurate, it is stable. So from one Atmel chip to another, you'll find they are not exactly the same. However, it is something called a bandgap reference and so is stable over time and temperature.

So if this isn't just a one-of project, you'll need to calibrate it once on each project.

AREF is not brought out to a pin on Pro Mini, it does, however, have 2 reset pins. >:(