Hi,
Amplify your input signal with a gain of 10..50. I´d use 32 if...
gain of 32 is simple to calculte, because it is shifting 5 bits right (or left)
So if reading of first ADC is below 20 LSB then switch to second channel.
If reading of second channel is beyond 700 switch to first ADC channel.
this is for a 10 bit ADC, (i calculate the following with 10 bit and VRef = 5V)
with gain = 1 you have a range of 5V
with Gain 32 then range of channel2 = VRef/32 = 156 mV. (but you can not use the full range because of voltage limiter. ) Maybe you can use it up to 100 or 120 mV
Resolution here is 156mv/1024 = 153uV.
With your given adc readings there is an offset voltage and as barry suggested a gain problem.
Check what the ADC readings are with a fixed voltage divider (1 / 20 or so) and a 1uF ceramic cap from ADCinput to GND.
***
those leds are the indication for the parameter i am measuring, should i compl;etely avoid the circuit ??
If anode of LED is fixed to VCC and the ucontroller drives the low side, then the LED current must go through the uControllers GND pins. This will cause a voltage drop - called ground bounce. This gives offset errors in ADC reading.
Especially with your configuration you can use the LEDs with cathode externally connected to GND and the uController drives the high side. Then no LED current flows through tne ucontroller GND pins.
For sure the same current now flows trhough the VCC pins. but the ADC refers to GND and not to VCC so it gives no error.
With additional BJT you could drive the LEDs externally, so the LED current is´t driven by the ucontroller.
But switching OFF during sampling is also good.
Klaus