Thank you all for your comments.
Self-heating can affect all temperature sensors mentioned in the this article. It can be minimized by controlling the power consumption/dissipation of the sensor. Furthermore, self-heating in integrated sensors can be treated as an offset error and minimized by the second calibration technique.
In the resistive transducer case, a ratiometric configuration is indeed a powerful technique to eliminate ADC voltage reference error.
I encourage readers to explore and evaluate all types of temperature sensors for the desired application. For those interested in thermistors, SPLatman's tutorial and linearization looks like a good resource. For those interested in the C8051F39x, below are the entire contents in main() to obtain and +/- 2'C measurement:
// Disable watchdog timer
PCA0MD &= ~0x04;
// Change SFRPAGE to access TS0CN register
SFRPAGE = TS0CN_PAGE;
// Start temp sensor conversion
TS0CN |= 0x80;
TS0CN &= ~0x80;
// Wait for conversion to complete
while ((TS0CN & 0x40) != 0x40);
// Clear finished flag
TS0CN &= ~0x40;
// Change SFRPAGE to access TS0DAT register
SFRPAGE = TS0DAT_PAGE;
// Save temperature in degrees C
myTemp = TS0DAT;
Agree about the great value-for-money of thermistors. The usual measurement method is ratiometric to a reference resistor, also, and a 0.1% resistor is far cheaper than a 0.1% voltage reference. So the comment in the article about ADC reference affecting the results isn't correct in the resistive transducer case.
Really like the tutorial on Excel polynomial fitting BTW, SPLatMan! How I missed this capability for so many years I'll never know.
Thermistors are not linear. RTD's are approximately linear. MCUs have internal temperature rise, which was not mentioned. An on-chip temp sensor is fine - for measuring die temperature.
In terms of bang for buck thermistors take the prize, IMHO. As a rule of thumb, % accuracy of the thermistor is about the same as 'F accuracy. Betatherm and the like have thermistors down to 0.05'C accuracy, out of the box. Common or garden 2% thermistors are about as accurate as premium grade semiconductor devices. We routinely get 0.1'C resolution with a 10-bit ADC.
Thermistor tutorial, including linearization: http://www.splatco.com/skb/1856.htm
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.