Analogread resolution problem

Hi there

I am trying to design a program/circuit to read and record current in a circuit. The range of current is huge, from 0.1A up to 200A
The current is obviously not passed through the arduino but calculated by measuring the voltage either side of a shunt resistor. This resistor will have a value of 0.00025ohm or something similar to that.

First problem is, how do I adjust the analogread (using the uno if possible) to measure small erincrements than 4.7mV?

To measure 0.1A over a resistance of 0.00025ohm i need to be able to measure in increments of 0.025mV

Second problem - I need to knock the voltage down from its 12V operating range to within the 5V tolerance of the arduino's input, but I don;t know how much current the arduino draws when it takes a reading, so I can't calculate the size of the resistor. Am I missing something obvious?

Regards
Gareth

If you want 0.1A resolution over a 200A range (2000:1), you'll need at least 11 bits of resolution, not 10, so you're going to need an external ADC

Or a lot of oversampling - http://www.atmel.com/images/doc8003.pdf -

sample code see - AnalogRead Accuracy - #8 by robtillaart - Sensors - Arduino Forum -