Starting calculator…

Taking longer than expected?

Reload this calculator. Reloading clears unsaved entries. You can read the examples and open the help below while waiting.

NTC Thermistor Circuit Calculator

Choose a fixed resistor for an NTC thermistor voltage divider, or check a resistor you already use. Compare temperature resolution, estimated temperature error and self-heating, then generate C code to convert ADC readings to temperature.

Help

What would you like to do?

Compare standard resistor values and choose a fixed resistor for your thermistor voltage divider.

Recommended circuit

All E-series

Connect the fixed resistor from 3.3 V to the ADC junction; connect the NTC from that junction to ground. Connect the ADC and supply grounds together.

NTC to ground divider schematicThe fixed resistor connects the supply to the ADC junction. The thermistor connects the junction to ground. Fixed resistance 10,000 ohms with 1 percent tolerance. At 25 degrees Celsius, the thermistor is 10,000 ohms and ADC voltage is 1.65 volts.NTC to groundVs = 3.3 VRf10 kΩ ±1%VADC1.65 VRNTC10 kΩGround−t°Probe: 25°C
ADC voltage falls as temperature rises. Vref = Vs: shared supply and ADC reference. Both use a common ground.
ADC count range used3,473counts

Difference between the highest and lowest ADC codes across the operating range.

Largest temperature step per ADC count0.1412°C/count

The largest step anywhere in your range. A smaller value means finer temperature resolution, not greater accuracy.

Estimated temperature error1.755°C

Combines component-tolerance error, an approximate half-count ADC contribution and nominal self-heating when specified. This is not guaranteed total accuracy.

Performance across your range

ADC input voltage and code, before tolerances
000.7549351.5071,8702.2612,8053.0143,740-20°C100°CTemperature (°C)VADC counts →

Scroll horizontally on narrow screens to see the full chart. The temperature-by-temperature table in Detailed Results gives the chart values. The calculation checks temperature points; a peak between them may be missed.

Unit: °CInspect one temperature without changing the operating range.

At 25°C · 10,000 Ω · 1.65 V · code 2,048 · 0.022 °C/count

Compare standard resistor values

463 values meet the search criteria, from 821 checked. Temperature step between checks: 1°C.

Circuit analysis values
Fixed resistorADC range (counts)Largest step (°C/count)Maximum tolerance error (°C)Estimated temperature error (°C)Selection
10,000 Ω3,4730.14121.6511.755
10,100 Ω3,4720.14251.6511.755
9,880 Ω3,4740.13981.6511.755
10,200 Ω3,4720.14371.6511.755
9,760 Ω3,4750.13831.6511.755
10,400 Ω3,4700.14611.6511.755
9,650 Ω3,4750.13691.6511.755
10,500 Ω3,4690.14741.6511.755
Calculation assumptions and limits

Estimated temperature error combines component-tolerance error, an approximate half-count ADC contribution, and nominal self-heating when a dissipation constant is entered. It is not guaranteed total accuracy.

The calculation checks a temperature grid. A peak between checked temperatures may be missed.

The tolerance-error range includes specified component tolerances only. It excludes ADC quantization, nonlinearity, gain, offset, noise, leakage, settling and thermistor model error.

How to Use

ShowHide

Choose your task

An NTC thermistor has a negative temperature coefficient: its resistance falls as temperature rises. This calculator models a voltage divider made from the thermistor and a fixed resistor, then checks how an analog-to-digital converter (ADC) can measure its output.

  • Find a Resistor: compare standard resistor values and choose a fixed resistor for your thermistor voltage divider.
  • Check a Resistor: enter the fixed resistor you already use to check ADC range, temperature resolution, current and power. The calculator uses your value until you enter another value or select an alternative.

