Skip to content

BME280 Environmental Sensor

Top View with DimensionsTop View with Dimensions
Bottom View

Product Description

The BME280 Breakout Board features the Bosch BME280 integrated environmental sensor - a combined pressure, humdity, and temperature sensor designed for mobile and wearable applications. Featuring three different power modes, the BME280 provides excellent performance while keeping power requirements low. Despite it’s intent in mobile applications, the BME280 is also widely used in weather stations, IoT applications, and indoor climate control systems.

Key Features

  • Temperature measurement range: -40 to +85°C with ±0.5°C accuracy
  • Humidity measurement range: 0 to 100% RH with ±3% RH accuracy
  • Pressure measurement range: 300 to 1100 hPa with ±0.12 hPa accuracy
  • Low power consumption: < 0.1 µA in sleep mode, ~0.6 mA in forced mode, & ~1.8 mA in normal mode
  • Digital interfaces: I²C and SPI communication
  • Compact size: 25mm x 18mm footprint
  • Operating voltage: 3.3V - 5V (VDD)
  • 3.3V-5V logic levels
  • Lead-Free
  • Designed and assembled in the USA

The BME280 provides high-performance environmental sensing with exceptional accuracy across its full operating range. Whether you’re building a weather station, implementing indoor climate control, or developing IoT environmental monitoring solutions, the BME280 delivers reliable, precise measurements with minimal power consumption.

Includes an onboard LED that lights up when power is connected.

Top View with LED Top View with LED

Pinout

Top View Pinout Top View Pinout
PinI/ODescription
VDCI5V or 3.3V supply voltage matching communication logic level.
3V3O3.3V output from 5V to 3.3V power regulator (100mA max).
GND-Ground
SCLII²C Clock / SPI Clock
SDOOSPI Data Output (MISO) / I²C Address LSB (selects between 0x76 and 0x77)
SDA/SDII/OI²C Data / SPI Data Input (MOSI)
CSIChip Select (SPI mode - active low)

Communication Interfaces

I²C Communication

The BME280 supports I²C communication with two possible addresses, which can be selected either through the SDO pin or by soldering the Addr jumper.

  • 0x76 (default when Addr jumper is open, SDO high or not connected)
  • 0x77 (when Addr jumper is closed, SDO low)

The I²C interface uses standard 100 kHz or 400 kHz (Fast Mode) clock speeds. Pull-up resistors are included on both SCL and SDA lines.

SPI Communication

For SPI communication, the BME280 supports both 3-wire and 4-wire SPI modes, with clock frequencies up to 10 MHz.

Power Modes

The BME280 offers three different power modes to optimize energy efficiency. The mode is selected using the mode[1:0] setting.

ModeAverage CurrentDescription
Sleep Mode< 0.1 µAThe sensor is inactive, consuming minimal power.
Forced Mode~0.6 mATakes a single measurement and returns to sleep mode to save power. Used for periodic manual readings.
Normal Mode~1.8 mAContinuously takes measurements at a defined interval, providing real-time data updates.

Software Libraries and Examples

Arduino Libraries

The BME280 is well-supported with several Arduino libraries:

Adafruit BME280 Library

The most popular and well-maintained library for Arduino:

  • Installation: Available through Arduino Library Manager
  • Repository: Adafruit BME280 Library
  • Features: Easy-to-use API, supports both I²C and SPI, includes examples

Bosch BME280 Library

Library for Arduino using the original BME280 driver:

  • Installation: Available through Arduino Library Manager
  • Repository: Bosch BME280 Library
  • Features: supports I²C, includes examples

Platform Support

  • Arduino: Full support with multiple libraries
  • Raspberry Pi: Python libraries available (CircuitPython, RPi.GPIO)
  • ESP32/ESP8266: Compatible with Arduino libraries
  • STM32: HAL libraries and CUBE support

Helpful Notes

  • Ensure proper calibration for accurate readings in critical applications
  • Use appropriate filters for pressure measurements in noisy environments
  • Allow settling time after power-on for stable readings (2-3 seconds recommended)
  • Protect from condensation - while the sensor can handle high humidity, water droplets can affect accuracy
  • Consider temperature effects on pressure readings for high-precision applications

Datasheets and Documentation

Schematic:

Chip Info and Product Datasheets:

FAQ

Q: What’s the difference between BME280 and other environmental sensors?

A: The BME280 combines temperature, humidity, and pressure sensing in a single chip with exceptional accuracy. Compared to standalone sensors, it provides a more compact solution with lower power consumption and better integration.

Q: How accurate are the readings?

A: The BME280 provides ±0.5°C temperature accuracy, ±3% humidity accuracy, and ±0.12 hPa pressure accuracy under typical conditions. These specifications make it suitable for professional weather monitoring applications.

Q: Can I use multiple BME280 sensors on the same I²C bus?

A: Yes, the BME280 supports two I²C addresses (0x76 and 0x77) by controlling the SDO pin state. This allows up to two sensors on the same I²C bus.

A: This depends on your application. For weather monitoring, readings every 1-5 minutes are typically sufficient. For HVAC control, 10-30 second intervals work well. The sensor can provide readings as fast as every second if needed.

Q: How do I ensure accurate pressure readings?

A: For accurate pressure measurements:

  • Allow the sensor to stabilize after power-on (typically 2-3 seconds)
  • Use appropriate filtering if measuring in vibrating environments
  • Consider temperature compensation for high-precision applications
  • Shield from direct airflow if measuring static pressure

Q: Does the sensor require calibration?

A: The BME280 comes factory calibrated and typically doesn’t require user calibration. However, you can verify accuracy against known references and apply software offsets if needed for your specific application.

Q: What causes inaccurate humidity readings?

A: Common causes include:

  • Exposure to condensation or water droplets
  • Chemical contamination from solvents or cleaning agents
  • Operating outside the recommended temperature range
  • Insufficient settling time after power-on