Arduino Temperature Sensor: How to use Temperature Sensing chips for Easy Temperature Measurement from standard room temperature to 1000's of Degrees Centigrade.

Arduino temperature sensors:

There are many types of temperature sensors:

  • Some are integrated with built in digital logic e.g. DS18B20 - (network expandable).

  • Some output a linearised voltage e.g. LM35 - (easy to use).

  • Some are resistance based e.g. thermistor - (not so easy to use, but low cost).

  • Some use the Seebeck effect for extreme temperature e.g. thermocouple.

Choosing a sensor depends on the range you want to measure and the accuracy you need (and the cost requirement).

Measuring temperature is quite easy on an Arduino, you will either:

  • Use the ADC to read the voltage output of an analogue sensor,
  • Use a digital interface such as 1-wire to read multiple sensors,
  • Use a thermocouple with a digital interfacing chip.

Follow the links to find out how to use the most popular types:

Arduino Temperature Sensors with serial interface


ds18b20 pin connections

The DS18B20 is a digital chip that has a unique ID laser engraved into it and it uses a 1-wire protocol that allows you to attach it to a single pin of a microcontroller.

So if you have used up all the ADC this one lets you use a digital pin to read temperature. The other advantage that this device has is that you can use a single wire and add multiple DSo18BB0s t that wire. You can read temperature from each device using the 1-wire protocol.

It means you can have lots of sensors wired into a large area and all you need is a single wire pair to use them!

Click here to go to the "DS18B20" page.

Arduino Temperature Sensors for extreme temperatures


The MAX6675 is a type K thermocouple interface chip that allows you to measure from 0ºC to 1024ºC. It provides the cold compensation required to make more accurate readings, so all you do is connect it up and use the digital interface to get the temperature from it. MAX6675 breadkout board

It works using the Seebeck effect that shows when two dissimilar metals are in contact a current flows, and this current also changes with temperature.

The MAX6675 is limited to 1024ºC since a 12bit ADC is employed inside the chip. If you rolled your own you could get the type-K thermocouple to give you readings from -200ºC to 1350°C but the chip is far easier to use!

Click here to go to the "MAX6675" page.

Arduino Temperature Sensors with analogue output


For a standard range Arduino temperature sensor the LM35 outputs a linear voltage with 1ºC proportional to 10mV. So using the ADC on an Arduino gives you a voltage representing temperature that is easy to use.

This is a 3 pin chip that looks like a transistor and you can buy it in a standard TO92 shape or TO220 (to bolt onto a heatsink - useful for an electronic load).

Click here to go to the "LM35" page.


Have your say about what you just read! Leave me a comment in the box below.

Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.

Privacy Policy | Contact | About Me

Site Map | Terms of Use