Reading the temperature with the Arduino is a very useful task. There are a wide variety of temperature sensors with different features that you can use in your projects. In this article, we’ve put together a compilation of 9 affordable temperature sensors compatible with the Arduino and other development boards (like ESP32 or ESP8266).

The DHT11 is a digital temperature sensor that measures temperature and relative humidity.
These sensors contain a chip that does analog to digital conversion and spit out a digital signal with the temperature and humidity. This makes them very easy to use with any microcontroller, including the Arduino.
The following table shows the most relevant specifications of the DHT11 temperature sensor.
| DHT11 | |
| Communication protocol | one-wire |
| Power supply range | 3 to 5.5 V |
| Temperature range | 0 to 50 ºC +/-2 ºC |
| Humidity range | 20 to 90% +/-5% |
| Sampling period | 1 second |
| Arduino libraries | Adafruit DHT Library Adafruit Unified Sensor Library |
| Where to buy? | Check prices |
We have a dedicated guide on how to use this sensor with the Arduino:
The DHT22 temperature sensor is very similar to the DHT11. It also measures temperature and humidity and the pinout is the same. It is slightly more expensive, but it is more accurate and it has a wider temperature and humidity measurement range.
The following table shows the most relevant specifications of the DHT22 temperature sensor.
| DHT22 | |
| Communication protocol | one-wire |
| Power supply range | 3 to 6 V |
| Temperature range | -40 to 80 ºC +/-0.5ºC |
| Humidity range | 0 to 100% +/-2% |
| Sampling period | 2 seconds |
| Arduino libraries | Adafruit DHT Library Adafruit Unified Sensor Library |
| Where to buy? | Check prices |
Learn how to use the DHT22 temperature sensor with the Arduino with the following tutorial:
The LM35DZ is a linear temperature sensor that comes directly calibrated in Celsius. The analog output is directly proportional to the temperature in Celsius: 10 mV per degrees Celsius rise in temperature.
This sensor is very similar with the LM335 (calibrated in Kelvin) and with the LM34 (calibrated in Fahrenheit).
The following table shows the most relevant specifications of the LM35 temperature sensor.
| LM35DZ | |
| Communication protocol | analog ouput |
| Power supply range | 4 to 30 V |
| Temperature range | -55 to 150ºC |
| Accuracy | +/-0.5ºC (at 25ºC) |
| Interface with Arduino | analogRead() |
| Where to buy? | Check prices LM35 LM335 LM34 |
Learn how to use the LM35DZ, LM335 or LM34 temperature sensors with the Arduino:
Although the BMP180 is a barometric pressure sensor, it also measures temperature. This is very useful to include in any weather station project.
The following table shows the most relevant specifications of the BMP180 sensor when it comes to temperature reading.
| BMP180 | |
| Communication protocol | I2C |
| Power supply range | 1.8 to 3.6V (for the chip) 3.3 to 5V for the module |
| Temperature range | 0 to 65ºC |
| Accuracy | +/-0.5ºC (at 25ºC) |
| Interface with Arduino | Adafruit BME085 Adafruit Unified Sensor Library |
| Where to buy? | Check prices |
Check the following tutorial to learn how to use the BMP180 sensor with the Arduino to measure pressure, temperature and estimate altitude:
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 temperature sensor.
Check the TMP36 most relevant specifications on the following table.
| TMP36 | |
| Communication protocol | analog output |
| Power supply range | 2.7 V to 5.5 V |
| Temperature range | -40°C to +125°C |
| Accuracy | +/-1ºC (at 25ºC) |
| Interface with Arduino | analogRead() |
| Where to buy? | view on eBay |
The LM75 sensor is another useful temperature sensor. It works via I2C communication, which means that it communicates with the Arduino using the SDA and SCL pins. You can find one of these sensors for approximately $2 (view on eBay).
Take a look at the following table for a summary of the LM75 sensor specifications.
| LM75 | |
| Communication protocol | I2C |
| Power supply range | 3.0 to 5.5V |
| Temperature range | -55 to 125ºC |
| Accuracy | +/-2.0ºC (at -55 to 125ºC range)) |
| Interface with Arduino | I2C Library for LM75 |
| Where to buy? | view on eBay |
The BME280 is a barometric sensor that also measures temperature and humidity. It can communicate via I2C or SPI communication protocol and the BME280 module can be powered either with 3.3 or 5V.
The following table shows a summary of the BME280 sensor specifications when it comes to the temperature sensor.
Take a look at the following table for a summary of the LM75 sensor specifications.
| BME280 | |
| Communication protocol | I2C or SPI |
| Power supply range | 1.7 to 3.6V (for the chip) 3.3 to 5V for the board |
| Temperature range | -40 to 85ºC |
| Accuracy | +/-0.5ºC (at 25ºC) |
| Interface with Arduino | Adafruit BME280 library Adafruit Unified Sensor Library |
| Where to buy? | Check prices |
Learn how to use the BME280 with the Arduino to get temperature, humidity and pressure readings:
The DS18B20 temperature sensor is a one-wire digital temperature sensor. This means that it just requires one data line (and GND) to communicate with the Arduino.
Each DS18B20 temperature sensor has a unique 64-bit serial code. This allows you to wire multiple sensors to the same data wire. So, you can get temperature from multiple sensors using just one Arduino digital pin.
The following table shows the most relevant specifications of the DS18B20 temperature sensor:
| DS18B20 | |
| Communication protocol | one-wire |
| Power supply range | 3.0 to 5.5V |
| Operating temperature range | -55ºC to +125ºC |
| Accuracy | +/-0.5 ºC (between the range -10ºC to 85ºC) |
| Arduino libraries | DallasTemperature OneWire |
| Where to buy? | Check price on Maker Advisor |
Learn how to use the DS18B20 temperature sensor with the Arduino:
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.
Where to buy? Compare the waterproof DS18B20 temperature sensor prices on Maker Advisor.
Copyright ©2025. All Rights Reserved Emblab THE RAVE INNOVATION