NTC Thermistor Calculator
NTC thermistor resistance ↔ temperature by B (beta) value or Steinhart–Hart, with divider voltage, ADC counts, a table and self-heating (e.g. 10k B3950).
Formulas
- B equation: R(T) = R0 × exp(B × (1/T − 1/T0)), T and T0 in K (= °C + 273.15)
- B value = ln(R1/R2) ÷ (1/T1 − 1/T2) — for B25/100, the resistances at 25 °C and 100 °C
- Steinhart–Hart: 1/T = A + B·ln R + C·(ln R)³
- Divider (NTC at bottom): V = supply × R_NTC ÷ (R_fixed + R_NTC)
- ADC count = V ÷ V_REF × 2^bits (rounded down), self-heating ΔT = P ÷ δth, P = V_NTC² ÷ R_NTC
B equation or Steinhart–Hart?
- The B equation needs only two numbers (R25 and B), but TDK's technical information says it is accurate enough «only for a restricted range around the rated temperature». That is why the same part lists different B25/50 and B25/100 values.
- For a wide range, pick three points from the datasheet R/T table — both ends and the middle of your range — and fit Steinhart–Hart. It matches the table exactly at those points and follows it more closely than the B equation in between.
- The manufacturer's R/T table itself is the most accurate. This calculator approximates it.
Divider and ADC
- Choose the fixed resistor close to the NTC's resistance in the middle of the range you measure; the voltage then changes most there (10 kΩ for a 10 kΩ NTC used around 25 °C).
- If the ADC reference and the divider share the same supply (ratiometric), supply variations cancel out of the ADC count.
- The ATmega328P datasheet gives the 10-bit ADC as ADC = V_IN × 1024 ÷ V_REF, with 0x3FF meaning «V_REF minus one LSB». Most MCUs are similar, but check your chip's datasheet.
- A large measuring current heats the NTC itself, so it reads high. If the «self-heating» result is large compared with the accuracy you need, lower the supply or raise the fixed resistor.
FAQ
What is a 10k B3950 NTC at 0 °C?
About 33.6 kΩ by the B equation, and about 3.6 kΩ at 50 °C. The datasheet R/T table may differ slightly.
What is the difference between B25/85 and B25/100?
The two temperatures used to define B. They differ slightly for the same part; use the one closer to your working range.
How do I get temperature from an ADC reading?
Enter it in «Or ADC count → temperature»; the divider is solved backwards for the NTC resistance, then converted with the chosen equation.
Do industrial controllers with NTC inputs use the same math?
The resistance–temperature relation is the same, but which R/T curve (e.g. a given B value) the input assumes is in the instrument manual. A thermistor with a different curve reads wrong.
For Pt100 and thermocouples, use the Pt100 & Thermocouple Converter.
To pick the fixed resistor from standard values, use the Voltage Divider Calculator; for the size of one ADC count, the ADC Resolution Calculator.
Sources
- TDK (EPCOS), NTC thermistors — General technical information (2018-01): §3.1.1 formula 1, §3.1.2 B value, §3.2.3 dissipation factor
- J. S. Steinhart, S. R. Hart, «Calibration curves for thermistors», Deep-Sea Research 15(4), 1968, pp. 497–503
- Microchip, ATmega328P datasheet (7810D, 01/2015): §23.7 ADC Conversion Result