Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Brian J. Murrell
#73299 I have a need to read multiple (let's say, 4) 1MOhm (@25C) thermistors. The range of resistance for these is from 2-3MOhm at the lower end down to about 500R at the upper end and the differences in resistance at the outsides is minimal. This is what a plot if their curve looks like:

Image

Given the limitation of the ESP8266's a single analog input and it being only 10-bit I am looking for an ADC multiplexer with something better than 10-bit resolution that I can read with a NodeMCU module.

Any suggestions?
User avatar
By btidey
#73309 An external ADC will help a lot but if you have a single sense resistor then you will have to be careful with external offset voltages and noise at the extremes. It is certainly a viable method particularly if you want the best accuracy at one end of the range. My 3D printer does use this method for the hot end with a 12 bit ADC but uses a sense resistor value to give the best accuracy at the hot end where it is needed for servo control.

If you want to maximise accuracy across the whole range then you want either multiple sense resistors or some other signal conditioning to counteract the exponential nature of a thermistor.