These 1-wire digital temperature sensors are fairly precise (± 0.5 °C over much of the range) and can give up to 12 bits of precision from the onboard digital-to-analog converter. They work great with any microcontroller using a single digital pin, and you can even connect multiple ones to the same pin, each one has a unique 64-bit ID burned in at the factory to differentiate them. Usable with 3.0 - 5.0V systems. The only downside is they use the Dallas 1-Wire protocol, which is somewhat complex, and requires a bunch of code to parse out the communication.
There's a great Arduino library for 1-Wire, but some microcontrollers do not have support for 1-Wire so be sure to check!
Usable temperature range: -55 to 125°C (-67°F to +257°F) 9 to 12 bit selectable resolution Uses 1-Wire interface- requires only one digital pin for communication Unique 64 bit ID burned into chip Multiple sensors can share one pin ± 0.5 °C Accuracy from -10°C to +85°C Temperature-limit alarm system Query time is less than 750ms Usable with 3.0V to 5.5V power/data