This practical guide shows how to read a nominal 10 kΩ NTC thermistor with an Arduino. The resistance value alone does not define a complete sensor curve: check the exact part datasheet for its reference temperature, R/T table or Beta value, tolerance and permitted measurement conditions before using calculated temperatures.
Introduction
A 10 kΩ NTC is commonly specified as 10 kΩ at a stated reference temperature, often 25 °C, but confirm the reference point for your part. NTC resistance falls as temperature rises. The Arduino measures the voltage from a resistor divider; software then estimates resistance and converts it using the sensor’s R/T data.
How Does an NTC Thermistor Work?
An NTC thermistor has a negative temperature coefficient. A Beta equation can approximate its resistance-temperature relationship over a limited range when the correct Beta value and reference points are known. For wider or tighter-accuracy ranges, use the manufacturer’s R/T table or supported Steinhart–Hart coefficients. Beta and Steinhart–Hart are distinct models; do not substitute a generic value for the exact part data.
Applications
Thermistors can be used for temperature measurement or compensation when the sensing element, mounting, readout circuit and operating range are matched to the application. An Arduino demonstration is useful for learning and prototyping; it does not establish calibration, environmental suitability or production compliance.
Interfacing the NTC Thermistor with Arduino
Example divider for a typical 10-bit Arduino Uno: connect the NTC between the board’s 5 V rail and A0, and a 10 kΩ fixed resistor between A0 and GND. Connect grounds together. In this arrangement, calculate RNTC = Rfixed × (1023 / ADC − 1). If the divider order, analog reference or ADC resolution differs, change the wiring equation and full-scale value accordingly. Select the fixed resistor for your expected temperature range and check divider current and thermistor self-heating.
Arduino Code Example
The sketch below demonstrates the calculation for the stated divider and a 10-bit ADC. The 10 kΩ reference resistance, 25 °C reference temperature and Beta value are example placeholders only. Replace them with values and reference points from the exact thermistor datasheet; verify the resulting readings against a suitable reference thermometer.
const int thermistorPin = A0;
const float SERIES_RESISTOR = 10000.0; // fixed resistor from A0 to GND
const float R0 = 10000.0; // example NTC resistance at T0
const float T0 = 298.15; // example reference: 25 °C in kelvin
const float BETA = 3950.0; // example only; use exact datasheet value
const float ADC_MAX = 1023.0; // 10-bit ADC, e.g. classic Uno
void setup() {
Serial.begin(9600);
}
void loop() {
int adc = analogRead(thermistorPin);
if (adc <= 0 || adc >= ADC_MAX) {
Serial.println("ADC out of range; check divider and wiring.");
delay(1000);
return;
}
float rNtc = SERIES_RESISTOR * (ADC_MAX / (float)adc - 1.0);
float tempK = 1.0 / (1.0 / T0 + log(rNtc / R0) / BETA);
float tempC = tempK - 273.15;
Serial.print("Resistance: ");
Serial.print(rNtc);
Serial.print(" ohm; Temperature estimate: ");
Serial.print(tempC);
Serial.println(" C");
delay(1000);
}
This Beta approximation is not a calibration certificate. For product design, validate the complete sensor, wiring, ADC reference, conversion method, thermal contact, response time, tolerance and self-heating over the required operating range.
Conclusion
An Arduino can read a 10 kΩ NTC through a divider, but trustworthy results depend on the exact R/T curve and circuit. See our NTC circuit design guide and NTC R/T curve guide. For an OEM assembly, review our NTC sensor range or send your operating range and interface requirements.
Technical references: TDK NTC general technical information and Analog Devices CN0545 thermistor circuit note.


