What are the AREF, IOREF, and the unlabeled pin next to IOREF on the Uno R3?
AREF:
This is the voltage reference analog-to-digital converter (ADC). It can be used instead of the standard 5V reference for the top end of the analog spectrum – for example, if you wanted to use the ADC to monitor a signal that had a 0-1.5 volt range you could get the full scale of the ADC by connect AREF to a 1.5V signal. DO NOT CONNECT A SIGNAL OUTSIDE THE 0V TO 5V RANGE!
Note that in order for this to work, you must run analogReference(EXTERNAL);
before using analogRead()
. Also:
After changing the analog reference, the first few readings from analogRead() may not be accurate.
Fore more information, see AnalogReference.
IOREF:
This is a voltage corresponding to the i/o of that board, for example an Uno would supply 5v to this pin, but a Due would supply 3.3v. Sending a signal to this pin does nothing.
Unlabeled pin:
This pin is unused, but is there to ensure compatibility with future products. It is not connected to anything on any R3 boards I have seen.
Concerning the AREF
pin, you have to remember that the Arduino comes with a 10bit ADC (Analog-Digital-Converter), which converts incoming voltages between 0V and 5V to integer values between 0 and 1023. This results in a resolution of roughly 4.8 mV.
If a sensor only delivers a lower maximum voltage, it is resonable to apply this voltage to the AREF
pin, just in order to obtain a higher resolution.