Quick start

  1. Enter your thermistor data. Choose Datasheet R25 + Beta, manufacturer Steinhart–Hart coefficients, or Import resistance–temperature data.
  2. Set the operating temperature range. Enter the coldest and hottest temperatures you need to measure. Check the sensor’s rated range in its datasheet.
  3. Configure the supply and ADC. Enter the divider supply voltage, ADC bit depth, reference and thermistor connection. A ratiometric reference must physically share the divider supply.
  4. Choose or check the fixed resistor. Set a Selection priority for Find a Resistor, or enter Your fixed resistor value for Check a Resistor. Enter circuit limits from your design requirements and component datasheets.
  5. Review and export. Use Circuit & Results to inspect the circuit and curves, Detailed Results to inspect the numerical checks, and C Code & Export to generate the ADC-to-temperature conversion.

Choose thermistor data

  • Datasheet R25 + Beta: enter resistance at 25°C (R25), the Beta coefficient in kelvin, and their tolerances. A single Beta value is an approximation over the selected temperature range.
  • Steinhart–Hart coefficients: enter the manufacturer’s A, B and C coefficients for resistance in ohms. This option accepts coefficients; it does not calculate or fit them from measurements.
  • Import resistance–temperature data: use a manufacturer R–T table, with optional minimum and maximum resistance columns for manufacturing tolerance.

Nominal means the central values you entered, before component tolerances are applied. The nominal model is used for the main voltage curve and generated temperature-conversion code.

The resistance fields accept formats such as 10K, 10,000 or 10 kΩ; a number without a unit means ohms. Fields format the value when you leave them or press Enter.

A datasheet label such as B25/85 or β25/85 means Beta was specified between 25°C and 85°C. Enter the Beta coefficient from that datasheet row. The Datasheet Beta temperature interval records this reference information only; it does not change calculations or set the operating range.

R25 and Beta tolerances

These are component manufacturing limits, not temperature tolerances. An R25 of 10 kΩ with ±1% tolerance may be 9.90–10.10 kΩ at 25°C. A Beta coefficient of 3950 K with ±1% tolerance may be 3910.5–3989.5 K.

R25 tolerance shifts the resistance scale. Beta tolerance changes the curve’s shape; in the Beta equation anchored at 25°C, it has no effect at exactly 25°C. The calculator combines these limits independently with fixed-resistor and applicable supply/reference tolerances.

Tolerances can change the recommended fixed resistor. For an unchanged resistor value, the nominal curve and generated C code still use nominal R25 and Beta. Entering zero tolerance assumes an exact value; it does not establish that a real part has no uncertainty.

Use the tolerance for the exact orderable part. For example, the Vishay NTCSI0603E3 datasheet lists a 10 kΩ / B25/85 = 3950 K option with R25 tolerance ±1% and Beta tolerance ±3%. Do not substitute a family-wide range or assume the calculator’s defaults match your part.

Import a resistance–temperature table

  1. Paste the table or upload a CSV, TSV, TXT or XLSX file. For a workbook, choose the worksheet containing the data.
  2. Map the columns by their position: the first column is 1. Choose the temperature and resistance units used in the file.
  3. Map the nominal resistance column. If the file includes tolerance bounds, map both the minimum and maximum resistance columns; otherwise leave both blank.
  4. Inspect the preview, then choose Apply Imported Data. Temperatures must be unique, and resistance must decrease as temperature rises.

The calculator interpolates within the imported R–T table and does not extend it beyond its endpoints. Missing minimum/maximum columns mean thermistor manufacturing tolerance is not included for that table.

Leave room for tolerance analysis. Component variation can make a reading near an operating endpoint correspond to a temperature outside the table. To measure through 85°C, for example, you may need manufacturer data extending above 85°C. The same issue can occur at the cold endpoint.

If More data needed appears, review the stated table range and calculated conversion coverage. Use Adjust Temperature Range to narrow the operating range, or Edit Imported Data to supply a wider table. The required margin depends on the data and tolerances. ADC/reference problems have separate guidance; a wider table alone will not fix them.

