I'm fairly new to Arduino projects, and only recently did I acquire an Intel Galileo board. One thing that has bugged me during my initial experiments is that I am unable to reach the maximum read value (1023) with the analogRead() function. With A0 pin shorted to 5V, the returned value is roughly 996~997. Same thing does not happen with ground, I get 0 when I short A0 to ground. Why exactly can't I have the full 1024 range of the ADC?
I've also noticed in Galileo's datasheet that apparently external voltage references are not allowed and the AREF pin is disabled. Does this have anything to do with the ADC limited range problem?
I've tested the ADC of my Galileo and I have found out that the A0, A1, A2, A3 are giving values below the 1023 that they should provide on 5V, but the pin A4 and A5 are working properly. I looked at the schematics of the Galileo and the only difference I noticed is that those pins are also connected to another multiplexer for the SDA and SCL. Maybe that could be causing the issue, but let me make some more research about it since I could be wrong. In the meantime I recommend you to use A4 and A5 pins for the Analog digital conversion. Regards JPMontero_Intel