Thermocouple vs RTD vs Thermistor: Choosing a Temperature Sensor

Thermocouple, RTD and thermistor work on different physics and each wins in a different corner of the range, accuracy and cost triangle. This guide compares them, gives a four-question selection routine, and shows the wiring and code for reading each one on a microcontroller.

Written by Projectech9 min readPublished
For Electronics, IoT and Mechatronics students choosing a temperature sensor for a project, or interfacing one with Arduino or ESP32 Topics: Temperature Sensors, Thermocouple, RTD, Thermistor
Technical illustration comparing three temperature sensors: a thermocouple probe, a platinum RTD element, and a small bead thermistor, with a temperature scale beside them.
Illustration generated for this guide.
In this guide

Every temperature project hits the same question before a single wire is connected: thermocouple, RTD, or thermistor? Pick wrong and you get a sensor that cannot reach your temperature, cannot see the change you care about, or needs signal conditioning you did not plan for.

The three sensors work on completely different physics, and each one wins in a different corner of the range–accuracy–cost triangle. This guide compares them properly, gives you a four-question selection routine, and shows the wiring and code for each one on a microcontroller.

The three sensors, in one paragraph each

Thermocouple. Two dissimilar metal wires joined at one end. Heat the junction and it generates a tiny voltage — the Seebeck effect. The voltage is small (tens of microvolts per degree) and depends on the temperature difference between the hot junction and the cold junction where the wires meet your circuit, so you need cold-junction compensation. Type K (chromel–alumel) is the common student choice, usable roughly from −200 °C to 1,260 °C. Cheap, rugged, and the only one of the three that handles furnace temperatures — but the least accurate of the three.

RTD (Resistance Temperature Detector). A piece of platinum whose resistance rises predictably with temperature — the Pt100 is 100 Ω at 0 °C and about 138.5 Ω at 100 °C. It is the accuracy champion: a Class A Pt100 is typically within ±0.15 °C at 0 °C. Range is roughly −200 °C to 850 °C for a Pt100. The trade-offs are cost, a slow response (the platinum element has thermal mass), and sensitivity to lead-wire resistance, which is why 3-wire and 4-wire connections exist.

Thermistor. A ceramic resistor whose resistance changes strongly with temperature — an NTC thermistor's resistance falls as it gets hotter. A common 10 kΩ NTC changes by roughly 4% per degree near room temperature, which makes it the most sensitive of the three and the easiest to read with a plain ADC. The catch is range (typically −50 °C to 150 °C) and a strongly non-linear resistance curve that needs a formula to convert, plus self-heating if you push too much current through it.

Comparison table

Thermocouple (Type K) RTD (Pt100) Thermistor (10 kΩ NTC)
Typical range −200 to 1,260 °C −200 to 850 °C −50 to 150 °C
Typical accuracy ±2 °C or so ±0.15–0.3 °C (Class A/B) ±0.5–1 °C with a good conversion
Sensitivity ~41 µV/°C ~0.39 Ω/°C ~4% resistance per °C
Response time Fast (small junction) Slow (thermal mass) Fast (tiny bead)
Output Millivolt signal Resistance Resistance
Interface Needs amplifier + cold-junction compensation Needs current source or bridge + ADC Simple voltage divider + ADC
Cost Low Highest of the three Lowest
Best for Furnaces, exhausts, wide ranges Calibration, precision measurement Room-temperature sensing, battery packs, enclosures

Treat the accuracy figures as typical values for common parts, not guarantees — always check the datasheet of the exact part you buy.

The four-question selection routine

Answer these in order, and the sensor usually picks itself:

  1. How hot does it get? Above ~150 °C, the thermistor is out. Above ~850 °C, the RTD is out. Only the thermocouple survives furnace and exhaust temperatures.
  2. How accurate must the reading be? If you need better than ±0.5 °C, the RTD is the honest choice. If ±2 °C is fine, a thermocouple or thermistor will do — and costs less.
  3. How fast does the temperature change? A thermocouple junction or a thermistor bead tracks a fast change; an RTD in a metal sheath lags behind it. For control loops, a slow sensor means a slow, oscillating loop.
  4. What can your circuit actually read? A thermistor needs only a resistor and an ADC pin. An RTD needs a stable current source or a bridge. A thermocouple needs an amplifier with cold-junction compensation. If your board has a spare ADC pin and nothing else, the thermistor wins by default.

Wiring and reading each sensor

Thermistor: a divider and one ADC pin

Connect the thermistor in series with a fixed resistor (10 kΩ for a 10 kΩ NTC) between 3.3 V and ground, and read the midpoint with the ADC. Convert resistance to temperature with the Steinhart–Hart equation or its simpler Beta form. The Beta value is a datasheet figure — 3950 K is a common nominal value for 10 kΩ NTCs, but use the value from your part's datasheet.

import math

BETA = 3950.0      # from your thermistor's datasheet (example value)
R0 = 10000.0       # resistance at 25 C, ohms
T0 = 298.15         # 25 C in kelvin
R_FIXED = 10000.0  # series resistor, ohms
V_REF = 3.3

