Pressure and environmental sensors are widely used in weather stations, altitude measurement, indoor climate monitoring and IoT applications. Modern sensors combine multiple measurements such as temperature, pressure, humidity and even air quality in a single compact device.
This article compares the most common environmental sensor families used in Arduino and ESP32 projects, including BMP180, BMP280, BME280 and BME680.
What Do These Sensors Measure?
- Pressure (barometric pressure)
- Temperature
- Humidity (only on some models)
- Air quality / gas resistance (BME680 only)
These sensors are commonly used for:
- Weather stations
- Altitude and elevation estimation
- Indoor air monitoring
- Smart home systems
BMP180: The Older Generation
- Interface: I2C
- Measures: pressure, temperature
- Status: obsolete / replaced
The BMP180 was once very popular, but it has largely been replaced by newer sensors with better performance and lower power consumption.
Limitations:
- Lower accuracy compared to newer sensors
- No humidity measurement
- Being phased out in many designs
BMP280: A Solid Pressure Sensor
- Interface: I2C or SPI
- Measures: pressure, temperature
- Good accuracy and low power consumption
The BMP280 is a reliable and widely used pressure sensor. It is well suited for altitude estimation and weather monitoring.
Typical use cases:
- Altitude measurement
- Weather trend tracking
- Portable devices
BME280: The Most Popular All-in-One Sensor
- Interface: I2C or SPI
- Measures: pressure, temperature, humidity
- Very popular in Arduino projects
The BME280 is one of the most widely used environmental sensors because it combines three important measurements in one device.
Advantages:
- Compact and easy to integrate
- Good accuracy for most applications
- Widely supported by libraries
This sensor is an excellent default choice for environmental monitoring.
BME680: Environmental + Air Quality
- Interface: I2C or SPI
- Measures: pressure, temperature, humidity, gas resistance
The BME680 adds a gas sensor that measures volatile organic compounds (VOCs) indirectly via resistance.
Important note:
The BME680 does not measure specific gases directly. Instead, it provides an indication of air quality based on changes in gas resistance.
Typical use cases:
- Indoor air quality monitoring
- Smart home systems
- Environmental logging
Comparison Overview
| Sensor | Pressure | Temperature | Humidity | Air Quality | Recommendation |
|---|---|---|---|---|---|
| BMP180 | Yes | Yes | No | No | Legacy only |
| BMP280 | Yes | Yes | No | No | Pressure-focused projects |
| BME280 | Yes | Yes | Yes | No | Best general-purpose choice |
| BME680 | Yes | Yes | Yes | Indirect | Air quality applications |
Altitude Measurement
Pressure sensors can be used to estimate altitude based on atmospheric pressure.
- Higher altitude = lower pressure
- Requires calibration for best accuracy
- Weather changes can affect readings
This method is commonly used in drones, outdoor devices and weather stations.
Power and Integration
- Most modules operate at 3.3V
- I2C is the most common interface
- SPI is available for higher-speed applications
These sensors are generally low power and suitable for battery-powered designs.
Common Mistakes
- Confusing BMP280 with BME280 (humidity missing on BMP280)
- Expecting BME680 to measure specific gas concentrations
- Ignoring temperature compensation for pressure readings
Practical Recommendations
- Use BME280 for most environmental projects
- Use BMP280 if humidity is not needed
- Use BME680 for air quality indication
- Avoid BMP180 in new designs
Conclusion
Modern environmental sensors provide a powerful combination of measurements in a single device. The BME280 remains the best all-around choice for most projects, while the BME680 adds useful air quality information for more advanced applications.
Understanding the differences between these sensors helps avoid common mistakes and ensures reliable environmental data.
