I've got an NTC thermistor. This one, to be exact. It has a table of resistances corresponding to temperatures. I've used it to derive a Steinhart-Hart equation using the NTC's resistances at 0°C, 20°C, 40°C, and 60°C. I've used the equation and calculator on this website to do so.

When I measure the temperature of the air, it works great. PT1000 thermometer tells me 21.1°C, thermistor tells me 21.1°c. But when I put it under my tongue, it tells me 34.4°C, while the thermometer tells me 36.4°C. A whole 2°C difference!

When I put the thermistor in a cup of water with the thermometer, the thermometer tells me 20°C. The thermistor, 19°C.

I've tried using a different set of coefficients corresponding to resistances at 0°C, 35°C, 70°C, and 110°C, but it makes no difference. I was about to type in the whole table from 0°C to 55°C, but something tells me that's not the way.

I've read some of the posts regarding NTC's on this forum, and came across thermal dissipation constant. My thermistor has a dissipation constant of 1mW/°C. However, for all temperatures of interest to me, 0-55°C, the wattage through the thermistor will be under 0.3mW.

I need it for load cell temperature compensation. I will be applying thermal paste to it and covering it with Kapton tape.

I did get the thermometer off eBay second-hand, but it's been calibrated this year, according to its label, so I trust it. It reports the temperature of ice-water correctly, anyways, and I need to assume I have one correct temperature reading. The thermometer: link.

I don't doubt my ADC, as it's an ADS1115. However, when I try to measure the input voltage (3.3V) on another channel at the same time as the thermistor voltage, the thermistor reading changes. Weird. I suspect it's my code, but I'm leaving it alone for now. 3.3V or 3.27V won't account for the difference I'm seeing, I've tried.

My setup: enter image description here

Any suggestions/explanations?

  • 2
    \$\begingroup\$ How long did you give it for the temperature to stablise? How accurate is your ADC? What excitation current are you using? Have you used the look up table in the datasheet for what you think your NTC is reading? You're out by only 1 or 2 degrees C, which isn't that bad, if your two sensors are both out by half a degree (which they could easily be) you're error is within your sensor error bounds. \$\endgroup\$
    – Puffafish
    Commented Sep 28, 2023 at 10:23
  • \$\begingroup\$ Were the thermistor leads in contact with water or saliva? They are conductive liquids that may alter the resistance measured. Also why you don't suspect the ADS1115, as clearly it's not converting the thermistor correctly if it gives different readings based on readings of other channels. But you are not telling what ADS1115 settings you use. You also have a ratsnest of wires right next to a RF transmitter it seems. \$\endgroup\$
    – Justme
    Commented Sep 28, 2023 at 10:39
  • \$\begingroup\$ Waited until temperature stopped changing. Around a minute under my tongue. Excitation current? I connect Voltage divider to 3.3V (Vcc), that's it. Resolution of the ADC is 16-bit, which is overkill, but it's what I have on hand. ...I just checked again and it's working fine, now... Maybe it's the breadboard or RF noise. I'll try adding a 100nF ceramic capacitor and try on stripboard. \$\endgroup\$
    – Popeye
    Commented Sep 28, 2023 at 10:53
  • \$\begingroup\$ @Justme, the ADS1115 is fine, I think, but using it for multiple channels needs slightly different code than what I used. The leads and thermistor are coated. The rat nest of wires could absolutely be an issue, and my breadboard, too. I'm closing my question. \$\endgroup\$
    – Popeye
    Commented Sep 28, 2023 at 10:58

1 Answer 1


I changed nothing about my setup or software, yet I tried again after a few minutes and my thermometer and thermistor were in perfect agreement. I suspect my stripboard and RF interference to be the problems.

Overall, I really recommend the thermistor. Only one I could find with paperwork and such long leads (20cm).

Question closed, thank you.

  • 1
    \$\begingroup\$ If you're using a cheap breadboard (akin to a SuperStrip) that you got from a hobbyist store, many of those have horrible contacts where the resistance between the inserted wire and contact can have many ohms of resistance. Just touching the components can cause the resistance to go from under 1 ohm to tens to hundreds of ohms. \$\endgroup\$
    – qrk
    Commented Sep 28, 2023 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.