Understand the results and circuit limits

  • Temperature resolution is the temperature change represented by one ADC count, in °C/count. A smaller value means a finer temperature step; it is not measurement accuracy.
  • Maximum tolerance error is the largest magnitude of the calculated component-tolerance error. The negative and positive errors need not be equal.
  • Estimated temperature error combines sampled component-tolerance effects, a local half-count ADC contribution and nominal self-heating when a dissipation constant is supplied. It is not a guaranteed total accuracy specification.
  • Firmware conversion error is the difference between the generated conversion and the nominal thermistor model. It is separate from the sensor’s physical accuracy.

For Check a Resistor, the limit report identifies each failed check and links to its input. Review the calculated value and relevant datasheet limit before changing the circuit or requirement. Resistor series and search resistance bounds only control the search for alternatives; they do not disqualify your entered resistor.

Electrical limits can pass while the temperature error estimate is incomplete, for example when tolerance readings leave an imported table’s coverage. Circuit results remain visible where possible. Firmware export requires the configured circuit limits to pass; generated code converts the nominal model.

If no resistor qualifies, first identify whether the issue is an electrical limit, missing table coverage or an ADC/reference conversion problem. Use Check a Resistor to inspect a particular value. Do not raise limits simply to remove a warning.

For self-heating, use the datasheet dissipation constant for the actual mounting and airflow. Values in mW/K and mW/°C are equivalent for a temperature rise. For example, 0.644 mW ÷ 2 mW/°C gives 0.322°C rise; at 6 mW/°C it gives about 0.107°C. A component power rating is a separate limit, not a permitted temperature error.

Worked example: Vishay NTCLP100E3103H with a 12-bit ADC

This example checks a 10 kΩ fixed resistor using the manufacturer’s resistance–temperature table for the Vishay NTCLP100E3103H. The sensor data come from pages 1 and 3 of the Vishay NTCLP100 datasheet, revision 22 January 2026.

The datasheet specifies R25 = 10,000 Ω ±3%, B25/85 = 3977 K ±0.75%, a zero-dissipation operating range of −40°C to 85°C, and a dissipation factor of 6 mW/K. The main example uses the R–T table rather than a single-Beta approximation. R25 and Beta are not entered again when importing this table; the imported resistance values and bounds define the model.

1. Import the manufacturer’s R–T table

  1. Download the NTCLP100E3103H example R–T CSV. It contains all 26 datasheet rows from −40°C to 85°C.
  2. In Thermistor model, choose Import resistance–temperature data. Upload the downloaded CSV, or paste its contents.
  3. Set Temperature column to 1, Nominal resistance column to 2, Minimum resistance column to 3, and Maximum resistance column to 4.
  4. Choose temperature units °C and resistance units Ω. Leave First row contains column headings selected.
  5. Check the preview, then select Apply Imported Data.

The nominal resistances come directly from the datasheet. The minimum and maximum resistance columns are derived bounds: each nominal value is multiplied by (1 − R-TOL/100) and (1 + R-TOL/100), using the R-TOL percentage listed for that row in the datasheet. The CSV has four columns and does not include a separate tolerance-percentage column. These bounds are not separate measured curves.

2. Enter the circuit settings

The following 5 V supply and ADC configuration are example circuit choices, not sensor datasheet specifications. Use them only with an ADC whose reference and input ranges permit this 0–5 V measurement. The ratiometric reference must physically share the divider’s 5 V supply.

Example thermistor and ADC settings
Calculator settingEnter or select
Thermistor part numberNTCLP100E3103H
Thermistor modelImport resistance–temperature data
Minimum temperature−20°C
Maximum temperature80°C
Divider supply voltage5 V
ADC bit depth12 bits
ADC referenceSame as divider supply (ratiometric): 5 V
Supply tolerance1%
Thermistor connectionNTC to ground

The selected operating range is −20°C to 80°C. Importing the full −40°C to 85°C table leaves data beyond both operating endpoints for the tolerance calculations.

3. Enter the resistor and circuit limits

