BME280 Digital Temperature, Humidity and Barometric Pressure Sensor
BME280 Digital Temperature, Humidity and Barometric Pressure Sensor is backordered and will ship as soon as it is back in stock.
The BME280 Digital Temperature, Humidity, and Barometric Pressure Sensor from Bosch is a high-precision environmental sensor that measures temperature, humidity, and barometric pressure in a single compact module. Ideal for Arduino, ESP32, and Raspberry Pi projects, it is perfect for weather stations, indoor air quality monitoring, and multi-sensor environmental applications where accuracy and reliability matter.
Features & Specifications
- Temperature Measurement: -40°C to 85°C, ±0.5°C accuracy, 0.01°C resolution
- Humidity Measurement: 0% to 100%, ±3% accuracy
- Barometric Pressure: 300 hPa to 1100 hPa, ±1 hPa accuracy
- Power Supply Voltage: 3.6V (3.3V logic compatible)
- 5V Compatibility: Requires logic level conversion when used with 5V microcontrollers
- Average Current Consumption: 0.1 to 3.6 µA
- Communication: I²C (multiple sensors possible) or SPI (CS pin required)
- Operating Temperature Range: -40°C to 85°C
- Package Size: 2.5 mm x 2.5 mm x 0.93 mm
- Waterproof Rating: Not waterproof - requires protective housing for outdoor use
BME280 5V Compatibility Guide
The BME280 sensor module operates at 3.3V logic levels. When connecting to 5V microcontrollers like Arduino Uno or Mega, use a logic level converter or ensure your breakout board includes voltage regulation. Most BME280 breakout boards include onboard voltage regulators that accept 3.3V-5V input, making them compatible with both 3.3V (ESP32, ESP8266) and 5V (Arduino Uno) systems.
ESP32 Weather Station Setup
The BME280 is ideal for ESP32 weather station projects due to its low power consumption and I²C compatibility. Connect the sensor to your ESP32's I²C pins (GPIO 21 for SDA, GPIO 22 for SCL), power it with 3.3V, and use the Adafruit BME280 library for quick integration. The ESP32's built-in WiFi makes it perfect for uploading weather data to cloud platforms or displaying real-time environmental readings on web dashboards.
Why Choose BME280 Over DHT11 and DHT22
The BME280 combines three environmental measurements in a single chip, making it more versatile than other sensors like DHT22, DHT11, or DS18B20.
BME280 vs DHT11: The BME280 offers significantly better accuracy (±0.5°C vs ±2°C for temperature, ±3% vs ±5% for humidity), includes barometric pressure measurement, and consumes less power. The DHT11 is cheaper but less precise.
BME280 vs DHT22: While the DHT22 offers good accuracy, the BME280 adds barometric pressure sensing, has faster response time, lower power consumption, and supports both I²C and SPI communication. The BME280's ability to communicate over I²C makes it easier to use multiple sensors on the same bus.
For a detailed comparison of temperature sensors, see our BME280 vs DHT11, DHT22, and DS18B20 guide.
Waterproofing Your BME280 Sensor
The BME280 sensor module is not waterproof and must be protected from direct water contact and condensation. For outdoor weather stations or high-humidity environments, house the sensor in a weatherproof enclosure with ventilation holes to allow air circulation while protecting the electronics. Alternatively, consider using a waterproof temperature sensor like the DS18B20 probe for applications requiring direct water exposure.
Getting Started with BME280
Integrating the BME280 with your microcontroller is straightforward:
- Connect the SDA and SCL pins for I²C, or MOSI/MISO/SCK/CS for SPI, depending on your communication choice.
- Provide 3.3V power (or 5V if your breakout board has voltage regulation) and connect GND to ground.
- Use libraries like Adafruit BME280 for Arduino/ESP32 or Adafruit CircuitPython BME280 for Python on Raspberry Pi.
- If using multiple sensors on I²C, ensure each has a unique I²C address.
- Check sampling rates in your library to balance accuracy and power consumption.
Troubleshooting Tips
- Sensor readings may be inaccurate if wiring is loose or power is unstable.
- Verify the correct library and board settings in your code.
- Ensure the sensor is protected from water or condensation, as it is not waterproof.
- For multiple sensors on the same I²C bus, confirm unique addresses to avoid conflicts.
- When using with 5V Arduino boards, verify your breakout board includes voltage regulation or add a logic level converter.
Related Products
- Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor - STEMMA QT
- Pimoroni BME280 Breakout - Temperature, Pressure, Humidity Sensor
- DHT22 Digital Temperature & Humidity Sensor
- DS18B20 Stainless Steel Temperature Sensor Probe - 1m
The BME280 provides fast, accurate, and continuous measurements for temperature, humidity, and pressure, making it a reliable choice for environmental monitoring projects, smart home systems, and multi-sensor applications.
This product can be found here:


