Skip to content
Electronics 19 min read

NTC Thermistor Calculation: Beta vs Steinhart-Hart

Observation recorded
Cinematic poster of a heat-shield test block glowing white-hot inside an arc jet chamber, with the title "Thermistor Beta" in large condensed type and the line "Resistance into degrees.".

Vishay's datasheet for its 10 kΩ NTCLE100E3103 thermistor lists a Beta value of 3977 K. Plug that number into the Beta equation and read the sensor at 0 °C, and your code reports 0.76 °C. At −40 °C it reports +3.0 °C too warm. Nothing is broken: the Beta equation is a two-point straight-line fit to a curve, and 3977 K is the line through 25 °C and 85 °C. Most of the calculators that rank for this topic give you the formula, a generic "B = 3950" and a 10 kΩ pull-up, and stop there.

This post does the whole chain with real numbers from one real part: the resistance-to-temperature models and how far each is off, how to pick the fixed resistor (three different "optimal" answers, and which one you want), the ADC code to temperature conversion, and the self-heating that a wrong resistor can add.

Quick answerUse 1/T=1/T0+ln⁡(R/R0)/B1/T = 1/T_0 + \ln(R/R_0)/B with T in kelvin, T0 = 298.15 K and R0 = R25. For R = 6,543 Ω on a 10 kΩ, B = 3977 K part, T=307.94 K=34.8 ∘CT = 307.94\ \mathrm{K} = 34.8\ {}^\circ\mathrm{C}. Beta drifts up to 0.8 °C over 0 to 100 °C; Steinhart-Hart does better.
Infographic: How accurate is the NTC Beta equation? A disc thermistor sits beside its circuit symbol. With the datasheet B of 3977 K, the Beta equation reads 0.76 °C at 0 °C and 3.0 °C too warm at −40 °C; a three-point Steinhart-Hart fit stays within 0.035 °C. Charted from −20 to 120 °C, the Beta error touches zero only at 25 and 85 °C, with the generic B of 3950 worse at the hot end. Tiles: one part's table gives B from 3845 to 3994 K; a 2.7 to 4.7 kΩ fixed resistor gives 31 mV per degree at 50 °C and 2.7 times finer resolution at 100 °C than 10 kΩ.
Tap the image to view it full size. View the accessible, editable SVG.

The Beta equation and where B comes from

An NTC thermistor is a ceramic semiconductor whose resistance falls roughly exponentially with temperature. The simplest model writes that as

R(T)=R0×exp⁡[B×(1T−1T0)]R(T) = R_0 \times \exp\left[B \times \left(\frac{1}{T} - \frac{1}{T_0}\right)\right]

or, solved for temperature:

1T=1T0+ln⁡(R/R0)B\frac{1}{T} = \frac{1}{T_0} + \frac{\ln(R/R_0)}{B}

T in kelvin, T0 = 298.15 K (25 °C), R0 = R25.

B is not a material constant you can look up once. It is defined by two calibration temperatures, and the datasheet tells you which two with a subscript. Vishay specifies B25/85: the value that makes the equation exact at 25 °C and 85 °C. You can recover it from the datasheet table:

From the Vishay NTCLE100E3103 table, R25 = 10,000 Ω and R85 = 1,070 Ω:

B25/85=ln⁡(R25/R85)1/298.15−1/358.15=ln⁡(9.346)0.0033540−0.0027921=2.2349/0.00056189=3977 K\begin{aligned}B_{25/85} &= \frac{\ln(R_{25}/R_{85})}{1/298.15 - 1/358.15} \\ &= \frac{\ln(9.346)}{0.0033540 - 0.0027921} \\ &= 2.2349/0.00056189 = \mathbf{3977\ K}\end{aligned}