Choose Check a Resistor and enter the fixed 10 kΩ resistor. Under Resistor selection → Resistor search range & circuit limits, enter the limits and dissipation constant below.

Example fixed resistor and circuit-limit settings
Calculator settingEnter or select
TaskCheck a Resistor
Your fixed resistor value10 kΩ
Fixed-resistor tolerance1%
Standard resistor seriesAll E-series
Thermistor current limit1 mA
Thermistor power limit1 mW
Allowed self-heating rise0.25°C
ADC source impedance limit10 kΩ
Dissipation constant (D)6 mW/°C

Dissipation constant (D) = 6 mW/°C comes from the datasheet’s 6 mW/K dissipation factor; the units are equivalent for a temperature rise. Use the appropriate value for the actual mounting and airflow.

The 1% resistor and supply tolerances, 1 mA current limit, 1 mW power limit, 0.25°C allowed rise, and 10 kΩ ADC source impedance limit are illustrative design assumptions. Replace them with your component, measurement and ADC requirements. The 1 mW measurement-power limit is not the thermistor’s maximum datasheet power rating.

The datasheet lists 250 mW at 55°C and provides a power-derating curve. That rating changes with ambient temperature. Use the lower measurement-power limit to control self-heating, and check the derated component rating separately.

All E-series and Selection priority control the alternative-resistor comparison only. They do not change or disqualify the 10 kΩ value entered in Check a Resistor. Find a Resistor can recommend a different value for the same circuit requirements.

4. Check the nominal results

Imported R–T checkpoints with a 10 kΩ resistor, 5 V supply and 12-bit ratiometric ADC
TemperatureThermistor resistanceADC input voltageRounded ADC code
−20°C96,358 Ω4.52989 V3710
25°C10,000 Ω2.50000 V2048
80°C1,256 Ω0.557925 V457

These are nominal values before component tolerances. At 25°C, divider current is 250 µA, thermistor power is 0.625 mW, and ADC source impedance is 5 kΩ. With D = 6 mW/°C, the nominal self-heating estimate is 0.625 / 6 = about 0.104°C. The circuit-limit report includes the entered tolerances, so its maximum values can be higher.

At the calculator’s 1°C temperature-check step, all configured circuit limits pass for this example. This does not establish guaranteed temperature accuracy. The ADC codes use the calculator’s ideal convention, round(4095 × Vout / 5 V); the rounded midpoint code alone does not represent exactly 25°C.

Optional alternative: enter the datasheet R25 and Beta values

To compare the single-Beta approximation with the imported table, keep the same circuit settings and choose Datasheet R25 + Beta. Enter:

Alternative Beta-model field mapping
Calculator settingEnter or select
Thermistor modelDatasheet R25 + Beta
Resistance at 25°C (R25)10 kΩ
R25 tolerance3%
Beta coefficient3977 K
Beta tolerance0.75%
Datasheet Beta temperature interval25–85°C

B25/85 describes the interval used to specify the Beta coefficient. It does not set the operating temperature range: keep Minimum temperature = −20°C and Maximum temperature = 80°C for this comparison.

A single 3977 K Beta coefficient is an approximation. Its curve differs from the manufacturer’s table, particularly below 25°C. The checkpoints above use the imported R–T data, so the Beta-only option will not reproduce every checkpoint.

Practical NTC interface: protection and filtering

These circuits add input protection and filtering to the thermistor voltage divider. DTVS diverts input transients, RS limits current into the clamps, DH and DL clamp the ADC signal, and CF filters noise and supplies brief ADC sampling current.

The calculator chooses or checks Rf. The added TVS, series resistor, clamp diodes and capacitor require separate selection for your ADC and expected faults. RS ≈ 2 kΩ and CF = 100 nF (0.1 µF) are example starting values to evaluate for a slow thermistor interface, not universal recommendations. Verify them using the checks below.

On a narrow screen, scroll each diagram horizontally to read the labels, or open its full-size SVG.

