I'm looking at buying this simple current sensing board: http://www.sparkfun.com/products/8883. Here is its schematic: http://www.sparkfun.com/datasheets/Sensors/ACS712%20Low%20Current%20Sensor%20Board%20v12.pdf.

The current sense chip outputs a voltage between 0 and 5v, depending on the current. The op amp on the board can then be adjusted to detect "very small current" changes. The op amp can be adjusted to have a gain between 4.7 and 47, but what does this mean? What is the minimum amount of current change the chip (link below) can detect?

The current sense chip is this one: http://www.allegromicro.com/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS712.aspx.


I'm using the Arduino Uno's ADC, which has the same range as the output to this chip. So, win!


ACS712 datasheet here.

3 models available.
Sparkfun say you have the 5A version.

Datasheet says output of IC1 (page 5) is 180/185/190 mV/A min/typical max.
Following amplifier gain is 4.7 to 47.
So mV/A out ranges from 185 x 4.7 ~~~= 900 mV/A to about 9V/A.

Vcc = 5V and opamp zeros at ~ 1/2supply so output can swing 2.5V (at best).

2.5V/900 mV =~ 2.75A full scale.
2.5V/9V ~~= 0.275 A full scale.

ACS712 data sheet says accuracy is +/- 1.5% all up at full scale at 25C.
Say 2% accuracy all up with 'a bit of other error allowed for'. Revisit later as required.

SO if you adjust this to read say 2.5V/A and if your ADC will accept 2.5V full scale then you have an absolute accuracy of +/- 2.5*2% = +/- 50 mV.
Or for he one Amp input +/- 2% = +/- 20 mA.

This is specified as a fraction of full scale reading and it does NOT say it gets less at lower inputs.

So at 12 scale you get 4% error, at 10% scale you get +/- 20% error. At 2% scale you are in the noise.

2% ~= 6 bits so an 8 bit ADC will handle this well enough. 10 bits better as then about no extra nose introduced by conversion.

To answer the "minimum current question.
Max gain was 9V/A or about 0.275 full scale.
This gets "into the noise" at +/=- 2% * 275 mA ~= +/- 6 mA.



With a gain of 1 you can measure 0 to 5 amps as 0 to 5 volts.

With a gain of 10 you can measure 0 to 500mA as 0 to 5 volts.

With a gain of 20, it's 0 to 250mA


The chip doesn't have a resolution - it's an analogue device. It's purely down to the receiving device what the resolution is. With the addition of the op-amp the upper end of the range can be modified. So, say you have it set to a gain of 20, to measure up to 250mA, and then have it connected to an Arduino, with 10-bit ADC. The resolution would be 250/1024 = 0.244mA steps.

  • \$\begingroup\$ Adjust pot to read ADC fill scale at current full scale. Running op amp from higher voltage gives more range but no advantage with low ADC ref. \$\endgroup\$ – Russell McMahon Dec 5 '11 at 23:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.