Do the same with other pairs from the same table and you get B0/25 = 3845 K, B25/50 = 3932 K, B25/85 = 3977 K and B25/100 = 3994 K. A 4% spread from a single part. That is the first misconception to clear up: a thermistor does not "have a Beta of 3950". It has a family of Beta values, one per temperature pair, and a cheap listing that says "B3950" without a subscript is not telling you which pair it means.

The 3845, 3932 and 3994 K figures are our own calculations from Vishay's published table; Vishay itself states only B25/85.

How accurate is the Beta equation?

Vishay publishes the full resistance table for this part in 5 °C steps from −40 to 150 °C, plus an "extended Steinhart and Hart" polynomial that reproduces it to within 0.005 °C from 25 to 125 °C. That table is our reference. Figure 2 shows what each model calculates minus the true temperature, using the table resistance as the input.

Schematic of the standard thermistor circuit. 3.3 volts feeds a fixed resistor RF to a node labelled VNTC, which goes through a 10 kilohm NTC thermistor to ground. A 100 nanofarad capacitor from the node to ground filters it, and the node drives the ADC input of a microcontroller whose ADC reference is the same 3.3 volt supply, so the code equals 2 to the N times RNTC over RNTC plus RF.
Figure 1. The circuit this post analyses. With the ADC referenced to the same supply as the divider (ratiometric), the reading depends only on the resistor ratio, not on the exact supply voltage.
Error in degrees of four models against the Vishay NTCLE100E3103 resistance table from minus 40 to 150 degrees. The Beta equation with B25/85 of 3977 kelvin is zero at 25 and 85 degrees, minus 0.3 near 55 degrees, plus 0.8 at 0 degrees, plus 3 at minus 40 and plus 2.8 at 150. With 3932 or 3950 kelvin the error grows above 85 degrees to plus 4.9 or plus 4.1 at 150. A Steinhart-Hart fit at 0, 50 and 100 degrees stays within a few hundredths of a degree across the plot.
Figure 2. Calculated minus true temperature for the Beta equation with three B values, and for a three-point Steinhart-Hart fit (our calculation). Every Beta curve is a parabola-like bowl that touches zero only at its two calibration points.

Three things stand out. With the datasheet B25/85, the Beta equation is within ±0.4 °C from about 15 to 100 °C and still 0.76 °C off at 0 °C. Using the wrong B (the generic 3950, or B25/50 when you measure up to 120 °C) moves the bowl and costs you several degrees at the hot end. And the error is systematic, not noise: averaging readings will not remove it.

Whether 0.8 °C matters depends on the part. Vishay works an example in its datasheet: a ±5% R25 tolerance plus ±0.92% from B tolerance gives ±1.17 °C at 0 °C. At 25 °C, with a temperature coefficient of −4.38%/K, a 5% part is already ±1.1 °C and a 1% part ±0.23 °C. So with an off-the-shelf 5% thermistor, the Beta equation's model error is smaller than the part tolerance over most of 0 to 100 °C. With a 1% part, or a part you calibrate, the model becomes the dominant error, and Steinhart-Hart pays off.

Steinhart-Hart: three points instead of two

Steinhart and Hart (1968) added terms in the logarithm of resistance:

1/T=A+B×ln⁡R+C×(ln⁡R)31/T = A + B \times \ln R + C \times (\ln R)^3

Three unknowns need three calibration points. Take them from the table at the bottom, middle and top of your range, write the equation three times and solve the 3 × 3 linear system (any spreadsheet or numpy does it in one line):

0 ∘C: R=32,554 Ω: 1/T=1/273.15 K50 ∘C: R=3,605 Ω: 1/T=1/323.15 K100 ∘C: R=677.3 Ω: 1/T=1/373.15 K\begin{aligned}0\ {}^\circ\mathrm{C}&:\ R = 32{,}554\ \Omega \\ &\phantom{:}\ 1/T = 1/273.15\ \mathrm{K} \\ 50\ {}^\circ\mathrm{C}&:\ R = 3{,}605\ \Omega \\ &\phantom{:}\ 1/T = 1/323.15\ \mathrm{K} \\ 100\ {}^\circ\mathrm{C}&:\ R = 677.3\ \Omega \\ &\phantom{:}\ 1/T = 1/373.15\ \mathrm{K}\end{aligned}

