Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use SparkFun ACS723 Low Current Sensor: Examples, Pinouts, and Specs

Image of SparkFun ACS723 Low Current SensorDesign with SparkFun ACS723 Low Current Sensor in Cirkit Designer

Introduction

The SparkFun ACS723 Low Current Sensor is a compact, high-precision device designed to measure AC or DC currents up to 25A. Utilizing the Hall effect, it detects the magnetic field induced by current flow, providing a means to monitor power consumption without direct electrical contact with the conductor. This sensor is commonly used in applications such as battery monitoring, over-current protection, and load detection.

Explore Projects Built with SparkFun ACS723 Low Current Sensor

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 Wemos S2 Mini Controlled Smart Device with OLED Display, Thermal Printing, and RGB LED Strip: A project utilizing SparkFun ACS723 Low Current Sensor 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.

Open Project in Cirkit Designer
Image of ESP32-Controlled Smart Lighting System with Power Monitoring: A project utilizing SparkFun ACS723 Low Current Sensor in a practical application
ESP32-Controlled Smart Lighting System with Power Monitoring

This circuit appears to be a multi-channel current monitoring system using several ACS712 current sensors to measure the current through different loads, likely bulbs connected to a 220V power source. The current readings from the sensors are digitized by an Adafruit ADS1115 16-bit ADC, which interfaces with an ESP32 microcontroller via I2C communication for further processing or telemetry. A buck converter is used to step down the voltage to power the ESP32 and the sensors, and the system is powered through a 2.1mm DC barrel jack, indicating it is designed for external power supply.

Open Project in Cirkit Designer
Image of ESP32-Based Current Monitoring and Temperature Sensing System: A project utilizing SparkFun ACS723 Low Current Sensor in a practical application
ESP32-Based Current Monitoring and Temperature Sensing System

This circuit is designed to measure current using an ACS712 Current Sensor and temperature using a DS18B20 sensor, with an ESP32 microcontroller to process and possibly communicate the sensor data. The ACS712 sensor output is connected to one of the ESP32's analog input pins (D34), while the DS18B20's signal line is interfaced with a digital input pin (D23) through a pull-up resistor (4.7k Ohms). The ESP32 is powered through its Vin pin, and both sensors share a common ground with the ESP32.

Open Project in Cirkit Designer

Technical Specifications

Key Technical Details

Pin Configuration and Descriptions

Pin Number Name Description
1 Vcc Power supply input (4.5V to 5.5V)
2 OUT Analog voltage output proportional to the current
3 GND Ground reference for power supply
4 IP+ Current input (positive)
5 IP- Current input (negative)

Usage Instructions

Integration into a Circuit

To use the ACS723 sensor in a circuit, follow these steps:

  1. Connect the Vcc pin to a 4.5V to 5.5V power supply.
  2. Connect the GND pin to the common ground of your system.
  3. Place the conductor carrying the current to be measured between the IP+ and IP- pins.
  4. Connect the OUT pin to an analog input on your microcontroller to read the voltage proportional to the current.

Important Considerations and Best Practices

Example Code for Arduino UNO

// SparkFun ACS723 Low Current Sensor Example Code for Arduino UNO

const int analogInPin = A0; // Analog input pin connected to ACS723 OUT pin
float sensorValue = 0;      // Variable to store the sensor value
float current = 0;          // Variable to store the current value (Amps)

void setup() {
  Serial.begin(9600); // Initialize serial communication at 9600 bits per second
}

void loop() {
  // Read the sensor value
  sensorValue = analogRead(analogInPin);
  
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V)
  float voltage = sensorValue * (5.0 / 1023.0);
  
  // Convert the voltage to current using the sensitivity (400 mV/A)
  current = (voltage - 2.5) / 0.4; // Subtract the offset (2.5V at 0A) and divide by sensitivity
  
  // Print the current to the Serial Monitor
  Serial.print("Current: ");
  Serial.print(current);
  Serial.println(" A");
  
  // Wait for a bit to not overload the serial port
  delay(500);
}

Troubleshooting and FAQs

Common Issues

Solutions and Tips for Troubleshooting

FAQs

Q: Can the ACS723 sensor measure AC current? A: Yes, the ACS723 can measure both AC and DC currents.

Q: What is the resolution of the sensor? A: The resolution depends on the analog-to-digital converter (ADC) of the microcontroller. For a 10-bit ADC with a 5V reference, the resolution is approximately 4.88 mA per bit.

Q: How do I adjust the code for different microcontroller ADC resolutions? A: Change the 5.0 / 1023.0 in the voltage calculation to match your microcontroller's ADC reference voltage and resolution.

Q: Is the sensor isolated from the high current path? A: Yes, the ACS723 provides galvanic isolation between the current path and the sensor's output.