Thermistor calculator: 100k NTC and PT1000 resistance to temperature

A 100k NTC thermistor reads 100 kΩ at 25 °C and drops as it heats. A PT1000 reads 1,000 Ω at 0 °C and rises. Pick the sensor and type a meter reading to get the temperature, or a temperature to get the resistance, plus the sensor's Klipper and Marlin names.

Convert

Measure with the printer off and the sensor unplugged from the board.

Ω

In ohms: type 92 kΩ as 92000 and 1.097 kΩ as 1097.

Sensor

Each thermistor uses the curve Klipper defines for it. PT100 and PT1000 use the IEC 60751 equation.

Temperature

–

In Fahrenheit

–

At room temperature (20 to 30 °C)

–

Klipper sensor_type

–

Marlin TEMP_SENSOR

–

Maker's rated maximum

–

The formula

An NTC (negative temperature coefficient) thermistor loses resistance as it heats. Klipper converts it with the Steinhart-Hart equation, with T in kelvin and R in ohms:

1/T = c1 + c2 × ln(R) + c3 × ln(R)³
T (°C) = T (K) − 273.15

Klipper defines each stock thermistor by three temperature and resistance points, then solves for c1, c2 and c3. Its Generic 3950 curve passes through 100 kΩ at 25 °C, 1,770 Ω at 150 °C and 230 Ω at 250 °C. The Honeywell and MGB18 sensors use a beta instead, which is the same equation with c3 = 0:

1/T = 1/298.15 + ln(R / R25) / B
R   = R25 × e^(B × (1/T − 1/298.15))

A platinum resistance temperature detector (RTD), the PT100 or PT1000, gains resistance as it heats. The IEC 60751 Callendar-Van Dusen equation gives its resistance, with R0 the reading at 0 °C (100 or 1,000 Ω):

R(t) = R0 × (1 + A·t + B·t²)                     0 to 850 °C
R(t) = R0 × (1 + A·t + B·t² + C·(t − 100)·t³)    −200 to 0 °C

A = 3.9083 × 10⁻³    B = −5.775 × 10⁻⁷    C = −4.183 × 10⁻¹²

The calculator inverts both exactly: Cardano’s formula for the Steinhart-Hart cubic, as Klipper does, and the quadratic for an RTD above 0 °C. Below 0 °C it solves the RTD equation numerically.

How do you convert thermistor resistance to temperature?

Take the natural log of the resistance in ohms and put it into the Steinhart-Hart equation, 1/T = c1 + c2 ln R + c3 (ln R)³, with your sensor’s coefficients. Invert the result to get kelvin and subtract 273.15. On Klipper’s Generic 3950 curve, 92 kΩ works out to 300.13 K, which is 26.98 °C.

Worked example: 92 kΩ on a Generic 3950 thermistor

Klipper’s three points for Generic 3950 give c1 = 7.9347 × 10⁻⁴, c2 = 2.0076 × 10⁻⁴ and c3 = 1.6328 × 10⁻⁷.

  1. ln(92,000) = 11.4295.
  2. c2 × ln R = 2.0076 × 10⁻⁴ × 11.4295 = 0.0022946.
  3. c3 × (ln R)³ = 1.6328 × 10⁻⁷ × 1,493.09 = 0.0002438.
  4. 1/T = 0.00079347 + 0.0022946 + 0.0002438 = 0.0033319 per kelvin.
  5. T = 1 / 0.0033319 = 300.13 K = 26.98 °C, or 80.56 °F.

Near room temperature the 100k curves agree within 0.21 °C: the same 92 kΩ reads 26.77 °C on the ATC Semitec 104GT-2 curve. At hotend temperatures they spread much further apart, as the table below shows.

Beta 3950 and “NTC 100K B3950”

B3950 means a beta of 3950 K. Keenovo’s table for its 100 kΩ, B 3950 thermistor gives that B value between 25 and 50 °C, and Klipper’s Generic 3950 curve follows the table.