Solution (our fit):

A=1.13939×10−3B=2.32228×10−4C=9.68046×10−8\begin{aligned}A &= 1.13939 \times 10^{-3} \\ B &= 2.32228 \times 10^{-4} \\ C &= 9.68046 \times 10^{-8}\end{aligned}

Error against the table: within ±0.035 °C from −20 to 120 °C, 0.16 °C at 150 °C.

That is roughly 20 times better than Beta over the same range, for the cost of one extra coefficient and a cube. On any microcontroller with a floating-point log, the run time difference is negligible. If you need better still, Vishay's own four-term polynomial (with a squared term as well) matches its table to 0.005 to 0.015 °C, and a lookup table with interpolation built straight from the datasheet is just as good.

Which fixed resistor gives the best reading?

The divider in Figure 1 puts the NTC at the bottom and a fixed resistor RF at the top, so the voltage falls as temperature rises:

VNTC=VCC×RTRT+RFV_{NTC} = V_{CC} \times \frac{R_T}{R_T + R_F}

Slope:

dVdT=−VCC×RFRT×(B/T2)(RT+RF)2\frac{dV}{dT} = -V_{CC} \times \frac{R_F R_T \times (B/T^2)}{(R_T + R_F)^2}

The common advice is "use a fixed resistor equal to R25", so 10 kΩ for a 10 kΩ NTC. That is right only if 25 °C is the temperature you care most about. Three different design rules exist, and they answer three different questions. For a 0 to 100 °C design with our part:

RuleWhat it maximisesFormulaRF for 0 to 100 °C
RF=R(Ttarget)R_F = R(T_{\mathrm{target}})Slope at one temperatureSet ∂(dV/dT)/∂RF=0\partial(dV/dT)/\partial R_F = 0R50=3,605 Ω→3.6 kΩR_{50} = 3{,}605\ \Omega \to 3.6\ \mathrm{k\Omega}
Geometric meanTotal voltage swing over the rangeRmin⁡T×Rmax⁡T\sqrt{R_{\min T} \times R_{\max T}}32,554×677.3=4,696 Ω→4.7 kΩ\sqrt{32{,}554 \times 677.3} = 4{,}696\ \Omega \to 4.7\ \mathrm{k\Omega}
Inflection at mid-rangeLinearity around the middleR(T)×(B−2T)/(B+2T)R(T) \times (B - 2T)/(B + 2T)3,605×0.7205=2,597 Ω→2.7 kΩ3{,}605 \times 0.7205 = 2{,}597\ \Omega \to 2.7\ \mathrm{k\Omega}

TDK's readout application note uses the geometric-mean rule. The first rule follows from differentiating the slope with respect to RF; the third comes from setting the second derivative of V(T) to zero with the Beta model, which puts the steepest, straightest part of the S-curve at your chosen temperature. Figure 3 shows all of them alongside the 10 kΩ default.

Divider output voltage from minus 20 to 120 degrees at 3.3 volts for fixed resistors of 10, 4.7, 3.6 and 2.7 kilohm. All curves are S-shaped and fall from near 3.3 volts toward zero. Circles mark each curve's steepest point: about 19 degrees for 10 kilohm, 36 for 4.7 kilohm, 43 for 3.6 kilohm and 50 for 2.7 kilohm.
Figure 3. Divider voltage on 3.3 V, computed from Vishay's R/T polynomial. A smaller RF slides the steep part of the curve to higher temperature. With 2.7 kΩ the steepest point lands at 50 °C, as the inflection rule predicts.

The surprise is how little the three "optimal" choices differ in the middle. At 50 °C on 3.3 V:

