Overview
The ACS712 is a fully integrated Hall-effect linear current sensor IC manufactured by Allegro MicroSystems. It measures both AC and DC current by sensing the magnetic field generated when current flows through an internal copper conduction path.
Because the current path is electrically isolated from the sensor electronics, the ACS712 provides galvanic isolation, making it safe for measuring high-voltage AC loads (such as household appliances or motors) with low-voltage microcontrollers.
Quick reference
Operating Voltage (VCC) | 4.5 V to 5.5 V DC (5.0 V nominal) |
| Output Offset Voltage | ( at 0 Amperes current) |
| Galvanic Isolation Voltage | (50/60 Hz for 1 minute) |
| Conductor Resistance | (ultra-low power loss) |
| Bandwidth | 80 kHz |
| Variant Current Ratings | 5 A variant (185 mV/A), 20 A variant (100 mV/A), 30 A variant (66 mV/A) |
| Output Type | Ratiometric Analog Voltage (OUT) |
Variant Sensitivity Comparison
| Variant Part Number | Max Current Range | Sensitivity () | Zero Current Output () |
|---|---|---|---|
| ACS712-05B | () | ||
| ACS712-20A | () | ||
| ACS712-30A | () |
Pinout
Standard Breakout Board Header & Screw Terminal
| Pin / Terminal | Name | Type | Description |
|---|---|---|---|
| Screw Terminal 1 | IP+ | High-Current Input | Conductor input (in series with AC/DC load) |
| Screw Terminal 2 | IP- | High-Current Output | Conductor output (to load) |
| Header Pin 1 | VCC | Power | Supply voltage (+4.5 V to +5.5 V DC) |
| Header Pin 2 | GND | Power | Ground (0 V) |
| Header Pin 3 | OUT | Analog Output | Analog output voltage proportional to current |
Specifications
| Parameter | Symbol | Min | Typ | Max | Unit | Conditions |
|---|---|---|---|---|---|---|
| Supply Voltage | 4.5 | 5.0 | 5.5 | V | DC | |
| Supply Current | — | 10 | 13 | mA | ||
| Sensitivity Error | — | — | % | |||
| Total Output Error | — | % | ||||
| Response Time | — | 5 | — | µs | Output rise time to 90% | |
| Frequency Bandwidth | — | 80 | — | kHz |
Current Measurement Formulas
DC Current Formula
Example for ACS712-05B () with a ADC output reading:
AC RMS Current Formula
For 50/60 Hz AC current, sample over several full AC wave cycles (), find the peak-to-peak voltage ( in mV), and calculate RMS current:
Wiring
text
[ ACS712 Screw Terminal ]
│ │
AC/DC Power (+ Line) AC/DC Load (+ Line)
| ACS712 Breakout Pin | → | Microcontroller (Arduino Uno / ESP32) |
|---|---|---|
VCC | 5V | |
GND | GND | |
OUT | Analog Input Pin A0 (or ADC with voltage divider for 3.3V MCUs) |
Warning
High Voltage Safety & 3.3V ADC Compatibility:
- Mains AC Safety: Although the ACS712 IC provides isolation, cheap breakout PCBs may have insufficient creepage/clearance distance between high-voltage screw terminals and logic header pins. Exercise extreme caution when measuring 110V/230V mains voltage!
- 3.3V Microcontrollers (ESP32/Raspberry Pi): The ACS712 outputs up to when measuring positive current. Use a resistor voltage divider on
OUTbefore connecting to 3.3V ADC inputs.
Common mistakes
- External Magnetic Interference: Hall-effect sensors are sensitive to external magnetic fields. Keep motors, transformers, and heavy inductors away from the ACS712 package.
- Powering from 3.3V: Operating the ACS712 on 3.3V shifts the zero-current baseline away from and reduces sensitivity non-linearly. Always power with 5.0 V DC.
- Measuring small currents with 20A/30A variants: Measuring with an ACS712-30A produces tiny voltage changes ( for 0.5A) that get lost in ADC noise. Use the 5A variant or an INA219 for low-current applications.
Notes
- Solder jumper / capacitor on the
FILTERpin allows adjusting the high-frequency cutoff to reduce output noise.
Assets & downloads
- datasheetdatasheet
- product-pagereference