It's a bandgap, while you don't expect it to be accurate at least you'd expect it to be stable within a narrow temperature range. At least as good as many supply regulator in this regard. Should be usable after initial pre-calibration.
Using this double conversion isn't "free" however. The rather small ratio between Vref and Vadc loses you a couple bits of ENOB (log2(5/1.1) ≈ 2.2 bits).
I agree. That's why I reluctant to use it. This webpage suggest a LM4040AIZ4.1
https://skillbank.co.uk/arduino/measure.htmUsing the external voltage reference input pin AREF.
If you connect the external reference voltage to the AREF pin through a protection resistor of 4k7 or more, it allows you to switch between external and internal reference voltages.
Normally the resistor will alter the voltage that gets used as the reference because there is an internal resistor of ABOUT 32K on the AREF pin. The two act as a voltage divider, so, for example, 5V applied through the resistor will yield 5 * 32 / (32 + 4.7) = ~4.4V at the AREF pin.
This reference will be a FRACTION of the +5V supply, not a precise voltage reference.
However, by connecting a shunt mode voltage regulator as shown here you can set the reference voltage accurately WITHOUT the hazard of damaging the arduino.
The LM4040AIZ4.1 (5) is a micropower SHUNT voltage reference diode, and if we connect this to the "5V" supply through a resistor, so that a current of >60 uA and <15mA flows through the diode, it provides a voltage with an accuracy of 0.25%
How it works:
Lets look at the currents flowing;
R1 has (5V - 4.096 = 0.9V approx) across it so (if we choose R1=3k3 )
i1 = 0.9 / 3k3 mA or 270 microamps.
Rint has 4.096V across it so i3 = 4.1 / 32 = 128 microamps.
This leaves 270 - 128 = 142 microamps for the regulator.
You can use other regulator voltages by choosing a suitable value for R1.