Table of Contents

LamaPLC: Allegro ACS758 Hall-effect linear current sensors

Allegro ACS758 Hall-effect linear current sensor The provided part numbers refer to specific models within the Allegro ACS758 series of Hall-effect linear current sensor integrated circuits (ICs), which primarily differ in their current-sensing range, sensitivity, and operating temperature range.

Part NumberCurrent RangeSensitivity (Typ.)Operating Temp. Range
ACS758LCB-050B (CJMCU-758)±50 Amps40 mV/A–40 to 150 °C
ACS758LCB-100B±100 Amps20 mV/A–40 to 150 °C
ACS758KCB-150B±150 Amps13.3 mV/A–40 to 125 °C
ACS758ECB-200B±200 Amps10 mV/A–40 to 85 °C

CJMCU-758 Pinout

Allegro ACS758 Hall-effect linear current sensor Low power

Power path

Directionality: For bidirectional (“B”) models, current can flow in either direction. For unidirectional (“U”) models, current must flow from IP+ to IP- for a positive voltage increase.

If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.

Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.

2026/02/14 22:38

Arduino code

This code reads a bidirectional sensor (such as the models you listed) and computes the DC current. It assumes a 5V Arduino and that the sensor is powered by 5V.

Select the mVperAmp value based on your specific ACS758 model:

const int sensorPin = A0;      // Pin connected to CJMCU-758 OUT
int mVperAmp = 40;             // Change to 20, 13.3, or 10 based on model
int ACSoffset = 2500;          // 2.5V (VCC/2) is the 0A midpoint for bidirectional sensors
 
void setup() {
  Serial.begin(9600);
}
 
void loop() {
  // 1. Read raw ADC value (0-1023)
  int rawValue = analogRead(sensorPin);
 
  // 2. Convert raw value to voltage in mV
  // 5000mV / 1024 ADC steps = 4.88mV per step
  double voltage = (rawValue / 1023.0) * 5000; 
 
  // 3. Subtract offset and divide by sensitivity to get Amps
  double current = (voltage - ACSoffset) / mVperAmp;
 
  Serial.print("Raw: "); Serial.print(rawValue);
  Serial.print(" | Voltage(mV): "); Serial.print(voltage);
  Serial.print(" | Current(A): "); Serial.println(current, 2);
 
  delay(500);
}

Key Considerations

CJMCU topics on lamaPLC

PageDateTags
2026/02/14 23:38, , , , , , , , , , , ,
2026/02/15 20:40, , , , , , , , , , , , , ,
2026/02/14 22:48, , , , , ,
2026/02/14 23:37, , , , , , , , , , ,
2026/02/14 22:40, , , , , , , , , ,
2026/02/14 22:39, , , , , , , , , , ,
2026/02/14 23:39, , , , , , , , , , , , ,
2026/02/14 22:16, , , , , , , , , , , , ,
2026/02/14 22:55, , , , ,
2026/02/14 22:09, , , , , , , , , , , , , , , ,
2026/02/14 22:52, , , , , , , ,
2026/02/14 22:53, , , , , , , , , , , , ,


This page has been accessed for: Today: 1, Until now: 142