Skip to main content

ACS712 Current Sensor Module

[Click the image to enlarge it]

Pin Configuration

Pin Number

Pin Name




Input voltage is +5V for typical applications



Outputs Analog voltage proportional to current



Connected to ground of circuit


Wire In

The wire through current has to be measured is connected here



Wire Out



  • Measures both AC and DC current
  • Available as 5A, 20A and 30A module
  • Provides isolation from the load
  • Easy to integrate with MCU, since it outputs analog voltage
  • Scale Factor

5A Module

20A Module

30A Module



66mV per Amp


Other current Sensors

ACS759, WCS1700, KG190, ACS715


Where to use ACS712 Module

The ACS712 Module uses the famous ACS712 IC to measure current using the Hall Effect principle. The module gets its name from the IC (ACS712) used in the module, so for you final products use the IC directly instead of the module.

These ACS712 module can measure current AC or DC current ranging from +5A to -5A, +20A to -20A and +30A to -30A. You have to select the right range for your project since you have to trade off accuracy for higher range modules. This modules outputs Analog voltage (0-5V) based on the current flowing through the wire; hence it is very easy to interface this module with any microcontroller. So if you are looking for a module to measure current using a microcontroller for you project then this module might be the right choice for you.


How to use the ACS712 Module

As told earlier it is very simple to interface the ACS712 Module with Microcontrollers. The below diagram would be more illustrative

ACS712 Current Sensor Circuit Diagram

The ACS712 module has two phoenix terminal connectors (green colour ones) with mounting screws as shown above. These are the terminals through which the wire has to be passed. In our case I am measuring the current drawn by the motor so the wires that is going to the load (motor) is passed through the ACS 712 Module. Make sure the module is connected in series with the load and be extra cautious to avoid shorts.

On the other side we have three pins. The Vcc is connected to +5V to power the module and the ground is connected to the ground of the MCU (system). Then the analog voltage given out by the ACS712 module is read using any analog pin on the Microcontroller.


Programming for ACS712 Module

There are few things to know before we could program our Microcontrollers to read current from ACS712 Module. By default when no current is flowing through the module terminals the output voltage will be +2.5V (Vcc/2), when the current flows in one direction the value will increase from 2.5V and when it flows in other direction the values will decrease from 2.5V. This way the module enables us to measure both AC current and DC current.


Let us assume that the microcontroller you are using has a 10-bit ADC and operates at 5V with a reference voltage of 5V for ADC conversion in that case the microcontroller will read the values of ADC from 0 to 1024. Then you can use the formulae below to calculate the Output Voltage from ADC values.

Vout (mV) = (ADC Value/  1023)*5000


After calculating the output voltage we can, calculate the value of current from the voltage using the below formulae

Current Through the Wire (A) = (Vout(mv)-2500)/Scale factor

Note that the value of scale factor changes for every module based on its range. The values of scale factor for all three modules are given in the specifications above.


2D Model

ACS712 Current Sensor Dimensions

Download Datasheet PDF:
ACS712 Current Sensor Datasheet