I have a NTC thermistor with R0 = 10kΩ at 25° and a Sensitivity index (B) : 4080 +/- 3% (25-85°) and I have an op amp.

I'd want to measure a temperature from 20° to 100° or so. I don't need an extreme precision.

How do I have to proceed ? Should I use a Wheatstone Bridge Circuit ? Do I have to linearize my curve between resistivity and temperature ?

Thank you for your answer

  • \$\begingroup\$ Ntc has its resistance up and down with temperature changes. So just measure its resistance and look at the datasheet to convert that to temperature. \$\endgroup\$
    – dannyf
    Apr 27, 2017 at 15:29
  • \$\begingroup\$ What should be the output? A voltage that is exactly the same number as the temperature in degrees Celsius, so you can read the temperature on a multimeter? A voltage between 0V and 1V, so you can connect it to the analog input of an Arduino that uses the internal voltage reference? \$\endgroup\$ Apr 27, 2017 at 15:34
  • \$\begingroup\$ Yes, I have to connect it to an Arduino \$\endgroup\$
    – Labrioche
    Apr 27, 2017 at 15:45

2 Answers 2


20°C to 100°C is a fairly wide range for a thermistor with \$\beta=4080\$- you will be dealing with a large dynamic range (about 30:1) or you will have to add some parts to sort-of roughly linearize it.

If you measure the resistance you can use the Steinhart–Hart equation to calculate the temperature from the resistance.

enter image description here

The resistance change of a 10K thermistor for 0.1°C at 20°C is about -58 ohms. At 100°C it is more like -1.9 ohms, so the measurement at higher temperatures will tend to be noisy or jumpy (perhaps quantization noise) if the resistance measurement is linear.

Cheap temperature meters convert the resistance into a relative frequency count (digitally) compared to a reference resistor and use an equation, however the measurement is done typically to a resolution of more than 12 bits.

The simplest way with an ADC (as in your Arduino) is to use a series resistor to Vdd close the thermistor resistance at the temperature of most interest to get a ratiometric measurement. For example, if your most important temperature is 60°C you might pick something like 2.490K (that will cause some self-heating that has to be evaluated). Then it's straightforward to calculate the resistance from the ADC count, and then use Steinhart-Hart for the temperature (or a simple lookup table is better in this particular case, which can be pre-calculated using Steinhart-Hart). You don't need the op-amp at all.

  • \$\begingroup\$ So if I understand well, I can use the Steinhart-Hart equation. And I have to calculate A, B, and C with three measurements because I don't find it on my datasheet ? \$\endgroup\$
    – Labrioche
    Apr 27, 2017 at 17:52
  • \$\begingroup\$ On my data sheet, they apparently suggest to do this circuit : link \$\endgroup\$
    – Labrioche
    Apr 27, 2017 at 17:59
  • \$\begingroup\$ Yes, well you can think of the other half of the bridge as kind of a virtual set of resistors inside the microcontroller's ADC. It's probably switched capacitors but similar idea. As far as the table you can also use this less accurate method or even try to interpolate from a table they might give you (preferably using cubic splines at a minimum, linear interpolation of an exponential relationship is not likely to yield good results) \$\endgroup\$ Apr 27, 2017 at 18:07

Lots of way to use a NTC thermistor.

Wheatstone bridge (not invented by Mr Wheatstone) is a bit over kill, if you don't need precise measurements. But is a valid method, if a bit over complicated.

Personally I would use the NTC as the bottom half of a potential divider, where the top resistor gives you (close enough) the middle value of your ADC at the middle of your temperature (in your case 60). Usually you don't need an op-amp with this set up, but you could use one either for isolation or to amplify the variation (if your ADC is a bit coarse for your measurement requirements).

The second part of your question about making the response more linear; NTC tend to be pretty linear themselves, so I would be surprised if that is required. Looking at the data you've supplied about it, it has a nice linear relationship.

If, as I assumed earlier, your feeding it into an ADC of a mirco processor or controller, you can do compensation in software. If you're plugging into some hardware, then you're just looking at a crossing point, which should be simple to calculate.

  • \$\begingroup\$ Reminds me of the old adage that just about everything looks linear on a log-log graph made with a thick Sharpie. \$\endgroup\$ Apr 27, 2017 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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