NTC-to-ground voltage divider with a supply-side fixed resistor Rf, TVS at VDIV, series resistor RS, upper and lower clamp diodes, filter capacitor CF, and ADC input at VADC.
NTC to ground: ADC voltage falls as temperature rises. This matches the Vishay worked example. Scroll horizontally if needed, or open the full-size NTC-to-ground SVG.
NTC-to-supply voltage divider with a ground-side fixed resistor Rf, TVS at VDIV, series resistor RS, upper and lower clamp diodes, filter capacitor CF, and ADC input at VADC.
NTC to supply: ADC voltage rises as temperature rises. The same selection checks apply. Scroll horizontally if needed, or open the full-size NTC-to-supply SVG.

DTVS: start with the normal signal voltage

Choose a low-leakage TVS with a reverse working or standoff voltage, VRWM, above the highest normal VDIV at its connection, including supply tolerance and operating conditions. VBR is breakdown at a specified test current; putting VBR above the signal voltage alone does not establish low leakage.

VC is the remaining voltage during a specified transient. Coordinate it with RS, the clamp diodes and component pulse ratings. Check leakage at the actual signal voltage and highest temperature, and choose ESD or surge ratings for the expected disturbance. Place DTVS near the connector with a short transient-current return.

RS: balance fault current, leakage error and settling

Too little series resistance can allow excessive fault current into DH, DL or the ADC. More resistance reduces that current, but slows capacitor recharge and increases voltage error from leakage. With no input current, RS does not change the ideal, fully settled DC divider voltage.

Values above 10 kΩ can affect acquisition and leakage error, but there is no universal cutoff. Check the ADC’s source-resistance limit, acquisition time, sample rate and external-capacitor guidance using RS + (Rf in parallel with RNTC), not RS alone. Verify resistor pulse-voltage, energy and continuous-power ratings.

Once DH is conducting, VADC is approximately VCLAMP + VF. For a first positive-pulse estimate, use I ≈ (VTVS,clamp − VCLAMP − VF) / RS when the numerator is positive. VTVS,clamp is the remaining voltage at the TVS and VF is DH’s forward voltage. Check the resulting diode, rail and ADC injection currents and the resistor’s pulse ratings. Fast-transient behavior still needs validation.

DH and DL: check forward voltage and leakage

Start with low-leakage Schottky diodes. DH’s anode connects to VADC and cathode to VCLAMP; DL’s anode connects to ADC ground and cathode to VADC. Check forward voltage at the fault current and temperature against the ADC’s pin-voltage and injection-current limits.

A Schottky label does not guarantee conduction before the ADC’s internal clamp. Temperature-dependent leakage can shift the reading. Additional resistance between the clamp node and ADC pin may be needed to limit remaining injection current; include it in the source and settling checks.

VCLAMP: use a rail that can safely accept current

Use an ADC-compatible rail or clamp circuit that can absorb injected current without an unsafe voltage rise. The ADC’s 5 V analog supply is a possible choice here only if the ADC permits that arrangement and the supply handles the fault current.

VREF is not automatically suitable: many references cannot absorb current. Check powered-off conditions: injection can back-power a rail, and a powered clamp rail may not protect an unpowered ADC. Follow the ADC manufacturer’s protection circuit.

CF: filter noise and supply sampling charge

Place CF close to the ADC input with a short ADC-ground connection. It filters noise and supplies charging current to the ADC’s internal sampling capacitor. Too little capacitance can allow sampling disturbance or incomplete settling; the reading may be high or low, depending on the previous sample and ADC architecture.

Too much capacitance slows startup and signal changes. Allow recharge between samples and check acquisition timing and channel switching. Select effective capacitance, tolerance, leakage and voltage rating for the actual circuit.

Check the total source resistance and filter response

For a first-order estimate with nominal components and no ADC loading or protection leakage:

Rsource = RS + (Rf × RNTC) / (Rf + RNTC)
τ = Rsource × CF
fc = 1 / (2π × τ)

