4-20 mA loop scaling calculator
The 4 mA live zero is what makes the loop diagnosable: zero milliamps means a broken wire, not a zero reading. It also means the span is 16 mA, not 20.
mA
ohm
Process value
50
- Percentage of span
- 50.0000 %
- Current for your process value
- 16.0000 mA
- Voltage across the sense resistor
- 3.0000 V
- Engineering units per milliamp
- 6.25
- Signal is within a valid range
- 1
- Error from forgetting the live zero
- 10
Show the working
- Loop current = 12
- Range at 4 mA = 0
- Range at 20 mA = 100
- Or a process value to convert = 75
- Sense resistor = 250
- span = 100 - 0 = 100
- fraction = (12 - 4) / 16 = 0.5
- Process value = 0 + 0.5 * 100 = 50
- Percentage of span = 0.5 * 100 = 50
- Current for your process value = 100 != 0 ? 4 + (75 - 0) / 100 * 16 : 0 = 16
- Voltage across the sense resistor = 12 / 1000 * 250 = 3
- Engineering units per milliamp = 100 / 16 = 6.25
- Signal is within a valid range = 12 >= 3.8 && 12 <= 20.5 ? 1 : 0 = 1
- naive_value = 0 + 12/20 * 100 = 60
- Error from forgetting the live zero = 60 - 50 = 10
Values are shown to six significant figures here; the arithmetic itself runs on exact fractions and is only rounded where a number is printed.
Scenarios & local history
Compare a saved scenario
Recent calculations
The formula
- value = low + (mA - 4) / 16 x span
- mA = 4 + (value - low) / span x 16
- a 250 ohm resistor turns 4-20 mA into 1-5 V
Dividing by 20 instead of subtracting the 4 mA offset first is the classic scaling bug. At mid-scale it reads 20% high.
A reading below about 3.6 mA usually indicates a fault; many transmitters drive 3.5 or 21 mA deliberately to signal one.