

The ACS758 is a Hall-effect current sensor designed for accurate and reliable current measurement in both AC and DC applications. It provides galvanic isolation, making it ideal for use in systems where electrical isolation is critical. The sensor outputs an analog voltage proportional to the current flowing through its primary conductor, enabling real-time monitoring of current in various applications.








The ACS758 is available in multiple variants to support different current ranges. Below are the key technical details:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 3.0V to 5.5V |
| Current Measurement Range | ±50A, ±100A, ±150A, ±200A (depending on model) |
| Sensitivity | 20mV/A to 40mV/A (model-dependent) |
| Output Voltage Range | 0.5V to 4.5V (nominal) |
| Isolation Voltage | 3.0kV RMS |
| Response Time | 4 µs |
| Operating Temperature Range | -40°C to +150°C |
The ACS758 is typically available in a 5-pin package. Below is the pinout description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Vcc | Power supply input (3.0V to 5.5V) |
| 2 | GND | Ground |
| 3 | VIOUT | Analog output voltage proportional to current |
| 4 | IP+ | Positive current input terminal |
| 5 | IP- | Negative current input terminal |
Below is an example of how to interface the ACS758 with an Arduino UNO to measure current:
// Example code to read current using ACS758 and Arduino UNO
const int sensorPin = A0; // Connect VIOUT of ACS758 to Arduino A0
const float sensitivity = 0.04; // Sensitivity in V/A (e.g., 40mV/A for ±50A model)
const float offsetVoltage = 2.5; // Output voltage at 0A (for 5V supply)
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(sensorPin, INPUT); // Set sensor pin as input
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read ADC value (0-1023)
float voltage = (sensorValue / 1023.0) * 5.0; // Convert ADC value to voltage
float current = (voltage - offsetVoltage) / sensitivity;
// Calculate current based on sensitivity and offset
Serial.print("Current: ");
Serial.print(current, 2); // Print current with 2 decimal places
Serial.println(" A"); // Append unit (Amperes)
delay(500); // Wait for 500ms before next reading
}
sensitivity and offsetVoltage values based on the specific ACS758 variant and supply voltage.No Output or Incorrect Readings
Fluctuating Output Voltage
Output Voltage Does Not Change with Current
High Offset Voltage
Q: Can the ACS758 measure both AC and DC currents?
A: Yes, the ACS758 can measure both AC and DC currents with high accuracy.
Q: How do I select the correct ACS758 variant?
A: Choose a variant based on the maximum current you need to measure. For example, use the ±50A model for currents up to 50A.
Q: What is the typical accuracy of the ACS758?
A: The typical accuracy is ±1% of the full-scale current, depending on the variant and operating conditions.
Q: Can I use the ACS758 with a 3.3V microcontroller?
A: Yes, the ACS758 operates with a supply voltage as low as 3.0V, making it compatible with 3.3V systems.
Q: Is the ACS758 suitable for high-frequency current measurement?
A: The ACS758 has a response time of 4 µs, making it suitable for most applications, but it may not be ideal for very high-frequency signals.
By following this documentation, you can effectively integrate the ACS758 into your projects for accurate current measurement.