RF=10 kΩ: 24.4 mV/∘CRF=4.7 kΩ: 30.8 mV/∘CRF=3.6 kΩ: 31.4 mV/∘CRF=2.7 kΩ: 30.7 mV/∘C\begin{aligned}R_F = 10\ \mathrm{k\Omega}&:\ 24.4\ \mathrm{mV}/{}^\circ\mathrm{C} \\ R_F = 4.7\ \mathrm{k\Omega}&:\ 30.8\ \mathrm{mV}/{}^\circ\mathrm{C} \\ R_F = 3.6\ \mathrm{k\Omega}&:\ 31.4\ \mathrm{mV}/{}^\circ\mathrm{C} \\ R_F = 2.7\ \mathrm{k\Omega}&:\ 30.7\ \mathrm{mV}/{}^\circ\mathrm{C}\end{aligned}

3.6 kΩ is the maximum, as the first rule promises.

Total swing 0 to 100 °C: 2.32 V (10 k), 2.47 V (4.7 k), 2.45 V (3.6 k), 2.39 V (2.7 k).

Anything from 2.7 to 4.7 kΩ is within 2% of the best possible slope at 50 °C. The real decision is where you want resolution to go, and that shows up at the ends of the range. The ADC sees steps of 3.3 V/4096=0.806 mV3.3\ \mathrm{V}/4096 = 0.806\ \mathrm{mV} on a 12-bit converter, so temperature per count is 0.806 mV divided by the slope:

Degrees per 12-bit ADC count on a log scale from minus 20 to 120 degrees for four fixed resistors. The 10 kilohm curve is best near 20 degrees at about 0.022 degrees per count but rises to 0.14 at 100 degrees and 0.25 at 120. The 2.7 kilohm curve bottoms near 50 degrees at 0.026 and reaches only 0.052 at 100 degrees and 0.08 at 120, but is worse below 30 degrees.
Figure 4. Temperature resolution per ADC count (12-bit, 3.3 V). The 10 kΩ default wastes resolution above 60 °C. For a 0 to 100 °C range, 2.7 to 4.7 kΩ keeps every point better than 0.08 °C per count.

At 100 °C, 12-bit:

10 kΩ: 0.806/5.76=0.14 ∘C per count2.7 kΩ: 0.806/15.55=0.052 ∘C per count= (2.7 times finer)\begin{aligned}10\ \mathrm{k\Omega}&:\ 0.806/5.76 \\ &= \mathbf{0.14\ {}^\circ C}\ \text{per count} \\ 2.7\ \mathrm{k\Omega}&:\ 0.806/15.55 \\ &= \mathbf{0.052\ {}^\circ C}\ \text{per count} \\ &\phantom{=}\ (2.7\ \text{times finer})\end{aligned}

At 0 °C: 10 kΩ → 0.027 °C per count, 2.7 kΩ → 0.068 °C per count.

On a 10-bit Arduino every number is four times bigger. That is where the choice bites: 10 kΩ gives 0.56 °C per count at 100 °C on a 10-bit ADC, coarse enough to see as steps in a log. Remember that resolution is not accuracy; ADC offset, gain error and noise usually exceed one count, which is covered in ADC resolution vs accuracy. And use a 0.1% or 1% fixed resistor: its tolerance feeds straight into RT, and 1% of resistance is about 0.23 °C at 25 °C.

From ADC code to temperature: a worked example

Take an Arduino Uno: 10-bit ADC, 5 V supply used as the reference, RF = 10 kΩ on top, the Vishay NTC at the bottom. The ATmega328P datasheet defines the result as ADC=VIN×1024/VREF\mathrm{ADC} = V_{IN} \times 1024/V_{REF}. Because VIN is a fraction of the same 5 V, the supply cancels out:

code=1024×RTRT+RF→RT=RF×code1024−code\begin{aligned}\text{code} &= \frac{1024 \times R_T}{R_T + R_F} \\ \to R_T &= \frac{R_F \times \text{code}}{1024 - \text{code}}\end{aligned}

