How to Measure Current Range (uA to A) Continuously?


I am looking for a way to accurately measure the current consumption of my Arduino project continually through a range of currents (uA to A) without breaking the circuit or resetting the program.

My project is battery operated and uses around 30uA at standby / sleep and when fully active can use up to 2A peak current.

I can measure the two states (sleeping and awake) independently but I have to do it in stages.

I.e. Set the DMM to uA range and measure the sleep current then set the DMM to the Higher Amps range to measure the current when awake but I have to break the circuit to change the DMM ranges to do it which resets the program.

I want to measure the current continuously to make sure the current consumption remains at 30uA when my design has woken up and then gone back to sleep - without resetting the program.

Is this at all possible? And if so, what do I need?


Use a switch to short out the Multimeter.

Then you change the current range without the risk of the meter causing a disconnect.

Sorry for my late reply.

Yes, I get what you mean.
So I can switch the meter in and out of circuit without breaking the circuit itself.

That's a brilliant and simple idea! Thank you, I will try that.

I have a tendency to over-think things so I was half expecting to have to buy some rather expensive, precision test equipment. lol

Thanks again!

If you want to monitor current over a wide range of values with low precision, using a diode as a logarithmic
converter is one trick - use schottky for lower voltage drop, and ideally you need to compensate for temperature,
but its possible with a 10 bit ADC to monitor from < 1uA to > 1A, since the forward voltage is a logarithmic
function of current.