A plain beta of 3950 tracks the table near room temperature but drifts at hotend heat. At 200 °C it gives 744.6 Ω where the table curve gives 581.3 Ω, so a beta-only setup reading 581.3 Ω would show 214.5 °C. Pick “Other NTC” in the calculator to see what a seller’s R25 and B describe.

What should a 100k thermistor read at room temperature?

A 100k thermistor reads 100 kΩ at exactly 25 °C, since that is what the rating means. Between 20 and 30 °C, the common 100k curves run from about 79 to 127 kΩ. Prusa’s multimeter guide gives 80 to 125 kΩ for that range. A reading far outside it points to a wiring fault or a different sensor.

100k thermistor resistance table

Resistance at common temperatures, from each sensor’s Klipper definition.

Temperature Generic 3950 EPCOS B57560G104F Semitec 104GT-2 Semitec 104NT-4 Honeywell 135-104LAG MGB18-104F39050L32
20 °C 123.9 kΩ 125.4 kΩ 126.8 kΩ 126.9 kΩ 125.5 kΩ 126.4 kΩ
25 °C 100.0 kΩ 100.0 kΩ 99.94 kΩ 100.0 kΩ 100.0 kΩ 100.0 kΩ
30 °C 81.13 kΩ 80.26 kΩ 79.31 kΩ 79.33 kΩ 80.26 kΩ 79.71 kΩ
50 °C 36.89 kΩ 35.30 kΩ 33.47 kΩ 33.46 kΩ 35.66 kΩ 34.51 kΩ
100 °C 6.872 kΩ 6.343 kΩ 5.557 kΩ 5.571 kΩ 6.863 kΩ 6.304 kΩ
150 °C 1.770 kΩ 1.642 kΩ 1.360 kΩ 1.371 kΩ 1.950 kΩ 1.721 kΩ
200 °C 581 Ω 553 Ω 439 Ω 446 Ω 723 Ω 618 Ω
250 °C 230 Ω 226 Ω 174 Ω 178 Ω 324 Ω 270 Ω
300 °C 105 Ω 107 Ω 80.6 Ω 82.8 Ω 167 Ω 136 Ω

Near 25 °C the Generic 3950 curve changes by 4.1 kΩ per degree. Klipper defines the 104GT-2 from Semitec’s 126.8 kΩ at 20 °C, so its curve lands at 99.94 kΩ at 25 °C.

At 250 °C the curves run from 174 to 324 Ω. A Generic 3950 at 250 °C reads 230 Ω, which the 104GT-2 curve calls 234 °C and the Honeywell curve 274.7 °C. The wrong sensor type puts a hotend reading off by 16 to 25 °C.

The Slice Engineering 450 °C thermistor is a 500 kΩ part: 500.0 kΩ at 25 °C, 3.734 kΩ at 200 °C, 760 Ω at 300 °C, 240 Ω at 400 °C and 151 Ω at 450 °C.

Open circuit or short

  • Megohms or OL (the meter’s over-limit display): an open circuit, such as a broken wire or a loose connector. Firmware reads it as very cold. Prusa’s MK3 shows 0 °C for a disconnected thermistor and stops with MINTEMP below 10 °C.
  • Near 0 Ω: a short, often from pinched or bare wires. Firmware reads it as very hot. Prusa lists a damaged thermistor cable as one cause of a MAXTEMP error.
  • About 1 kΩ on a “100k” sensor: it may be a PT1000, which reads 1,077.94 to 1,116.73 Ω at 20 to 30 °C.

How to measure a thermistor

  1. Turn the printer off and let the hotend or bed cool to room temperature.
  2. Unplug the thermistor from the board, as Prusa’s guide requires.
  3. Set the meter to the lowest range that covers 150 kΩ, usually 200k.
  4. Probe the connector’s two pins and type the reading into the calculator in ohms.
  5. Check both thermistors. Prusa notes that if they differ, one is probably faulty.

