Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ACS 712: Examples, Pinouts, and Specs

Image of ACS 712
Cirkit Designer LogoDesign with ACS 712 in Cirkit Designer

Introduction

The ACS 712 is a Hall effect-based current sensor designed to measure both AC and DC currents. It provides an analog voltage output proportional to the current flowing through the sensor. The device is highly versatile, offering electrical isolation between the measured current and the output signal, making it ideal for applications requiring safety and precision.

Explore Projects Built with ACS 712

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino and GSM-Based Power Monitoring and Wi-Fi Controlled Lighting System
Image of light monitoring system: A project utilizing ACS 712 in a practical application
This circuit is designed to monitor voltage and current using ACS712 current sensors and voltage sensors, calculate power, and control lighting via relay modules. It features an Arduino Uno R3 for processing sensor data and executing control logic, which includes sending alerts via a GSM module (sim 800l) if power falls below a threshold and connecting to WiFi using an ESP8266 module. The circuit also includes a battery with a charging module (TP4056), a step-up boost converter, and multiple AC power supplies with circuit breakers for safety.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 Smart Home Energy Monitor with Wi-Fi Control and LED Indicators
Image of EXTENSION: A project utilizing ACS 712 in a practical application
This circuit uses an ESP32C3 microcontroller to monitor power consumption via ACS712 current and voltage sensors, control appliances through a relay, and indicate WiFi connection status with green and red LEDs. The relay can be controlled via a web interface, and the red LED indicates WiFi disconnection while the green LED indicates a successful connection.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Smart Power Socket Controller with Current Sensing
Image of nas: A project utilizing ACS 712 in a practical application
This is a smart power monitoring and control system that uses an ESP32 microcontroller to read current values from an ACS712 sensor and control a load via a 5V relay. It features a 16x2 LCD for user interface, status indication LEDs, and is powered by a 12V supply with a rocker switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wemos S2 Mini Controlled Smart Device with OLED Display, Thermal Printing, and RGB LED Strip
Image of DT NEA - Noah Patel: A project utilizing ACS 712 in a practical application
This circuit features a Wemos S2 Mini microcontroller that controls a WS2812 RGB LED strip and communicates with a 0.96" OLED display and a 58mm mini thermal printer. The ACS712 Current Sensor is interfaced with the microcontroller to monitor current, and power is managed by a CD42 BMS connected to two 18650 Li-ion batteries, with a USB-C PD Trigger Board for power delivery. The circuit is designed for visual output (LED strip, OLED display), printing capabilities, and current sensing, likely for a portable, battery-powered monitoring and display device.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ACS 712

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of light monitoring system: A project utilizing ACS 712 in a practical application
Arduino and GSM-Based Power Monitoring and Wi-Fi Controlled Lighting System
This circuit is designed to monitor voltage and current using ACS712 current sensors and voltage sensors, calculate power, and control lighting via relay modules. It features an Arduino Uno R3 for processing sensor data and executing control logic, which includes sending alerts via a GSM module (sim 800l) if power falls below a threshold and connecting to WiFi using an ESP8266 module. The circuit also includes a battery with a charging module (TP4056), a step-up boost converter, and multiple AC power supplies with circuit breakers for safety.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of EXTENSION: A project utilizing ACS 712 in a practical application
ESP32C3 Smart Home Energy Monitor with Wi-Fi Control and LED Indicators
This circuit uses an ESP32C3 microcontroller to monitor power consumption via ACS712 current and voltage sensors, control appliances through a relay, and indicate WiFi connection status with green and red LEDs. The relay can be controlled via a web interface, and the red LED indicates WiFi disconnection while the green LED indicates a successful connection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of nas: A project utilizing ACS 712 in a practical application
ESP32-Based Smart Power Socket Controller with Current Sensing
This is a smart power monitoring and control system that uses an ESP32 microcontroller to read current values from an ACS712 sensor and control a load via a 5V relay. It features a 16x2 LCD for user interface, status indication LEDs, and is powered by a 12V supply with a rocker switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of DT NEA - Noah Patel: A project utilizing ACS 712 in a practical application
Wemos S2 Mini Controlled Smart Device with OLED Display, Thermal Printing, and RGB LED Strip
This circuit features a Wemos S2 Mini microcontroller that controls a WS2812 RGB LED strip and communicates with a 0.96" OLED display and a 58mm mini thermal printer. The ACS712 Current Sensor is interfaced with the microcontroller to monitor current, and power is managed by a CD42 BMS connected to two 18650 Li-ion batteries, with a USB-C PD Trigger Board for power delivery. The circuit is designed for visual output (LED strip, OLED display), printing capabilities, and current sensing, likely for a portable, battery-powered monitoring and display device.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Power monitoring in household appliances
  • Motor control and protection
  • Battery management systems
  • Solar power systems
  • Overcurrent detection in industrial equipment

