# How to measure small (parts per million) changes in current from analog sensor?

#### danesposito

Joined Jan 24, 2016
2
Hi everyone!

I'm trying to understand how to measure very small changes in current - somewhere between parts per 10k or parts per million.

The idea I'm playing with is if I have some material based analog sensor that changes its resistance when exposed to an analyte.
• Voltage: .1V
• Current through the system: 20mA
• Expected change in current: 2nA
My understanding is that if I wanted to measure the current, I would use a shunt resistor to get a voltage to send to my Arduino and I could calculate the current.
1. To monitor this small change in current would I just have a very high tolerance shunt resistor?
2. Or is there an alternative strategy for measuring small changes in current?
Cheers

#### AlbertHall

Joined Jun 4, 2014
11,610
A 2nA change in 20mA - 1 in 10,000 - is approximately a 1 bit change if you have a 13 bit ADC so well beyond what an arduino can measure. If you have a 16 bit ADC you would be in the ball park but it would need very careful circuit layout to maintain the accuracy of this ADC.

#### OBW0549

Joined Mar 2, 2015
3,566
A 2nA change in 20mA - 1 in 10,000 - is approximately a 1 bit change if you have a 13 bit ADC so well beyond what an arduino can measure. If you have a 16 bit ADC you would be in the ball park but it would need very careful circuit layout to maintain the accuracy of this ADC.
A 2 nA change in 20 mA is 1 part in 10,000,000, not 1 part in 10,000.

2.0E-09 / 2.0E-02 = 1.0E-07.

#### AlbertHall

Joined Jun 4, 2014
11,610
A 2 nA change in 20 mA is 1 part in 10,000,000, not 1 part in 10,000.

2.0E-09 / 2.0E-02 = 1.0E-07.
Oops you are correct, so this measurement is in the realm of the impossible.
It would need a 24 bit ADC and exceptional circuit layout care.

#### OBW0549

Joined Mar 2, 2015
3,566
Oops you are correct, so this measurement is in the realm of the impossible.
It would need a 24 bit ADC and exceptional circuit layout care.
Agreed.

The only other approach I can think of would be to construct a very stable and noise-free 20.0 mA constant-current source and connect it so that its output is subtracted from the current being measured. The resulting tiny difference current would allow the current sense resistor to be increased by a factor of 200X or more, making for a more practical measurement.

A usable current source could probably be made from a low-noise voltage reference like an LTC6655BHMS8-5, a low-noise op amp like the MAX44241, a low-noise JFET like the 2N4391 and a good, low tempco metal foil reference resistor like a Vishay Y1453500R000V9L (500Ω, 0.005%, ±0.2 ppm/°C).

That would probably do the trick, especially if thermally insulated and given plenty of warm-up time.

EDIT: Oops, that would give 10 mA, not 20 mA. So use two of those Vishay resistors in parallel, or a 250Ω resistor of the same type.

Last edited:

#### MrChips

Joined Oct 2, 2009
24,625
It is not simply a matter of measuring the current flowing through a precision resistor.
A resolution of 1nA in 10mA is equvalent to 1 part in 10^7 or 1:10,000,000.

You have to read the specifications of ADC very carefully and in particular, you have to look at the ENOB (effective number of bits). For example, a 24-bit ADC may quote ENOB of 20 bits.

20-bit ADC will get you 1:1,000,000, i.e. ten times short of what you are aiming for.

The other aspect one has to consider is the environmental effects on your measurement, i.e. power supply stability, ambient temperature variation, and external electrical noise. In most sensitive measuring systems of this nature, a differential measurement is desired. Check up on how a Wheatstone Bridge measurement is made.

In summary, it can be done with great difficulty and it is not for the faint of heart and inexperienced person.

As an aside, the LIGO (Laser Interferometer Gravitational wave Observatory) has a resolution of 1 in 10^21.

Joined Mar 10, 2018
4,057
This is one possibility -

Another approach is to integrate the current into an integration capacitor and use
the basic equation Q = C x V, I = C x dV/dT.

In either case you need to do an exhaustive error budget thru signal; chain. And set goals,
allowed T variation, absolute or relative accuracy and its spec, noise.....

Consider correlated double sampling techniques to minimize offset, noise
in the signal path.

Lastly if this is a one off then buy a high accuracy DMM and using its instrumentation buss offload measurements to PC and process the data.

Regards, Dana.

#### Attachments

• 2.6 MB Views: 0
• 426.6 KB Views: 0
• 500.9 KB Views: 0
Last edited: