ACS712 Hall-Effect Current Sensor

Read DC and AC current up to ±5 A through an isolated Hall sensor — no shunt, no series resistance, no ground loop.

Difficulty: Breadboard. Estimated build time: about 40 minutes. Estimated parts cost: about US$4.00. 7-line bill of materials. Compare supplier offers when available. A current meter that puts no resistance in your circuit and is galvanically isolated from the load.

Understand the hookup

The ACS712 is an SOIC-8 with two pins (IP+ and IP-) carrying the measured current straight through the chip's internal trace — think of it like a fat wire that passes by a Hall sensor inside the package. The remaining pins handle VCC (5 V), GND, and the analog OUT line. Hobby modules come with screw terminals on IP+ and IP-, so you bolt them into your power wire.

Wire to the Arduino

Connect VCC to Arduino 5 V, GND to GND, OUT to A0. Now break your load's positive supply wire and route it through the IP+ and IP- screw terminals. With no current flowing, the OUT line idles at exactly half of VCC — about 2.5 V on a 5 V system. Positive current away from the load gives an output above 2.5 V; negative current (or AC peaks below zero) gives an output below 2.5 V.

Convert ADC counts to amps

On a 10-bit Arduino reading 5 V full scale, each ADC count is 4.88 mV. The 05B variant sensitivity is 185 mV/A, which is roughly 38 ADC counts per amp. So: amps = (ADC - 512) / 38.0. Average a few hundred samples to suppress the noise floor (the Hall amplifier has a few millivolts of broadband noise) and you'll get repeatable readings down to about 50 mA on the 5 A part.

Read AC current

For 60 Hz mains current sampling, take 100 samples spread across one full cycle (16.7 ms / 100 = 167 µs per sample), subtract the 2.5 V mid-point from each, square them, average them, take the square root, and multiply by the sensitivity. That gives true RMS current up to the Nyquist limit. Be very careful when working with mains — the ACS712's isolation rating (2.1 kV for the 05B) is enough for measurement only; the wire and connectors handling 120 V still need proper enclosures and strain relief, and a beginner should stick to DC and low-voltage AC loads such as a 12 V motor.