Reading: code = 405

RT=10,000×405/619=6,543 ΩR_T = 10{,}000 \times 405/619 = \mathbf{6{,}543\ \Omega}

Beta (B = 3977 K):

ln⁡(6543/10000)=−0.424221/T=1/298.15+(−0.42422/3977)=0.0033540−0.0001067=0.0032473 K−1T=307.94 K=34.79 ∘C\begin{aligned}\ln(6543/10000) &= -0.42422 \\ 1/T &= 1/298.15 \\ &\quad + (-0.42422/3977) \\ &= 0.0033540 - 0.0001067 \\ &= 0.0032473\ \mathrm{K^{-1}} \\ T &= 307.94\ \mathrm{K} \\ &= \mathbf{34.79\ {}^\circ C}\end{aligned}

Steinhart-Hart (our fit): 34.98 °C; Vishay polynomial: 34.97 °C.

One count either side (404, 406): 34.87 and 35.07 °C, so 0.10 °C per count here.

The Beta answer is 0.18 °C low at this point, consistent with Figure 2. Two habits make this code robust. First, never use VCC in the conversion; work in ratios as above, so a 4.8 V USB supply gives the same answer as 5.0 V. Second, put a 100 nF capacitor from the ADC pin to ground. The ATmega328P datasheet says its ADC is optimised for sources of about 10 kΩ or less, and this divider's Thevenin resistance is 3.95 kΩ at 35 °C (6,543 Ω in parallel with 10 kΩ); the capacitor supplies the sampling charge anyway and filters noise (see why 100 nF is the standard capacitor). With 10 kΩ and 100 nF the RC time constant is under 1 ms, irrelevant next to a thermistor's thermal time constant of about 15 s for this leaded part.

// Uno, 10 k fixed resistor on top, NTC to ground on A0
const float RF = 10000.0;
const float A = 1.13939e-3, B = 2.32228e-4, C = 9.68046e-8;  // our 0/50/100 C fit
float readTempC() {
  long sum = 0;
  for (int i = 0; i < 16; i++) sum += analogRead(A0);
  float code = sum / 16.0;
  float r = RF * code / (1024.0-code);
  float L = log(r);
  return 1.0 / (A + B * L + C * L * L * L) -273.15;
}

Self-heating: the error your code cannot see

The divider current warms the thermistor above the thing it is measuring. The datasheet's dissipation factor δ tells you by how much: it is the power that raises the body temperature by 1 K. TDK's readout note derives the worst case, which occurs when RT=RFR_T = R_F:

ΔT=1δ×V2×RT(RF+RT)2ΔTmax⁡=V2/(4δRF)\begin{aligned}\Delta T &= \frac{1}{\delta} \times \frac{V^2 \times R_T}{(R_F + R_T)^2} \\ \Delta T_{\max} &= V^2/(4 \delta R_F)\end{aligned}

3.3 V, RF = 10 kΩ, δ = 7 mW/K (Vishay leaded part):

ΔTmax⁡=10.89/(4×7 mW/K×10 kΩ)=0.27 mW/7→0.04 ∘C\begin{aligned}\Delta T_{\max} &= 10.89/(4 \times 7\ \mathrm{mW/K} \times 10\ \mathrm{k\Omega}) \\ &= 0.27\ \mathrm{mW}/7 \to \mathbf{0.04\ {}^\circ C}\end{aligned}