For the worked example’s 10 kΩ Rf and −20°C to 80°C R–T data, adding RS = 2 kΩ and CF = 100 nF gives τ ≈ 0.312–1.106 ms and fc ≈ 144–511 Hz. These filter estimates do not replace an ADC acquisition and settling check.

The earlier 10 kΩ source-impedance limit checks only the bare divider. Adding RS raises the cold-end nominal total to about 11.06 kΩ. A local capacitor can help sampling, but the chosen ADC must support the complete network. The calculator’s divider Pass result does not validate the added protection and filtering components.

Further reading: TI: How to Select a Surge Diode, Analog Devices: Protecting ADC Inputs, TI: ADC Sampling and Charge-Reservoir Filtering, and Analog Devices: Using Analog Temperature Sensors with ADCs.

Optional buffer and signal conditioning

A unity-gain buffer, also called a voltage follower, can drive another circuit while drawing very little current from the thermistor divider. An ideal follower reproduces the divider voltage, helping prevent an added load from changing the temperature reading. Connect the protected divider signal to the noninverting (+) input, feed the output back to the inverting (−) input, and drive the additional load from the output.

Choose an amplifier that is stable at unity gain. Check its input voltage range, linear output range and load-current capability at the actual supply voltage, temperature and load; a rail-to-rail label does not guarantee accurate operation exactly at either supply rail. Follow the manufacturer’s supply-bypass recommendations.

  • Allow for amplifier error. Input bias current, leakage, input offset, drift and noise can affect the reading. Use worst-case specifications over the operating temperature range.
  • Check loading and settling. ADC capacitors, cables and long traces can make a buffer ring or oscillate. Follow the amplifier manufacturer’s isolation or compensation guidance and verify settling before sampling.

A gain-and-offset stage changes the signal according to Vout = A × Vdivider + B, where A is gain and B is an offset voltage. It can use more of an ADC’s range, but it also changes the ADC-code-to-temperature relationship. Check that the scaled output stays within the amplifier and ADC ranges across the full temperature and tolerance range. Rebuild the conversion for the complete circuit, or correctly undo the gain and offset before converting. Voltage scaling does not make the thermistor response linear.

This calculator models the direct resistor divider. It does not model buffer loading, amplifier errors, active gain or offset, or amplifier stability. A real unity-gain buffer needs an error allowance; adding gain or offset requires an updated conversion rather than using the direct-divider firmware unchanged.

See Texas Instruments: Buffer (Follower) Circuit and Analog Devices: Avoiding Instability Due to Capacitive Loading for design guidance.

Generate and use thermistor C code

Open C Code & Export after reviewing the circuit. Choose an integer lookup table, floating-point lookup table or floating-point equation. Imported R–T data supports lookup tables; equation export uses the Beta or Steinhart–Hart model.

Choose how to build a thermistor lookup table:

  • Automatic: meet an error target adds entries to reduce conversion error. Review the achieved error; the requested target may be too small for the selected output scale.
  • Fixed temperature spacing places entries at the requested temperature steps, subject to distinct usable ADC codes.
  • Fixed number of entries uses the Lookup table entries setting. That setting does not control the other table-building methods.

Leave export temperatures blank to use the operating range, or enter a smaller interval inside it. Integer output uses degrees C multiplied by 10, 100 or 1000. At scale 100, 2500 means 25.00°C. The optional Fahrenheit function uses the same scale. Extra stored digits do not increase hardware accuracy.

Download C Code saves the conversion functions and a commented integration example. C99 means the 1999 C language standard. The example main() uses a sample ADC code; replace it with a reading from your hardware and enable the example only when needed.

Configure the ADC bit depth, divider supply and reference to match the exported design. Allow the ADC acquisition capacitor to settle, call the conversion routine with a raw ADC code, and check its returned status before using the temperature. Invalid or out-of-range codes alone do not establish an open sensor, short circuit or other wiring fault. Validate the complete assembly at known temperatures.

