The BME280 is an integrated environmental digital sensor designed by Bosch Sensortec, capable of simultaneously measuring temperature, humidity, and barometric pressure [citation:2]. It is an ideal choice for weather monitoring, IoT projects, and altimeter applications due to its small size, low power consumption, and long-term stability [citation:2][citation:6].
| Parameter | Value |
|---|---|
| Temperature Range | -40°C to +85°C |
| Temperature Accuracy | ±0.5°C (typical) [citation:2] |
| Humidity Range | 0 to 100% RH |
| Humidity Accuracy | ±3% RH [citation:2][citation:6] |
| Pressure Range | 300 to 1100 hPa |
| Pressure Accuracy | ±1 hPa [citation:2][citation:6] |
| Pressure Resolution | 0.18 Pa [citation:6] |
| Interface | I2C / SPI [citation:6] |
| I2C Address | 0x76 or 0x77 |
= Key Features =
+Combined 20bit ADC Provides high-resolution digital output for all three measurements [citation:2].
+Individual Factory Calibration - Each sensor is calibrated at the factory, with coefficients stored in internal EEPROM for accurate compensation [citation:2].
+Dual Communication Protocol - Supports both I2C and SPI, compatible with a wide range of microcontrollers including Arduino, ESP32, and Raspberry Pi [citation:1][citation:4][citation:6].
+Compact Breakout Form Factor - Many modules include onboard voltage level translation, allowing direct connection to both 3.3V and 5V systems [citation:6][citation:8].
+Configurable Oversampling Allows adjustment of measurement resolution vs. speed and power consumption tradeoffs [citation:4][citation:5].
√ Versatile and widely supported Extensive library support available for Arduino, ESPIDF, Raspberry Pi, and MicroPython [citation:1][citation:4][citation:5].
√ Suitable for altitude and weather calculations Onchip calibration enables accurate pressuretoaltitude conversion [citation:2][citation:5].
√ Common breakout designs - Includes mounting holes and pin headers for easy integration into projects [citation:6][citation:12].
| Module Pin | Arduino UNO | ESP32 |
|---|---|---|
| VCC | 5V (or 3.3V) | 3.3V |
| GND | GND | GND |
| SDA | A4 | GPIO21 [citation:3] |
| SCL | A5 | GPIO22 [citation:3] |
| SDO/ADDR | GND (0x76) or 3.3V (0x77) |
The I2C address is configured by the voltage on the SDO pin [citation:8][citation:11].
No communication:
Inaccurate readings: