I'm using one of the analog inputs on an Arduino Uno to read the output voltage from a photodiode. I understand the inputs are 10 bit, which is not enough for my application in detecting small changes in the photodiode voltage. I'm aware that the External Reference function allows the bits to be allocated over a range smaller than the default 0-5V, such as 0-1.3V, however I'm unsure whether this is a true allocation which achieves 10 bit resolution over the 0-1.3V range, or if it simply outputs a maximum 2^10 value when the voltage reaches 1.3V.
Any advice on the underlying mechanism would be greatly appreciated. If the External Reference can't be used to optimise the resolution, it looks like it will have to be an external ADC solution!