For lookup-table exports, Lookup Table CSV contains the points used by the C conversion. For equation exports, Model Checkpoints CSV contains nominal reference points for comparison; the equation code does not use them. 1°C Reference CSV provides a separate resistance, voltage and ADC check table at 1°C steps, plus the export endpoints.

Back to calculator ↑

Theory & Formulas

ShowHide

Thermistor Beta equation

The Beta model estimates NTC resistance from R25 and the Beta coefficient. Use absolute temperature T in kelvin, Celsius temperature t, and resistance R in ohms:

T = t + 273.15
R(T) = R25 · exp[B · (1/T − 1/298.15)]
1/T = 1/298.15 + ln(R/R25)/B

R25 is resistance at 25°C, or 298.15 K; B is Beta in kelvin. The inverse equation converts resistance back to temperature. Here exp is the exponential function and ln is the natural logarithm. A single Beta value approximates the curve over a limited range.

Steinhart–Hart equation

When the manufacturer supplies three coefficients, the resistance–temperature relationship is:

1/T = A + B · ln(R) + C · [ln(R)]³

T is in kelvin and R is in ohms. A, B and C must match that unit convention. The Steinhart–Hart B coefficient is different from the Beta coefficient above. The calculator solves the equation numerically to obtain resistance; it does not fit coefficients.

Imported resistance–temperature table interpolation

Between imported R–T points, the calculator uses straight segments of ln(R) versus 1/T, with T in kelvin. This preserves positive resistance and matches the supplied points. It does not interpolate resistance linearly against Celsius, extrapolate beyond the table, or add accuracy beyond the source data.

Thermistor voltage divider

The ADC measures the junction between the thermistor and fixed resistor. Vs is the divider supply voltage, R is thermistor resistance and Rf is fixed resistance. Both circuits share a common ground.

NTC to ground: Vout = Vs · R / (Rf + R)
NTC to supply: Vout = Vs · Rf / (Rf + R)

With the NTC connected to ground, Rf connects to the supply as a pull-up resistor; voltage falls as temperature rises. With the NTC connected to supply, Rf is the pull-down resistor to ground; voltage rises as temperature rises.

ADC to temperature conversion

The ideal ADC converts divider voltage into an integer code. N is ADC bit depth and Vref is its reference voltage:

M = 2ᴺ − 1
code = round(M · Vout / Vref)

For 12 bits, M = 4095 and the ADC has 4096 possible codes. The calculator uses the endpoint-scaled convention code/M. Real ADC transition thresholds and full-scale specifications depend on the device. The exported conversion rejects zero, full-scale and readings outside its valid temperature interval before producing a temperature.

Temperature resolution and sensitivity

Sensitivity is the change in output voltage per °C. Dividing the voltage represented by one ADC count by sensitivity gives the local temperature step:

Sensitivity = |dVout/dt|
Nominal resolution = Vref / (M · |dVout/dt|)
Beta model: dR/dT = −B · R / T²
dVout/dt = ±Vs · Rf · (dR/dT) / (Rf + R)²

The derivative sign depends on the thermistor connection; resolution uses its magnitude. Sensitivity is in V/°C and resolution is in °C/count. Greater sensitivity gives a smaller temperature step per count. The largest step across the checked range describes the least favorable local resolution, not overall accuracy.

How the fixed resistor is selected

Find a Resistor checks standard E-series values inside the search resistance range. It rejects candidates that fail the configured current, power, self-heating, ADC source impedance or ADC range limits, then ranks the remaining values by Selection priority:

  • Lowest estimated temperature error: minimize the largest sampled combined error estimate.
  • Finest temperature resolution: minimize the largest sampled temperature step per ADC count.
  • Lowest thermistor power: minimize the peak sampled sensor power while meeting the other limits.
  • Widest ADC count range: use more ADC codes across the operating range.

