Microcurrent sensing

You have 3 main choices for current sensing:

1. Shunt resistor

A big resistor of very low value - like 0.01 Ohms - usually put between the device under test and the negative terminal of the power supply. The Arduino must share the same ground as the power supply. Use an instrumentation amplifier like the INA series to amplify the tiny voltages developed on the resistor.

For small currents, use a higher value. If you use 1 Ohm then 1V readout is 1A of current.

2. Hall Effect, current transformer or other non-contact method

If you can wrap a sensor around a wire (but not both wires in a pair) or you can add one of the newer hall-effect modules into the circuit then you can measure current without sharing the ground with your Arduino. Best for mains-powered electricity.

3. Use a motor driver with current feedback

Something like the Sparkfun Monster Moto shield is great because the chip can drive huge currents (20-30 Amps) and gives you a small feedback pin which matches the current going out the main motor drive pins with a ratio like 1/300 or 1/800. Add a convenient shunt resistor and it's very easy to measure and calculate the current that the driver is driving. The Monster Moto shield already has the shunt resistor.