Klipper and Marlin sensor types

A 100k thermistor is an NTC rated at 100 kΩ at 25 °C. The EPCOS, Semitec and Honeywell parts are glass-encapsulated with two leads, and a 3D printer usually has one in the hotend’s heater block and one on the bed. The board reads each through a pullup resistor (4.7 kΩ by default in Klipper and Marlin) and turns the voltage into a temperature with the curve you name in firmware.

Sensor Klipper sensor_type Marlin TEMP_SENSOR B value (source) Rated range
Generic 3950 Generic 3950 11 3950 K (B25/50, Keenovo) not published
EPCOS 100K B57560G104F EPCOS 100K B57560G104F 1 4092 K (B25/100) −55 to 300 °C
ATC Semitec 104GT-2 ATC Semitec 104GT-2 5 4267 K (B25/85) −50 to 300 °C
ATC Semitec 104NT-4-R025H42G ATC Semitec 104NT-4-R025H42G 5 4267 K (B25/85) −50 to 300 °C
Honeywell 135-104LAG-J01 Honeywell 100K 135-104LAG-J01 7 3974 K (Klipper, Marlin) −60 to 300 °C
NTC 100K MGB18-104F39050L32 NTC 100K MGB18-104F39050L32 75 4100 K (Klipper, Marlin) not published
Slice Engineering 450 °C (500 kΩ) SliceEngineering 450 67 3800 K (Marlin) up to 450 °C
PT1000 PT1000 (4.7 kΩ pullup) or MAX31865 1047 or −5 none set by the probe maker
PT100 MAX31865 or PT100 INA826 −5 or 147 none set by the probe maker

Marlin converts with lookup tables and Klipper with equations. Read through Marlin’s 4.7 kΩ divider, tables 1, 5 and 7 land within about 1 °C of Klipper’s curves up to 200 °C. Marlin lists Slice Engineering’s 300 °C thermistor under 5 as well.

Table 11 is the exception. Marlin names Keenovo, but the table follows a plain beta of 3950. It matches Klipper’s Generic 3950 within 0.4 °C up to 100 °C, and near 200 °C the two read the same resistance 11 °C apart.

100k thermistor in Klipper

Type the sensor_type string exactly as Klipper spells it, for example sensor_type: Generic 3950 under [extruder]. For an NTC 100K B3950 sold with only an R25 and a beta, define a custom thermistor above the heater section instead:

[thermistor my_3950]
temperature1: 25
resistance1: 100000
beta: 3950

[heater_bed]
sensor_type: my_3950

In Marlin the same thermistor is TEMP_SENSOR 1000, with the resistance at 25 °C and the beta set in Configuration_adv.h.

100k thermistor max temp

EPCOS, ATC Semitec and Honeywell rate their glass 100k thermistors to 300 °C. Slice Engineering’s 450 °C thermistor “accurately measures up to 450°C”, and the company now sells a 300 °C part. Keenovo’s 3950 table stops at 300 °C and states no limit, and no maker figure turned up for the MGB18. The calculator warns above any published maximum.

What is the resistance of a PT1000 at room temperature?

By the IEC 60751 equation, a PT1000 reads 1,000 Ω at 0 °C, 1,077.94 Ω at 20 °C and 1,097.35 Ω at 25 °C. It gains about 3.88 Ω per degree, so 20 to 30 °C spans 1,077.94 to 1,116.73 Ω. A PT100 reads one tenth of those values: 109.73 Ω at 25 °C.

Temperature PT100 PT1000
−50 °C 80.31 Ω 803.06 Ω
0 °C 100.00 Ω 1,000.00 Ω
20 °C 107.79 Ω 1,077.94 Ω
25 °C 109.73 Ω 1,097.35 Ω
50 °C 119.40 Ω 1,193.97 Ω
100 °C 138.51 Ω 1,385.05 Ω
150 °C 157.33 Ω 1,573.25 Ω
200 °C 175.86 Ω 1,758.56 Ω
250 °C 194.10 Ω 1,940.98 Ω
300 °C 212.05 Ω 2,120.52 Ω
400 °C 247.09 Ω 2,470.92 Ω