Technical Specifications

The ACS 712 is available in different variants based on the current range: ±5A, ±20A, and ±30A. Below are the key technical details:

Parameter Value
Supply Voltage (Vcc) 4.5V to 5.5V
Output Voltage Range 0V to Vcc
Sensitivity (±5A version) 185 mV/A
Sensitivity (±20A version) 100 mV/A
Sensitivity (±30A version) 66 mV/A
Measurement Range ±5A, ±20A, or ±30A (depending on model)
Response Time 5 µs
Isolation Voltage 2.1 kV RMS
Operating Temperature -40°C to 85°C

Pin Configuration

The ACS 712 is typically available in an 8-pin SOIC package. Below is the pinout description:

Pin Number Pin Name Description
1, 2, 3 IP+ Current input terminal (positive side)
4, 5, 6 IP- Current input terminal (negative side)
7 Vcc Power supply (4.5V to 5.5V)
8 OUT Analog voltage output proportional to current

Usage Instructions

How to Use the ACS 712 in a Circuit

  1. Power the Sensor: Connect the Vcc pin to a 5V power supply and the GND pin to the ground.
  2. Connect the Current Path: Pass the current-carrying conductor through the IP+ and IP- terminals. Ensure the current does not exceed the sensor's rated range.
  3. Read the Output: The OUT pin provides an analog voltage proportional to the current. Use an ADC (Analog-to-Digital Converter) to read the output voltage.

Important Considerations

  • Calibration: The sensor's output voltage at 0A is typically Vcc/2 (e.g., 2.5V for a 5V supply). Subtract this offset to calculate the actual current.
  • Filtering: Add a capacitor (e.g., 0.1 µF) between the OUT pin and GND to reduce noise in the output signal.
  • Isolation: Ensure proper isolation between the high-current path and the low-voltage control circuitry.

Example: Using ACS 712 with Arduino UNO

Below is an example code to measure current using the ACS 712 sensor with an Arduino UNO:

// Define the analog pin connected to the ACS 712 OUT pin
const int sensorPin = A0;

// Define the sensitivity of the ACS 712 (e.g., 185 mV/A for ±5A version)
const float sensitivity = 0.185; // in volts per ampere

// Define the supply voltage (Vcc) and the zero-current offset
const float Vcc = 5.0; // in volts
const float zeroCurrentOffset = Vcc / 2; // 2.5V for a 5V supply

void setup() {
  Serial.begin(9600); // Initialize serial communication
}

void loop() {
  // Read the analog value from the sensor
  int sensorValue = analogRead(sensorPin);

  // Convert the analog value to voltage
  float sensorVoltage = (sensorValue / 1023.0) * Vcc;

  // Calculate the current in amperes
  float current = (sensorVoltage - zeroCurrentOffset) / sensitivity;

  // Print the current value to the Serial Monitor
  Serial.print("Current: ");
  Serial.print(current);
  Serial.println(" A");

  delay(1000); // Wait for 1 second before the next reading
}

Notes:

  • Replace the sensitivity value in the code with the appropriate value for your ACS 712 variant.
  • Ensure the current being measured does not exceed the sensor's rated range to avoid damage.

Troubleshooting and FAQs

Common Issues

  1. Incorrect Current Readings

    • Cause: Improper calibration or incorrect sensitivity value.
    • Solution: Verify the zero-current offset (Vcc/2) and use the correct sensitivity value for your sensor variant.
  2. No Output Signal

    • Cause: Faulty wiring or insufficient power supply.
    • Solution: Check all connections and ensure the Vcc pin is supplied with 5V.
  3. Noisy Output

    • Cause: Electrical noise or lack of filtering.
    • Solution: Add a capacitor (e.g., 0.1 µF) between the OUT pin and GND to filter noise.
  4. Overheating

    • Cause: Current exceeding the sensor's rated range.
    • Solution: Ensure the current through the sensor does not exceed its maximum rating.

FAQs

Q1: Can the ACS 712 measure both AC and DC currents?
Yes, the ACS 712 can measure both AC and DC currents. The output voltage varies proportionally with the instantaneous current.

Q2: How do I select the correct ACS 712 variant?
Choose the variant based on the maximum current you need to measure. For example, use the ±5A version for small currents and the ±30A version for larger currents.

Q3: What is the accuracy of the ACS 712?
The typical accuracy is ±1.5% of the full-scale reading, but this may vary depending on the operating conditions and calibration.

Q4: Can I use the ACS 712 with a 3.3V microcontroller?
Yes, but ensure the sensor's output voltage does not exceed the ADC input range of the microcontroller. You may need a voltage divider or level shifter.

By following this documentation, you can effectively integrate the ACS 712 into your projects for accurate current measurement.