3.3 V, RF = 2.7 kΩ, δ = 1.7 mW/K (TDK's figure for a small part):

1.01 mW/1.7→0.59 ∘C1.01\ \mathrm{mW}/1.7 \to \mathbf{0.59\ {}^\circ C}

5 V, RF = 2.7 kΩ, δ = 1.7 mW/K:

2.31 mW/1.7→1.36 ∘C2.31\ \mathrm{mW}/1.7 \to \mathbf{1.36\ {}^\circ C}

Our Uno example at 35 °C:

I=5/16,535 Ω=0.30 mAP=0.302×6,535=0.60 mW→0.09 ∘C with δ=7 mW/K\begin{aligned}I &= 5/16{,}535\ \Omega = 0.30\ \mathrm{mA} \\ P &= 0.30^2 \times 6{,}535 = 0.60\ \mathrm{mW} \\ &\to 0.09\ {}^\circ\mathrm{C}\ \text{with}\ \delta = 7\ \mathrm{mW/K}\end{aligned}
Self-heating temperature rise on a log scale from minus 20 to 120 degrees. A 10 kilohm divider on 3.3 volts with a 7 milliwatt per kelvin leaded part peaks at 0.04 degrees near 25 degrees. A 2.7 kilohm divider on 3.3 volts peaks at 0.14 degrees with the leaded part and 0.6 degrees with a 1.7 milliwatt per kelvin part. On 5 volts with 2.7 kilohm and the small part the rise peaks at about 1.4 degrees near 60 degrees.
Figure 5. Self-heating rise across temperature (our calculation). Each curve peaks where RT=RFR_T = R_F, so a low RF chosen for hot-end resolution puts its self-heating peak in the middle of your range.

This is the trade-off nobody mentions alongside the resistor rules. Lowering RF for resolution raises the current. TDK quotes an industry rule (from IEC 60751) that self-heating should stay below 25% of the sensor tolerance; for a ±1% part that is about 0.06 °C, which the 2.7 kΩ, small-part case misses tenfold. The dissipation factor also depends on mounting: still air, a PCB pad and a stirred liquid differ by large factors, and the datasheet value is "for information only".

Source note δ = 1.7 mW/K is the figure TDK gives for its B57868S0202H in air; small SMD thermistors from other makers will differ, and I did not check a datasheet for a specific 0402 or 0603 part. Vishay's 7 mW/K is listed "for information only" without stating the test conditions.

Three fixes, in order of preference. Power the divider from a GPIO pin and switch it on only for the few milliseconds of a reading; with a 15 s thermal time constant the average power, not the peak, sets the rise, so a 1% duty cycle cuts it a hundredfold. Use a higher-value thermistor (a 100 kΩ NTC with a 22 to 47 kΩ fixed resistor; TDK's note gets 0.1 K worst case that way on 3.3 V). Or run the divider from a lower reference voltage. The same divider analysis applies to battery packs, where the NTC pin on a charger IC is how phone charging adapts to temperature.

A design checklist

  1. Get the datasheet R/T table or coefficients for your exact part. If all you have is "10K B3950", treat the model error in Figure 2 as a lower bound and calibrate at two temperatures (ice water and a known warm point).
  2. Pick RF from your range: R at the middle temperature, or Rmin⁡×Rmax⁡\sqrt{R_{\min} \times R_{\max}}. Use 10 kΩ only for a range centred on room temperature.
  3. Check self-heating with ΔTmax⁡=V2/(4δRF)\Delta T_{\max} = V^2/(4\delta R_F), and switch the divider off between readings if it is more than a quarter of your error budget.
  4. Reference the ADC to the divider supply and convert with RT=RF×code/(2N−code)R_T = R_F \times \text{code}/(2^N - \text{code}). The divider math is the same as any voltage divider, and the top resistor plays the same role as a pull-up resistor.
  5. Use Steinhart-Hart (three points) or a lookup table if you need better than about ±0.5 °C over a 100 °C span.
The short version for your bench: the Beta equation 1/T=1/T0+ln⁡(R/R0)/B1/T = 1/T_0 + \ln(R/R_0)/B is exact only at the two temperatures in B's subscript, and drifts by 0.3 to 0.8 °C across 0 to 100 °C. Steinhart-Hart fitted at three points gets within 0.04 °C. Size RF to the middle of your range (2.7 to 4.7 kΩ for 0 to 100 °C with a 10 kΩ NTC), and check self-heating, which rises as RF falls.

FAQ

How do you calculate temperature from NTC thermistor resistance?

With the Beta equation, 1/T=1/T0+ln⁡(R/R0)/B1/T = 1/T_0 + \ln(R/R_0)/B, with T in kelvin, T0 = 298.15 K and R0 the resistance at 25 °C. For a 10 kΩ part with B = 3977 K, a reading of 6,543 Ω gives 1/T=0.00324731/T = 0.0032473, so T = 307.94 K or 34.8 °C. Steinhart-Hart or the maker's table is more accurate over wide ranges.

How accurate is the Beta equation for a thermistor?

Against Vishay's table for its NTCLE100E3103, the Beta equation with the datasheet B25/85 of 3977 K is exact at 25 and 85 °C, about 0.3 °C low near 55 °C, 0.8 °C high at 0 °C and 3 °C high at −40 °C. A three-point Steinhart-Hart fit stays within 0.04 °C from −20 to 120 °C.

What resistor should I use with a 10k NTC thermistor?

Size it to the temperature range, not to the 25 °C value. For 0 to 100 °C, anything from about 2.7 to 4.7 kΩ gives about 31 mV per degree at 50 °C on 3.3 V and roughly twice the resolution of 10 kΩ at 100 °C. 10 kΩ is right only when you care most about room temperature.

What is the difference between B25/50 and B25/85?

They are Beta values calculated from the resistance at 25 °C and at 50 °C or 85 °C. Because a real thermistor does not follow the Beta equation exactly, the numbers differ: for the same Vishay part, B25/50 is 3932 K and B25/85 is 3977 K. Use the one whose temperature span matches yours.

Does thermistor self-heating matter?

It can. The worst-case rise is V2/(4δRF)V^2/(4\delta R_F). On 3.3 V with 10 kΩ and a leaded part at 7 mW/K it is only 0.04 °C, but a small part at 1.7 mW/K with a 2.7 kΩ resistor on 5 V heats itself by about 1.4 °C.

Sources

  1. Vishay BCcomponents, NTCLE100E3 datasheet, document 29049, rev. 07-May-2025 (R/T table for NTCLE100E3103, B25/85 = 3977 K ±0.75%, extended Steinhart-Hart coefficients and 0.005 to 0.015 °C interpolation accuracy, TCR −4.38%/K at 25 °C, tolerance example ±1.17 °C at 0 °C, dissipation factor 7 mW/K, thermal time constant 15 s): vishay.com/docs/29049/ntcle100.pdf
  2. TDK Electronics, "Digital Readout of NTC Thermistors: Circuit Optimization" application note, 2024 (Rmin⁡Rmax⁡\sqrt{R_{\min} R_{\max}} bias rule, self-heating ΔTmax⁡=V2/(4δRS)\Delta T_{\max} = V^2/(4\delta R_S), 1.7 mW/K, IEC 60751 25% rule, 100 kΩ with 22 kΩ example): tdk-electronics.tdk.com readout optimization application note PDF
  3. Microchip (Atmel), ATmega328P automotive datasheet, 7810D (ADC=VIN×1024/VREF\mathrm{ADC} = V_{IN} \times 1024/V_{REF}; ADC optimised for source impedance of about 10 kΩ or less): microchip.com ATmega328P datasheet PDF

Method note: All curves are computed in Python from Vishay's published R/T polynomial for the NTCLE100E3103. The Beta curves, the Steinhart-Hart fit, the divider slopes, the ADC resolution and the self-heating curves are our own calculations.

Header image: NASA (image jsc2024e078233), regraded for this article.

Related observations
Electronics 555 Timer Frequency Formula: Where 1.44 Comes From Electronics ADC Resolution vs Accuracy: ENOB, INL and the Reference Projects Building Your Own Quadcopter Drone: Essential Parts and Specifications in India
Transmit