Repeated inputs give the same tie-break result. The stated temperature step and imported points determine the checked temperatures; a peak between them can be missed. Check a Resistor evaluates the entered fixed value. Its series and search settings affect alternative suggestions, not whether that value can be checked.

Component tolerances and estimated temperature error

At each checked temperature, the calculator combines the specified component tolerance limits. It calculates the resulting ADC ratio and converts that reading with the nominal model. The difference from the actual temperature is the signed tolerance error.

The lower and upper curves show the evaluated negative and positive errors, which can be asymmetric. Maximum tolerance error reports their largest magnitude. The combined estimated temperature error adds this magnitude, a local half-count contribution and nominal self-heating where a dissipation constant is supplied, then takes the largest sampled result.

Ideal ADC quantization is approximated as ±½ count, converted to °C through local sensitivity. The estimate is not guaranteed total accuracy. Correlated or unspecified tolerances, ADC gain/offset/nonlinearity, noise, leakage, lead resistance, settling, thermal contact and sensor-model error require separate assessment. Steinhart–Hart coefficients alone do not supply manufacturing tolerance.

Thermistor current, power and self-heating

Divider current heats the thermistor. The dissipation constant D relates sensor power to a first-order temperature rise:

I = Vs / (Rf + R)
Pntc = I² · R
Estimated Δt = Pntc / D

I is in amperes and Pntc is in watts. For Δt, use compatible units such as power in mW and D in mW/°C; the result is °C. Dissipation depends on mounting and airflow. This is an estimated temperature rise, not a thermal-feedback simulation or a component power-rating check.

ADC source impedance

The ADC sees the parallel combination of the thermistor and fixed resistor:

Rsource = (Rf · R) / (Rf + R)

Rsource is in ohms. Compare its maximum with the ADC datasheet requirement for the chosen acquisition time. The calculator checks the entered impedance limit; it does not simulate charging of the ADC’s sampling capacitor.

Ratiometric thermistor measurement

When the divider and ADC reference physically share the same supply, Vs cancels from Vout/Vref. Shared supply variation alone then leaves the ideal ADC code unchanged, although current and power still change. A separate reference needs its own voltage and tolerance. Equal nominal voltages do not by themselves establish a ratiometric connection; wiring drops and different reference paths can prevent cancellation.

Thermistor lookup tables and C code

The generated lookup-table conversion finds the two surrounding ADC codes, then interpolates between their temperatures:

t = t₀ + (code − code₀) · (t₁ − t₀) / (code₁ − code₀)

The subscripts 0 and 1 identify neighboring table entries. Codes are unique and sorted in increasing order for either thermistor connection, even when temperature decreases with code. More entries use more memory and can reduce approximation error. Reported firmware conversion error compares this conversion with the nominal model over the stated ADC checks; it is not physical sensor accuracy.

Integer firmware stores temperatures scaled by 10, 100 or 1000. At scale 100, 2500 = 25.00°C and −1250 = −12.50°C. Wide intermediate arithmetic avoids multiplication overflow, and exact halfway values round away from zero for both signs. Displaying hundredths does not mean the hardware resolves hundredths.

°F = °C · 9/5 + 32
F_scaled = rounded(C_scaled · 9/5) + 32 · scale
At scale 100: F_x100 = rounded(C_x100 · 9/5) + 3200

The floating-point equation option converts the ADC code to resistance, evaluates the Beta or Steinhart–Hart inverse using the natural logarithm, and converts kelvin to Celsius. It uses the C math library and validates the reading before logarithms or division. Equation code has no lookup approximation, so that error is shown as Not applicable. Compiler and math-library rounding still need separate validation. C99 identifies the 1999 C language standard used by the generated source.

References and further reading

Vishay: Selecting NTC Thermistors (PDF) explains dissipation constant, mounting, self-heating and sensor selection.

Analog Devices: Thermistor-Based Temperature Sensing System—Part 1 discusses thermistor signal conditioning and measurement trade-offs.

Back to calculator ↑