Today we are going to go through the most popular ESP32-compatible temperature sensors, exploring a range of options to suit your specific needs. From basic temperature sensing with popular sensors like the DHT11 to more advanced solutions offering precision, we are going to through different temperature sensors compatible with ESP32, in groups from most popular to less popular sensors. We are going to review the following ESP32 Temperature sensors:
BME / BMP Series
BME and BMP sensors are manufactured by Bosch Sensortec. The "BME" in their names stands for "Bosch Sensortec Environmental.", while the "BMP" stands for "Bosch Sensortec Pressure.".
BME Series sensors usually come with temperature and atmospheric pressure sensors, while BMP models also include a humidity sensor. Also, some sensors come with a gas sensor.
Bosch Sensortec is a division of Bosch, a multinational engineering and technology company headquartered in Germany. Bosch Sensortec specializes in the development and production of sensors and sensor solutions for various applications, including automotive, consumer electronics, industrial, and IoT (Internet of Things).
The BME and BMP sensors offer high accuracy and reliability and provide valuable insights into air pollution and indoor environmental conditions, making them suitable for a wide range of applications, from weather monitoring to indoor air quality assessment.
BMP085 / BMP180
These are older models, with the BMP180 being an improved version of the BMP085. Since it uses I2C or SPI protocol, it is easily usable with ESP32.
Measurements:
Atmospheric pressure and temperature
Communication Protocol:
I2C or SPI
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.5°C
Pressure Range:
300 hPa to 1100 hPa
Pressure Accuracy:
±1 hPa (typical)
Operating Voltage:
1.8V to 3.6V
Operating Current:
5μA (standby), 0.5mA (measurement)
BMP280 / BME280
BMP280 an upgraded version of BMP180 with higher accuracy and lower power consumption. BME280 additionally includes a humidity sensor, but often sold by various manufacturers with the wrong labeling for BMP280. Since it uses I2C or SPI protocol, it is easily usable with any ESP32 board.
Measurements:
BMP280: Atmospheric pressure and temperature
BME280: Atmospheric pressure, temperature and humidity
Communication Protocol:
I2C or SPI
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±1°C
Humidity Range:
0% to 100% RH
Pressure Range:
300 hPa to 1100 hPa
Operating Voltage:
1.71V to 3.6V
Operating Current:
1μA (standby), 0.1mA (measurement)
BMP388 / BMP390
BMP388 and BMP390 are the improved version of BMP280, with a great difference in atmospheric pressure accuracy. The BMP390 is an improved version of the BMP388, offering better accuracy and lower power consumption. Since ESP32 supports both I2C and SPI protocols, this sensor can be easily used with any ESP32 board.
Measurements:
Atmospheric pressure and temperature
Communication Protocol:
I2C or SPI
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.5°C
Pressure Range:
300 hPa to 1250 hPa
Pressure Accuracy:
±0.08 hPa
Operating Voltage:
1.71V to 3.6V
Operating Current:
0.65μA (standby), 0.4mA (measurement)
BMP581
BME581 offers exceptional accuracy in pressure sensing with 24-bit resolution, along with low power consumption and low noise characteristics. Since it uses I2C or SPI protocol, it is easily usable with ESP32.
Measurements:
Atmospheric pressure and temperature
Communication Protocol:
I2C or SPI
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.5°C
Pressure Range:
300 hPa to 1250 hPa
Pressure Accuracy:
±0.08 hPa
Operating Voltage:
1.71V to 3.6V
Operating Current:
0.65μA (standby), 0.4mA (measurement)
BME680
The BME680's ability to additionally detect gas resistance makes it particularly useful for monitoring indoor air quality by detecting volatile organic compounds (VOCs). Since it uses I2C or SPI protocol, it is easily usable with ESP32.
Measurements:
Atmospheric pressure, temperature, humidity and gas resistance.
Communication Protocol:
I2C or SPI
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.5°C
Humidity Range:
0% to 100% RH
Pressure Range:
300 hPa to 1100 hPa
Pressure Accuracy:
±0.12 hPa
Gas Range:
0 to 60,000 ohms
Gas Accuracy:
±0.05% (typical)
Operating Voltage:
1.71V to 3.6V
Operating Current:
1μA (standby), 18mA (measurement)
AHT Series
The AHT series comprises digital temperature and humidity sensors manufactured by Aosong Electronics Co., Ltd., also known as AOSONG.
These sensors offer reliable and accurate measurements of temperature and humidity, making them suitable for a wide range of applications in both industrial and consumer electronics. They are known for their ease of use, low power consumption, and competitive pricing, making them popular choices for environmental sensing and climate control systems.
The AHT series sensors typically use the I2C (Inter-Integrated Circuit) communication protocol for interfacing with microcontrollers or other devices.
AHT10
AHT10 is the first sensor in the AHT series developed by the manufacturer. The AHT10 sensor provides moderate accuracy in temperature and humidity measurements, making it a cost-effective solution for various applications. ESP32 has an integrated I2C interface, therefore this sensor can be easily used with any ESP32.
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.8V to 3.6V
Operating Current:
10μA (standby), 20mA (measurement)
AHT20
Building upon the AHT10, the AHT20 offers improved accuracy in temperature and humidity measurements while maintaining low power consumption. Its faster response time makes it suitable for applications requiring quicker environmental data updates, providing enhanced performance compared to its predecessor. ESP32 has an integrated I2C interface, therefore this sensor can be easily used with any ESP32 board.
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.8V to 3.6V
Operating Current:
10μA (standby), 3mA (measurement)
AHT21
As the most advanced sensor in the series, the AHT21 has the highest accuracy in temperature and humidity measurements. It features low power consumption and the fastest response time among the three sensors, making it ideal for applications demanding precision. Even though it is priced higher, its performance should justify the investment. ESP32 has an integrated I2C interface, therefore this sensor can be easily used with any ESP32 development board.
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.8V to 3.6V
Operating Current:
10μA (standby), 3mA (measurement)
DHT Series
The DHT series sensors are commonly manufactured by various companies, but one of the prominent manufacturers is the same as for the AHT Series, the Aosong Electronics Co., Ltd., also known as AOSONG.
These sensors are popular due to their simplicity, affordability, and ease of use. It can be used with practically any controller, not only the ones that have I2C or SPI protocols, such as ESP32, as it is controlled with a single-wire digital interface. These sensors provide a convenient way to measure temperature and humidity. However, it's important to note that while they offer cost-effective solutions, they do not provide the same level of accuracy and reliability as more advanced sensors.
DHT11
The DHT11 sensor offers basic temperature and humidity measurements with moderate accuracy. It is an economical choice for simple environmental monitoring applications. Since this sensor uses a single-wire digital interface, you just need one digital input on your microcontroller such as ESP32.
Measurements:
Temperature and humidity
Communication Protocol:
Single-wire digital interface
Temperature Range:
0°C to +50°C
Temperature Accuracy:
±2°C
Humidity Range:
20% to 80% RH
Operating Voltage:
3.3V to 5.5V
Operating Current:
0.5mA to 2.5mA
DHT12
An improvement over the DHT11, the DHT12 provides enhanced accuracy in temperature and humidity measurements. With its compact size and low power consumption, it offers a more reliable solution for applications where space and energy efficiency are important factors. This sensor is often sold as AM2302 also. Since this sensor uses a single-wire digital interface, you just need one digital input on your microcontroller such as ESP32.
Measurements:
Temperature and humidity
Communication Protocol:
Single-wire digital interface
Temperature Range:
-20°C to +60°C
Temperature Accuracy:
±0.5°C
Humidity Range:
0% to 99.9% RH
Operating Voltage:
3.3V to 5.5V
Operating Current:
1.5mA (average)
DHT21
Similar to the DHT22, the DHT21 offers high accuracy in temperature and humidity measurements. With its stable and reliable performance, it provides an excellent balance between precision and affordability. Since this sensor uses a single-wire digital interface, you just need one digital input on your microcontroller such as ESP32.
Measurements:
Temperature and humidity
Communication Protocol:
Single-wire digital interface
Temperature Range:
-40°C to +80°C
Temperature Accuracy:
±0.5°C
Humidity Range:
0% to 100% RH
Operating Voltage:
3.3V to 5.5V
DHT22
The DHT22 sensor represents a significant upgrade from its predecessors, offering higher accuracy and a wider measurement range in both temperature and humidity. Often sold by some manufacturers as AM2302 also. Since this sensor uses the single-wire digital interface, you just need one digital input on your microcontroller such as ESP32.
Measurements:
Temperature and humidity
Communication Protocol:
Single-wire digital interface
Temperature Range:
-40°C to +80°C
Temperature Accuracy:
±0.5°C
Humidity Range:
0% to 100% RH
Operating Voltage:
3.3V to 5.5V
Dallas Series
The DS18B20 series consists of digital temperature sensors manufactured by Maxim Integrated. Uses the 1-Wire protocol for communication therefore is suitable for a wide range of microcontrollers.
DS18B20
The DS18B20 series sensors are known for their high accuracy, wide temperature range, and ease of use, making them popular choices for various temperature sensing applications. They offer digital output, allowing for simple integration with microcontrollers and digital systems, and their unique serial number feature enables easy identification and management of multiple sensors on the same bus. Since this sensor uses a single-wire digital interface, you just need one digital input on your microcontroller such as ESP32. Also, because unique sensor serial number, multiple sensors can be used on one GPIO.
Communication Protocol:
Single-wire digital interface
Temperature Range:
-55°C to +125°C
Temperature Accuracy:
±0.5°C
Operating Voltage:
3.0V to 5.5V
SHT Series
SHT Series consists of several groups of digital temperature sensors. The SHT3x-D, SHT4x, and SHTCx series refer to various models of digital temperature and humidity sensors manufactured by Sensirion. The SHT series sensors typically offer higher accuracy in temperature and humidity measurements compared to the AHT and DHT series sensors. Sensirion's SHT series sensors often have lower power consumption compared to the AHT and DHT series sensors. However, all these improvements come at a higher price and, therefore are a less popular choice for hobbyist projects.
SHT3X-D Series
The SHT3x-D Series offers reliable temperature and humidity sensing with good accuracy. It provides temperature accuracy typically around ±0.3°C and humidity accuracy around ±2% RH. These sensors are compact, supporting both I2C and SPI interfaces for communication. Suitable for a wide range of applications where moderate accuracy and reliability are required.
SHT30-D
The SHT30-D sensor offers reliable temperature and humidity measurements with good accuracy. It provides temperature accuracy of ±0.3°C and humidity accuracy of ±3% RH.
Measurements:
Temperature and humidity
Communication Protocol:
I2C and SPI
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
2.4V to 5.5V
Operating Current:
1.2 mA (typical)
SHT31-D
Building upon the SHT30-D, the SHT31-D sensor provides enhanced accuracy in temperature and humidity measurements. It offers improved temperature accuracy of ±0.3°C and humidity accuracy of ±2% RH.
Measurements:
Temperature and humidity
Communication Protocol:
I2C and SPI
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
2.4V to 5.5V
Operating Current:
1.2 mA (typical)
SHT35-D
The SHT35-D sensor represents the highest level of performance in the series, offering superior accuracy in temperature and humidity measurements. It features a temperature accuracy of ±0.2°C and humidity accuracy of ±1.5% RH.
Measurements:
Temperature and humidity
Communication Protocol:
I2C and SPI
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.2°C
Humidity Range:
0% to 100% RH
Humidity Accuracy:
±1.5% RH
Operating Voltage:
2.15V to 5.5V
Operating Current:
1.5 mA (typical)
SHT4x Series
Building upon the capabilities of the SHT3x-D Series, the SHT4x Series provides enhanced accuracy and performance. With improved temperature accuracy typically around ±0.2°C and humidity accuracy around ±1.5% RH, these sensors offer superior reliability. They maintain a similar compact form factor and support both I2C and SPI interfaces. Ideal for applications demanding higher accuracy and precision in temperature and humidity measurements.
SHT40
The SHT40 sensor represents a significant improvement over its predecessors, offering ultra-low power consumption and high reliability. It provides a temperature accuracy of ±0.2°C and humidity accuracy of ±1.5% RH
Measurements:
Temperature and humidity
Communication Protocol:
I2C and SPI
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.2°C
Humidity Range:
0% to 100% RH
Humidity Accuracy:
±1.5% RH
Operating Voltage:
1.62V to 3.6V
Operating Current:
240 µA (typical)
SHT41
Building upon the capabilities of the SHT40, the SHT41 sensor offers even higher accuracy and stability in temperature and humidity measurements. It features temperature accuracy of ±0.2°C and humidity accuracy of ±1.5% RH
Measurements:
Temperature and humidity
Communication Protocol:
I2C and SPI
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.2°C
Humidity Range:
0% to 100% RH
Humidity Accuracy:
±1.5% RH
Operating Voltage:
1.62V to 3.6V
Operating Current:
190 µA (typical)
SHTCx Series
The SHTCx Series represents the latest advancements in temperature and humidity sensing technology. These sensors offer additional features and improvements compared to their predecessors. With further enhanced accuracy and possibly lower power consumption, they cater to applications requiring superior performance. Some models may also feature smaller form factors, making them suitable for space-constrained applications.
SHTC1
The SHTC1 sensor is an ultra-small digital temperature and humidity sensor designed for space-constrained applications. It offers high accuracy in temperature and humidity measurements, with temperature accuracy of ±0.3°C and humidity accuracy of ±3% RH
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.62V to 3.6V
Operating Current:
1.5 µA (standby), 80 µA (measurement)
SHTC3
Building upon the capabilities of the SHTC1, the SHTC3 sensor offers enhanced accuracy and stability in temperature and humidity measurements. It features temperature accuracy of ±0.2°C and humidity accuracy of ±2% RH
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.2°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.62V to 3.6V
Operating Current:
0.5 µA (standby), 710 µA (measurement)
TMP Series
The TMP series sensors are a range of temperature sensors produced by Texas Instruments (TI), a leading semiconductor company. These sensors are designed to measure temperature accurately and are available in various formats, including analog and digital, with different levels of accuracy, resolution, and interface options.
TMP36
The TMP36 is a low-cost analog temperature sensor that provides accurate voltage output proportional to the temperature. It has a wide temperature range and operates from a single power supply, making it easy to integrate into various projects.
Communication Protocol:
Analog output
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±2°C
Operating Voltage:
2.7V to 5.5V
TMP102
Building upon the features of the TMP36, the TMP102 is a digital temperature sensor with higher accuracy and resolution. It communicates over the I2C interface, providing digital temperature readings directly to the microcontroller.
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.5°C
Operating Voltage:
1.4V to 3.6V
Operating Current:
10 µA (measurement), 50 µA (standby)
TMP117
The TMP117 represents the latest advancement in temperature sensing technology, offering the highest level of accuracy and precision. It provides temperature readings with exceptional accuracy and resolution, making it suitable for demanding applications where precise temperature monitoring is essential. The TMP117 features low power consumption and a wide operating temperature range, ensuring reliable performance in various environments. It communicates over the I2C or SMBus interface, providing digital temperature data for integration into advanced systems and devices.
Communication Protocol:
I2C, SMBus
Temperature Range:
-55°C to +150°C
Temperature Accuracy:
±0.1°C
Operating Voltage:
1.8V to 5.5V
Operating Current:
1.7 µA (measurement), 0.5 µA (standby)
Other Popular Temperature Sensors
Apart from the already discussed groups of temperature sensors, compatible with ESP32, there are a lot of other sensors, from different manufacturers. They are less popular than the ones we have discussed above but still are very popular and highly available on the market. They can also easily be used with ESPHome.
DPS310
A digital barometric pressure sensor with high accuracy and low power consumption, commonly used in altimeter and weather monitoring applications.
Measurements:
Pressure and temperature
Communication Protocol:
I2C
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±1°C
Pressure Range:
300 hPa to 1200 hPa
Pressure Accuracy:
±0.002 hPa
Operating Voltage:
1.7V to 3.6V
Operating Current:
2.7 µA (standby), 0.7 mA (measurement)
HDC1080
A digital humidity and temperature sensor with high accuracy and low power consumption, suitable for applications requiring precise environmental monitoring.
Measurements:
Temperature and humidity
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.2°C
Humidity Range:
0% to 100% RH
Operating Voltage:
2.7V to 5.5V
Operating Current:
100 µA (standby), 1.2 mA (measurement)
MCP9808
A high-accuracy digital temperature sensor with an I2C interface, commonly used in industrial, consumer electronics, and automotive applications.
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.25°C
Operating Voltage:
2.7V to 5.5V
Operating Current:
200 µA (typical)
MLX90614
A non-contact infrared temperature sensor capable of measuring object temperature without direct contact, suitable for applications such as industrial process monitoring, medical devices, and automotive systems.
Measurements:
Object temperature
Communication Protocol:
I2C
Temperature Range:
-70°C to +380°C
Temperature Accuracy:
±0.5°C
Operating Voltage:
2.6V to 5.5V
Operating Current:
400 µA (typical)
MPL3115A2
A precision pressure sensor with altitude measurement capabilities, commonly used in altimeter and barometer applications, as well as in drones and weather stations.
Measurements:
Pressure, altitude, and temperature
Communication Protocol:
I2C
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±1°C
Pressure Range:
20 kPa to 110 kPa
Operating Voltage:
1.95V to 3.6V
Operating Current:
2 µA (standby), 10 µA (measurement)
MS5611
A high-resolution digital barometric pressure sensor with low power consumption, suitable for applications such as altimeters, drones, and weather stations.
Measurements:
Pressure and temperature
Communication Protocol:
I2C
Temperature Range:
-40°C to +85°C
Temperature Accuracy:
±1°C
Pressure Range:
10 mbar to 1200 mbar
Pressure Accuracy:
±0.012 mbar
Operating Voltage:
1.8V to 3.6V
Operating Current:
1 µA (standby), 0.6 mA (measurement)
HTU21D
A digital humidity and temperature sensor with an I2C interface, known for its accuracy and reliability, commonly used in weather stations, HVAC systems, and consumer electronics.
Measurements:
Pressure and temperature
Communication Protocol:
I2C
Temperature Range:
-40°C to +125°C
Temperature Accuracy:
±0.3°C
Humidity Range:
0% to 100% RH
Operating Voltage:
1.5V to 3.6V
Operating Current:
3.3 µA (standby), 400 µA (measurement)
Comparison
To easily choose a suitable temperature sensor, you can find below a comparison table of all mentioned temperature sensors with specified communication protocol, if the sensor includes pressure, humidity or other sensors.
Sensor | Communication Protocol | Temperature Sensor | Pressure Sensor | Humidity Sensor | Other Sensor |
---|
BMP085/BMP180 | I2C or SPI | Yes | Yes | No | No |
BMP280/BME280 | I2C or SPI | Yes | Yes | BME280 Only | No |
BMP388/BMP390 | I2C or SPI | Yes | Yes | No | No |
BMP581 | I2C or SPI | Yes | Yes | No | No |
BME680 | I2C or SPI | Yes | Yes | Yes | Gas |
AHT10 | I2C | Yes | No | Yes | No |
AHT20 | I2C | Yes | No | Yes | No |
AHT21 | I2C | Yes | No | Yes | No |
DHT11 | Single-wire | Yes | No | Yes | No |
DHT12 | Single-wire | Yes | No | Yes | No |
DHT21 | Single-wire | Yes | No | Yes | No |
DHT22 | Single-wire | Yes | No | Yes | No |
DS18B20 | Single-Wire | Yes | No | No | No |
SHT30-D | I2C or SPI | Yes | No | Yes | No |
SHT31-D | I2C or SPI | Yes | No | Yes | No |
SHT35-D | I2C or SPI | Yes | No | Yes | No |
SHT40 | I2C or SPI | Yes | No | Yes | No |
SHT41 | I2C or SPI | Yes | No | Yes | No |
SHTC1 | I2C | Yes | No | Yes | No |
SHTC3 | I2C | Yes | No | Yes | No |
TMP36 | Analog | Yes | No | No | No |
TMP102 | I2C | Yes | No | No | No |
TMP117 | I2C, SMBus | Yes | No | No | No |
DPS310 | I2C | Yes | Yes | No | No |
HDC1080 | I2C | Yes | No | Yes | No |
MCP9808 | I2C | Yes | No | No | No |
MLX90614 | I2C | Yes | No | No | No |
MPL3115A2 | I2C | Yes | Yes | No | No |
MS5611 | I2C | Yes | Yes | No | No |
HTU21D | I2C | Yes | Yes | No | No |
Internal Temperature Sensor
Since we are talking about ESP32 temperature sensors, we must mention the Internal ESP32 Temperature Sensor. It measures the chip's temperature itself (think like CPU), instead of the environment. These sensors are included in most of the ESP32 versions. You can find more information in our post "Measuring ESP32 capabilities with Inbuilt Temperature Sensor".
Conclusion
Throughout this guide, we've explored a variety of ESP32-compatible temperature sensors, from the beginner-friendly DHT11 to more advanced solutions like the BME680 and DS18B20.
No matter the complexity of your project or the level of precision required, there's a temperature sensor compatible with the ESP32 to suit your needs. By understanding the features and capabilities of each sensor, you can make informed decisions about which one best fits your requirements.
Whether you're monitoring environmental conditions, controlling HVAC systems, or implementing temperature-based automation, there are plenty of temperature sensor options compatible with any ESP32.