A thermistor is a solid-state temperature sensor whose electrical resistance changes predictably and significantly with temperature. Unlike a standard carbon-film resistor that fights to keep its value stable across varying conditions, a thermistor is engineered to be highly reactive to thermal shifts. In a real circuit, this component changes the voltage output in your microcontroller's analog-to-digital converter (ADC) voltage divider, translating thermal energy into a readable digital signal, or it dynamically alters current flow to protect power supplies from surge damage.
The Core Physics: How Resistance Tracks Temperature
Thermistors are manufactured from sintered semiconductor ceramics—typically mixtures of metal oxides like manganese, nickel, or cobalt. The doping process creates a crystalline structure where thermal energy either frees up charge carriers (lowering resistance) or disrupts the conductive pathways (raising resistance).
For precision measurement, we rely on the NTC (Negative Temperature Coefficient) variant. To map resistance to temperature, engineers use the Steinhart-Hart equation, but for most hobbyist and bench applications, the simpler Beta (β) Parameter Equation provides enough accuracy across a 0°C to 100°C span.
Assume you are using a standard 10kΩ NTC thermistor with a published Beta value of 3950K. You want to know its exact resistance when the ambient temperature hits 50°C.
- R0 (Resistance at 25°C / 298.15K) = 10,000 Ω
- T (Target temp in Kelvin) = 50°C + 273.15 = 323.15K
- T0 (Nominal temp in Kelvin) = 25°C + 273.15 = 298.15K
- β = 3950
Using the formula: RT = R0 × e^[β × (1/T - 1/T0)]
1. Calculate the Kelvin delta: (1 / 323.15) - (1 / 298.15) = -0.00025948
2. Multiply by Beta: 3950 × -0.00025948 = -1.0249
3. Exponentiate: e^(-1.0249) ≈ 0.3588
4. Multiply by R0: 10,000 × 0.3588 = 3,588 Ω (3.58 kΩ)
At 50°C, your 10kΩ thermistor drops to roughly 3.58kΩ. If this is the bottom leg of a 5V voltage divider with a 10kΩ pull-up resistor, your ADC will read roughly 1.31V instead of the 2.5V it reads at room temperature.
NTC vs. PTC: What Changes in Your Circuit
People commonly confuse thermistors with RTDs (Resistance Temperature Detectors like the PT100) and thermocouples. RTDs use pure platinum wire for high accuracy over massive industrial ranges (-200°C to +850°C), while thermocouples generate a micro-voltage via the Seebeck effect for extreme heat (up to 1200°C). Thermistors, by contrast, use semiconductor ceramics for massive sensitivity over a narrow, practical range (-50°C to +150°C).
| Feature | NTC (Negative Temp Coefficient) | PTC (Positive Temp Coefficient) |
|---|---|---|
| Reaction to Heat | Resistance drops as temperature rises | Resistance spikes as temperature rises |
| Primary Use Case | Precision temperature measurement & compensation | Overcurrent protection & self-regulating heaters |
| Linearity | Highly non-linear (requires math to linearize) | Non-linear (acts as a binary switch at Curie point) |
| Typical Form Factor | Epoxy bead, glass probe, SMD 0603 | Radial disc, resettable SMD fuse |
Where You Meet This in Practice
You will rarely build a commercial or hobbyist power system without encountering these components. Here is where they live in the wild:
- 3D Printer Hotends: The standard EPCOS 100K B3950 NTC thermistor is buried in the heater block of almost every FDM printer. The Marlin firmware reads its voltage drop to PID-tune the heating element and trigger thermal runaway protection if the wire snaps.
- Li-Ion Battery BMS: Look at the balance leads on a 4S or 8S LiFePO4 pack. The BMS relies on 10K NTC sensors taped directly to the cell casings to halt charging if the cells drop below 0°C (preventing lithium plating) or exceed 45°C.
- AC/DC Power Supplies: When you plug in a 500W PC power supply, a massive surge of current rushes into the empty bulk capacitors. An NTC Inrush Current Limiter (a thick disc on the primary side of the board) starts with high resistance to choke the surge, then self-heats and drops to near-zero resistance to allow normal operation.
Decision Tree: Picking the Exact Part Number
Do not just order a generic "thermistor" from a bulk bin. The Beta value, tolerance, and physical packaging dictate whether your circuit succeeds or fails. Use this decision matrix to lock in your Bill of Materials (BOM).
| If your project needs... | Then select this type... | Concrete Part Number Pick |
|---|---|---|
| Accurate 0-100°C measurement for an ESP32/Arduino ADC | 10kΩ NTC, β=3950, 1% tolerance, SMD 0603 | Murata NCP18XH103F03RB (~$0.15/ea) |
| Rugged, waterproof probe for a sous-vide or brew kettle | 100kΩ NTC, β=3950, glass-encapsulated, stainless steel sleeve | Vishay NTCLE100E3104JHT1 (~$1.50/ea) |
| To stop inrush current on a 120V AC, 300W custom PSU | NTC Inrush Limiter, 10Ω cold, 4A max steady state | Ametherm SL22 10004 (~$0.85/ea) |
| Resettable overcurrent protection for a 5V/1A USB line | PPTC Resettable Fuse, 6V max, 0.5A hold, 1.0A trip | Littelfuse 1206L050WR (~$0.20/ea) |
Common Wiring and Calibration Mistakes
Even with the right part, bench errors will ruin your data. Watch out for these three failure modes:
1. Self-Heating Error
A thermistor requires current to create a measurable voltage drop. However, pushing too much current causes the component to heat itself (P = I²R), reporting a temperature higher than the ambient environment. For a 10kΩ NTC in a 3.3V circuit with a 10kΩ pull-up, the current is roughly 165µA, dissipating ~0.27mW. If your sensor's dissipation constant is 2mW/°C, this introduces a 0.13°C error. Keep measurement currents under 50µA for lab-grade precision by using a higher value pull-up resistor or pulsing the voltage divider via a GPIO pin.
2. Ignoring ADC Reference Drift
If you power your ESP32 voltage divider from the raw 5V USB line, any ripple or sag in the USB power will look exactly like a temperature change to your code. Always use the microcontroller's internal voltage reference (e.g., 1.1V on an ATmega328P) or a dedicated 3.3V LDO to feed the top of the voltage divider.
3. Inrush Limiter Thermal Runaway
NTC inrush limiters must cool down between power cycles to regain their high cold-resistance. If you wire an Ametherm SL22 into a circuit that switches on and off every 10 seconds, the disc never cools. It stays at low resistance, failing to protect the capacitors on the next startup, eventually leading to a blown bridge rectifier.
Frequently Asked Questions
Can I wire a 10k NTC thermistor directly to a 3.3V ESP32 GPIO?
Yes, but never feed it 5V if the ESP32 pin is not 5V-tolerant. Wire the thermistor between the GPIO (configured as an ADC input) and GND. Wire a 10kΩ pull-up resistor between the same GPIO and the ESP32's 3.3V pin. Read the ADC, convert to resistance, and apply the Steinhart-Hart equation in your code.
Why do 3D printers use 100kΩ thermistors instead of 10kΩ?
Higher resistance reduces the current flowing through the sensor wires, which minimizes self-heating and reduces the impact of voltage drop across the long, thin copper wires running from the motherboard to the moving print head.
What is the default recommendation for general-purpose Arduino temperature logging?
Buy a pre-wired, stainless-steel encapsulated 10kΩ NTC with a Beta of 3950. Solder the leads to a 3-pin JST connector, use a 10kΩ 1% metal-film pull-up resistor on your breadboard, and utilize the Thermistor library by Adafruit in the Arduino IDE to handle the Steinhart-Hart math automatically. It provides ±1°C accuracy from 0°C to 70°C, which covers 90% of hobbyist environmental monitoring needs without requiring expensive RTD amplifiers.






