Reading the temperature with the Arduino is a very useful task. It is commonly used in a weather station project or in a home thermostat, for example. There are several ways of measuring the temperature.
I put together a list of 9 temperature sensors compatible with the Arduino that you can use in your electronics projects. These are great for hobbyist projects since most of them are easy to deal with and also very affordable.
Here’s the list:
If you follow my tutorials you should be quite familiar with this sensor, because it is the one I use more often.
Besides reading temperature, it also reads humidity. This is definitely a good performance/cost option. The only drawback is that it only can read the digital signal once every 2 seconds.
The cost of this sensor varies from $1 to $5 (view on eBay).
I have a guide on how to use this sensor with Arduino. You can check it on the following link:
The DHT22 sensor is very similar to the DHT11 and it also measures temperature and humidity. It is slightly more expensive, but it is more accurate and can read temperature and humidity more than once every second. It is available from $4 to $10 (view on eBay).
The way you use this sensor with the Arduino is the same as for the DHT11: the wiring and the libraries are the same.
So if you are planning using this sensor, you can read the following guide:
The LM35DZ is another analog sensor and it comes directly calibrated in Celsius. The analog output is directly proportional to the temperature. It is very similar to the TMP36 temperature sensor.
You can find this sensor on eBay for less than $2 (view on eBay).
Although this is a barometric pressure sensor, it also measures temperature. This is very useful to include in any weather station project.
Download our Free eBooks and Resources
You can grab one of these sensors at eBay for about $4 (view on eBay).
Check the following post to know more about this sensor with the Arduino:
The TMP36 is an analog temperature sensor. It outputs an analog value that is proportional to the ambient temperature. It is very similar to the LM35 sensor.
This sensor is available for about $2 (view on eBay).
The LM75 sensor is another useful one. It works via I2C communication, which means that it communicates with the Arduino using the SDA and SCL pins. You can find one for about $2 (view on eBay).
The TMP100 sensor has two address pins, which makes it possible to control up to eight sensors on a single I2C bus.
This sensor looks like a spider and is not breadboard friendly. So, if you are interested in it, it is better to acquire a breakout board with a built-in TMP100 sensor (view on eBay).
The DS18B20 sensor communicates via one-wire interface. This means that it communicates with the Arduino using only one pin. It has a unique serial number, which allows you to interface more than one sensor on the same data bus.
The sensor is very cheap, you can find one on eBay between $1 to $2 (view on eBay).
If you want to know how to use this sensor with the Arduino you can check the following post.
9. Waterproof DS18B20
The DS18B20 is also available in waterproof version (read the DS18B20 guide). The wires are protected with PVC which is ideal if you need to measure the temperature of liquids, or if the sensor needs to be exposed to water.
The wiring and specifications are the same as for the normal DS18B20. The waterproof version remains as cheap as the regular one (view on eBay).
I hope you’ve found this list useful. Which one is your favorite temperature sensor? What’s the sensor that you use more often?
Let me know by leaving a comment below.
Thanks for reading,
Rui and Sara
P.S. I recommend reading: 21 Arduino Modules You Can Buy For Less Than $2