BME280 Temperature and Humidity Sensor

BME280 Temperature and Humidity Sensor image

View on Amazon

Overview

The BME280 is a compact digital sensor by Bosch Sensortec, designed for measuring temperature, humidity, and pressure with high accuracy and low power consumption. It supports both I²C and SPI communication protocols, making it versatile for integration into IoT devices, weather stations, and portable electronics. Operating within a wide range of environmental conditions, it features a small 2.5mm x 2.5mm package.

About BME280 Temperature and Humidity Sensor

The BME280, developed by Bosch Sensortec, is a highly integrated environmental sensor that provides accurate temperature, humidity, and pressure measurements. Its low power consumption and compact size make it perfect for IoT, wearables, and weather monitoring applications.

Key Features

  • 3-in-1 Sensing – Measures temperature (-40°C to 85°C), humidity (0–100% RH), and pressure (300–1100 hPa).
  • Multiple Communication Interfaces – Supports I²C and SPI for flexible integration.
  • Ultra-Low PowerConsumes as little as 1.8 µA, ideal for battery-powered devices.
  • Compact Design – Small 2.5 × 2.5 × 0.93 mm form factor for space-constrained applications.

🔗 Learn more about the BME280 sensor.

Where to Buy

Get Your BME280

BME280 Temperature and Humidity Sensor

Starting from

7$ per unit

Amazon com
Amazon.com Ships worldwide
Amazon de
Amazon.de Ships to EU
Aliexpress
AliExpress Best value option

💡 Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specs

BME280 Specifications

Complete technical specification details for BME280 Temperature and Humidity Sensor

📊 Technical Parameters

Interface I2C (up to 3.4 MHz), SPI (3- and 4-wire, up to 10 MHz)
Accuracy ±3% RH (humidity), ±0.5 °C (temperature), ±1 hPa (pressure)
Operating Range -40°C to 85°C, 0 – 100% RH, 300 – 1100 hPa
Supply Voltage 1.71V to 3.6V for VDD, 1.2V to 3.6V for VDDIO
Current Consumption 1.8 µA @ 1 Hz (humidity + temp), 3.6 µA @ 1 Hz (humidity + pressure + temp)
Sleep Mode Current 0.1 µA
Response Time 1 second (humidity, τ63%)
Package Dimensions 2.5 mm x 2.5 mm x 0.93 mm (LGA)
Pin Configuration

BME280 Pinout

The **BME280** supports both **I²C** and **SPI** communication protocols:

Visual Pinout Diagram

Pinout Diagram Primary
BME280 Temperature and Humidity Sensor pinout
6
Total Pins

Pin Types

Power
2
Communication
4

Quick Tips

🔌

**Dual Protocol**: Supports both I²C and SPI,📡 **I²C Address**: 0x76 or 0x77 (depends on SDO pin),⚡ **Power**: 3.3V or 5V compatible (check module specs)

📊

**Measurements**: Temperature, humidity, and pressure,🌡️ **Temperature**: -40°C to +85°C, ±1°C accuracy,💧 **Humidity**: 0-100% RH, ±3% accuracy

🎚️

**Pressure**: 300-1100 hPa, ±1 hPa accuracy,💤 **Low Power**: 1.8 µA sleep current,🎯 **Applications**: Weather stations, IoT, altitude tracking

Pin Descriptions

Pin NameTypeDescriptionNotes
1 VIN/VCC
Power

Power input

3.3V or 5V (depending on module)

2 GND
Power

Ground connection

3 SCL/SCK
Communication

I²C clock / SPI clock

Connect to ESP32 SCL (I²C) or GPIO18 (SPI)

4 SDA/SDI
Communication

I²C data / SPI MOSI

Connect to ESP32 SDA (I²C) or GPIO23 (SPI)

5 SDO
Communication

SPI MISO (optional for I²C address)

GPIO19 for SPI, or use for I²C address selection

6 CS
Communication

SPI chip select

GPIO5 for SPI (not used in I²C mode)

Connection Guide

Wiring BME280 to ESP32

To interface the **BME280** with an **ESP32** using **I²C**:

Visual Wiring Diagram

Wiring Diagram Recommended
BME280 Temperature and Humidity Sensor wiring with ESP32
4
Connections

Connection Status

Required
4

Protocol

I2C
Alternative Wiring View Option 2
BME280 Temperature and Humidity Sensor alternate ESP32 wiring diagram

Pin Connections

BME280 PinConnectionESP32 PinDescription
1 VCC Required
3.3V

Power supply

2 GND Required
GND

Ground

3 SCL Required
GPIO22

I²C clock line

4 SDA Required
GPIO21

I²C data line

📍

**I²C Address**: Default 0x76 or 0x77 (check with I²C scanner)

🔧

**Pull-up Resistors**: Usually included on breakout boards

**Power**: Use 3.3V for most modules

📊

**Speed**: I²C supports up to 3.4 MHz

🎯

**Simple Wiring**: Only 4 wires needed

Help & Support

BME280 Troubleshooting

Common issues and solutions to help you get your sensor working

Common Issues

Debugging Tips

Code Examples

BME280 Programming Examples

Ready-to-use code examples for different platforms and frameworks

Summary

Wrapping Up BME280

The ESP32 BME280 Temperature and Humidity Sensor is a powerful environment sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.

Best Practices

For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.

Safety First

Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.

Ready to Start Building?

Now that you have all the information you need, it's time to integrate the BME280 into your ESP32 project and bring your ideas to life!