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:
- 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.
- 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.
- 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.
- 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
- 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.
- Using a thermistor past its range. Above ~150 °C most NTCs drift permanently. The sensor survives; its calibration does not.
- 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.
- 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.
- 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.
- 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
- Sensor Calibration for IoT Projects — turning raw sensor readings into trusted numbers, including two-point calibration.
- Instrumentation Amplifiers: Strain Gauges and Load Cells — the same small-signal problems, solved for force instead of temperature.
- Debugging I2C with a Logic Analyzer — most sensor converter modules talk I2C or SPI; this is how you debug that link.
- Arduino Uno Component Guide — the board most students read these sensors with.
- More sensing topics in the IoT & Embedded branch hub.
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.