def read_temperature(adc_value, adc_max=4095):
    v_out = adc_value / adc_max * V_REF
    r_therm = R_FIXED * v_out / (V_REF - v_out)
    inv_t = 1.0 / T0 + (1.0 / BETA) * math.log(r_therm / R0)
    return 1.0 / inv_t - 273.15

Keep the divider current small — a few hundred microamps at most — or the thermistor heats itself and reads high. If the reading drifts upward over minutes with no real temperature change, self-heating is the first suspect.

RTD: three wires beat two

A Pt100 changes by only 0.39 Ω per degree, so the resistance of the wires connecting it matters. A 2-wire connection adds the lead resistance to the measurement — a metre of thin wire can add an error of a degree or more. A 3-wire connection lets the measuring circuit cancel most of the lead resistance; a 4-wire connection cancels it properly. For a student project, use a dedicated RTD-to-digital converter module (the MAX31865 is a common one) rather than building the bridge and amplifier yourself — it handles the current source, the ADC and the lead compensation in one chip.

Thermocouple: use a converter module

A thermocouple's output is millivolts, and it is referenced to the cold junction — the temperature where its wires meet your board. Reading it accurately means amplifying microvolts and measuring the board temperature at the same time. Dedicated converter modules (the MAX31855 is the common one for Type K) do both and give you a digital temperature over SPI. Do not connect a thermocouple directly to an ADC pin: the signal is too small and the cold-junction error will dominate the reading.

Common mistakes

  1. Reading a thermocouple without cold-junction compensation. The voltage tells you the difference between the two junctions, not the absolute temperature. Without compensation, a warm room shifts every reading.
  2. Using a thermistor past its range. Above ~150 °C most NTCs drift permanently. The sensor survives; its calibration does not.
  3. 2-wire RTD wiring over long cables. Lead resistance adds directly to the reading. Use 3-wire or 4-wire, or keep the leads short.
  4. Self-heating the thermistor. Too much divider current warms the bead. Use a high-value series resistor and read briefly, not continuously, if power allows.
  5. Ignoring the datasheet Beta value. Two 10 kΩ NTCs from different makers can have different Beta values. Using a generic 3950 K when your part is 3435 K gives errors of several degrees at the extremes.
  6. Measuring air temperature with a sensor touching a wall. The sensor measures its own temperature. If it is pressed against a hot surface or sitting in still air inside an enclosure, it reports that, not the air you meant to measure. Give it airflow and keep it off surfaces.

A practical test before you commit

Before finalizing your choice, test the sensor against something you know: an ice-water bath (0 °C) and boiling water (100 °C at sea level, lower at altitude). A sensor that reads 0 °C and 100 °C within its stated accuracy at those two points is wired and converted correctly. If it reads 8 °C in ice water, the problem is in your wiring, your conversion formula, or your cold-junction handling — not in the sensor. Record both readings in your project log; they are the cheapest calibration evidence you will ever get.

FAQ

Can I use a thermocouple for room temperature?
You can, but it is the wrong tool: ±2 °C accuracy on a 25 °C room is an 8% error, and you need a converter module. A thermistor costs less and reads room temperature far better.

Why is my thermistor reading noisy?
Usually a high-impedance divider next to switching noise — long wires, no filtering, or a power supply ripple. Keep the leads short, add a small capacitor at the ADC pin, and average several readings.

Do I need a special connector for a thermocouple?
Yes, if accuracy matters: thermocouple extension wire and connectors must be made of the same metals, or the connector itself becomes an extra junction that adds an error. For a student prototype, keep the thermocouple wires continuous from the sensor to the converter module.

Which sensor is best for a battery-temperature project?
A thermistor. Battery packs sit in the −20 °C to 60 °C range, need fast response and low cost, and a bead thermistor tapes neatly to a cell. This is also why battery management systems use them.

Can one microcontroller read all three sensor types?
Yes — a thermistor on an ADC pin, an RTD through a converter module, and a thermocouple through a converter module can all share one board. The question is whether the project needs all three, or whether one sensor type is the right answer.

Limitations

  • Accuracy and range figures in this guide are typical values for common parts. The exact part you buy has its own datasheet figures — check them before quoting numbers in your report.
  • The Beta-form conversion is an approximation. For accuracy better than about ±1 °C across a wide range, use the full Steinhart–Hart equation with coefficients fitted to your part, or a lookup table from its datasheet.
  • Boiling-water calibration depends on altitude and atmospheric pressure. At 100 °C the value is exact only near sea level — note your location when you record the test.
  • Thermocouple accuracy degrades with age at high temperature as the metals drift. A Type K that has lived at 1,000 °C for months is not the sensor it was when new.

Where to go from here

Choosing a sensor for your project and not sure which type fits? Message Projectech on WhatsApp with your temperature range, required accuracy, and microcontroller — the reply is a quotation stating scope, price and delivery timeline.

More project guides

More in IoT & Embedded