SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By harivadakara
Hello Team,
We are designing a circuit to measure the current consumed by a Ultra-low power communication module.
The requirement is below:
1. Min current = 0.2mA
2. Max current = 100mA
3. Resolution = 0.005mA (5uA)
We do not need to measure DYNAMIC current, just want to measure AVERAGE current at a specified working condition such as Active, Sleep, Shutdown
that we will use a sensing resistor in series to the load.

I have some questions, please provide clarifications.
1).The sense resistor value selected is 500mOhm. According to my understanding to get 5uA resolution ADC’s 1LSB must be less than or equal to 2.5uV (RsenseCurrent step,ie (500mohm5uA). Please correct me if I am wrong.

2. Do I need to use a pre-amplifier after current sense resistor? Imagine I am using an ADC with 24bit resolution and 5V reference then my 1LSB will be 0.3uV, less than the required resolution. Is it possible to connect a buffer after Rsense and connect its output directly to ADC input?

May I know can I use Arduino for this application

By Valen
I suggest you lookup Dave Jone's ( µCurrent (microcurrent or ucurrent) current to voltage converter.

He went in to much detail in his writing and youtube videos about how it works and the considerations he made during the design of it (in regards to amplification). I think you will be better off taking this as a starting point. The 24 bit ADC will most likely only be picking up noise at that resolution.