IEC Class B allows ±(0.3 + 0.005 × |t|) °C, so at 0 °C a PT100 may read 100 ± 0.12 Ω, per TI’s tolerance table. On a PT1000 that is ±1.2 Ω.

PT100 and PT1000 resistance formula

Put the temperature into R = R0 × (1 + A·t + B·t²). For a PT1000 at 25 °C:

  1. A·t = 0.0039083 × 25 = 0.0977075.
  2. B·t² = −5.775 × 10⁻⁷ × 625 = −0.0003609.
  3. R = 1,000 × (1 + 0.0977075 − 0.0003609) = 1,097.35 Ω.

A PT100 uses R0 = 100 Ω and gives 109.73 Ω. To go back from a reading at or above R0, solve the quadratic: t = (−A + √(A² − 4B(1 − R/R0))) / 2B. A PT1000 reading 1,100 Ω is at 25.68 °C.

Klipper’s PT1000 and MAX31865 converter code uses A and B only, which matches IEC 60751 at and above 0 °C. Its direct PT1000 table runs from 0 to 490 °C in 10 °C steps.

Built by 3D Calculators Team· Published · Figures last checked

Sources

  1. Klipper, klippy/extras/temperature_sensors.cfg (stock thermistor definitions) (accessed 2026-11-03)
  2. Klipper, klippy/extras/thermistor.py (Steinhart-Hart and beta math) (accessed 2026-11-03)
  3. Klipper, klippy/extras/adc_temperature.py (PT1000 table) (accessed 2026-11-03)
  4. Klipper, klippy/extras/spi_temperature.py (MAX31865 RTD conversion) (accessed 2026-11-03)
  5. Klipper documentation, Configuration reference (sensor_type, [thermistor]) (accessed 2026-11-03)
  6. Marlin 2.1.2.9, Configuration.h (temperature sensor list) (accessed 2026-11-03)
  7. Marlin 2.1.2.9, Configuration_adv.h (custom thermistor 1000) (accessed 2026-11-03)
  8. Marlin 2.1.2.9, thermistor tables (R25 and beta25 per table) (accessed 2026-11-03)
  9. EPCOS (TDK), NTC thermistors for temperature measurement, glass-encapsulated sensors B57560G, B57560G1 (accessed 2026-11-03)
  10. ATC Semitec, GT thermistor datasheet (104GT-2) (accessed 2026-11-03)
  11. ATC Semitec, NT series glass NTC thermistor datasheet (104NT-4-R025H42G) (accessed 2026-11-03)
  12. Honeywell, 135 Series thermistors (glass-encapsulated DO-35, −60 °C to 300 °C) (accessed 2026-11-03)
  13. Keenovo, NTC thermistor R-T table (R25 100 kΩ, B25/50 3950) (accessed 2026-11-03)
  14. Slice Engineering, Thermistor: High Temperature, 300 °C and 450 °C versions (archived January 2022) (accessed 2026-11-03)
  15. Slice Engineering, Thermistor (current 300 °C version) (accessed 2026-11-03)
  16. Vishay Beyschlag, PTS platinum thin film chip RTD datasheet (IEC 60751 coefficients) (accessed 2026-11-03)
  17. Texas Instruments, SBAA275A, A Basic Guide to RTD Measurements (accessed 2026-11-03)
  18. Prusa Knowledge Base, Multimeter usage (thermistor resistance) (accessed 2026-11-03)
  19. Prusa Knowledge Base, MINTEMP error and MINTEMP BED (accessed 2026-11-03)
  20. Prusa Knowledge Base, MAXTEMP error (accessed 2026-11-03)