TestBench.tools

PT100 / PT1000 Calculator

RTD resistance ↔ temperature per IEC 60751 (Callendar-Van Dusen).

R(T) = R0·(1 + A·T + B·T²)
A = 3.9083×10⁻³ · B = −5.775×10⁻⁷

Resistance
138.5055 Ω

This tool converts platinum RTD resistance to temperature and back for PT100 and PT1000 sensors, using the IEC 60751 Callendar-Van Dusen equation over 0…850 °C. Reference points: 100 °C ↔ 138.5055 Ω, and a measured 108.5 Ω ↔ 21.8189 °C on a PT100.

How it works

Platinum resistance rises almost — but not exactly — linearly with temperature. IEC 60751 captures the curvature with R(T) = R0·(1 + A·T + B·T²) for T ≥ 0 °C, where A = 3.9083×10⁻³ and B = −5.775×10⁻⁷. Because that is a quadratic in T, the reverse direction has a closed-form solution via the quadratic formula — this calculator uses it directly, so resistance → temperature → resistance round-trips to within 10⁻⁵ Ω.

The negative branch of the standard (with its additional C coefficient) is intentionally not implemented; out-of-range inputs are refused with the supported range stated.

Worked example

PT100 · T = 100 °C
R = 100 × (1 + 3.9083×10⁻³·100 − 5.775×10⁻⁷·100²)
  = 138.5055 Ω

measured R = 108.5 Ω → T = 21.8189 °C

Parameters

ParameterValueNotes
StandardIEC 60751Callendar-Van Dusen
A3.9083 × 10⁻³ °C⁻¹
B−5.775 × 10⁻⁷ °C⁻²
R0100 Ω (PT100) / 1000 Ω (PT1000)
Range0 … 850 °CT < 0 branch (C term) not implemented

Python implementation

Python
# IEC 60751 Callendar-Van Dusen, T >= 0 °C
A, B = 3.9083e-3, -5.775e-7

def rtd_resistance(t, r0=100.0):
    return r0 * (1 + A*t + B*t*t)

def rtd_temperature(r, r0=100.0):
    return (-A + ((A*A - 4*B*(1 - r/r0)) ** 0.5)) / (2*B)

assert abs(rtd_resistance(100) - 138.5055) < 1e-3
assert abs(rtd_temperature(108.5) - 21.8189) < 1e-3

FAQ

Which equation and coefficients are used?

The IEC 60751 Callendar-Van Dusen equation for T ≥ 0 °C: R(T) = R0·(1 + A·T + B·T²), with A = 3.9083×10⁻³ and B = −5.775×10⁻⁷. Temperature from resistance is the exact quadratic inverse, not a lookup-table approximation.

Why is the range limited to 0…850 °C?

Below 0 °C the standard adds a C-term quartic, a different equation branch that this calculator does not yet implement. Above 850 °C is outside the IEC 60751 platinum range. Inputs outside the supported range are rejected explicitly rather than silently extrapolated.

What is the difference between PT100 and PT1000?

Only R0, the resistance at 0 °C: 100 Ω versus 1000 Ω. The temperature coefficients are identical, so a PT1000 reads exactly ten times the resistance of a PT100 at every temperature — 1385.055 Ω instead of 138.5055 Ω at 100 °C.

My meter shows 108.5 Ω on a PT100 — what temperature is that?

21.8189 °C. A handy field rule: near room temperature a PT100 changes by roughly 0.39 Ω per °C, so 108.5 Ω sits about 22 °C above the 100 Ω ice point — the exact quadratic confirms it.

Is my data uploaded?

No. The equation is evaluated locally in your browser.

Related tools