🎉
ESPBoards Store is Now Open! Find the best ESP32, ESP8266 boards & accessories

BME688 Environmental Sensor

BME688 Environmental Sensor image

View on Amazon

Overview

The BME688 is a compact environmental sensor that measures temperature, humidity, barometric pressure, and gas concentrations. With integrated AI capabilities, it can be trained for specific gas detection applications, making it suitable for indoor air quality monitoring, smart home devices, and various IoT applications.

About BME688 Environmental Sensor

The BME688, developed by Bosch Sensortec, is a multi-functional environmental sensor that integrates temperature, humidity, barometric pressure, and gas sensing. It is the first gas sensor with AI capabilities, enabling customized gas scanning and detection of volatile organic compounds (VOCs) and volatile sulfur compounds (VSCs).

Key Features

  • Multi-Sensor Integration – Measures temperature, humidity, pressure, and gas composition.
  • AI-Powered Gas Detection – Identifies VOCs and VSCs for advanced air quality analysis.
  • I²C & SPI Communication – Easily interfaces with ESP32, Arduino, and other microcontrollers.
  • Compact & Low Power – Ideal for smart home, industrial, and wearable applications.

With its advanced sensing and AI-driven gas detection, the BME688 is perfect for air quality monitoring, environmental control, and smart IoT applications. 🚀

🔗 Learn more about the BME688 sensor.

Technical Specs

BME688 Specifications

Complete technical specification details for BME688 Environmental Sensor

📊 Technical Parameters

Interface I²C (up to 3.4 MHz) / SPI (up to 10 MHz)
Pressure Range 300 hPa to 1100 hPa
Temperature Range -40°C to +85°C
Humidity Range 0% to 100% r.H.
Operating Voltage 1.71V to 3.6V
Power Consumption 2.1 µA at 1 Hz humidity and temperature; 3.7 µA at 1 Hz humidity, pressure, and temperature; 0.9 mA in low power gas scanning mode
Gas Sensor Detects VOCs, VSCs, CO, and hydrogen in the ppb range
Dimensions 3.0 mm × 3.0 mm × 0.93 mm
Weight Approximately 1.5 mg
Pin Configuration

BME688 Pinout

The **BME688** supports both **I²C** and **SPI** with AI-powered gas sensing:

Visual Pinout Diagram

Pinout Diagram Primary
BME688 Environmental 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,🌡️ **Temperature**: -40°C to +85°C,💧 **Humidity**: 0-100% RH

🎚️

**Pressure**: 300-1100 hPa,💨 **Gas Sensor**: AI-powered VOC and VSC detection,🤖 **AI Capable**: Train for specific gas detection

🔥

**IAQ**: Indoor Air Quality Index,⚡ **Power**: 1.71V-3.6V (typically 3.3V),🎯 **Applications**: Advanced air quality, smart homes, industrial

Pin Descriptions

Pin NameTypeDescriptionNotes
1 VIN
Power

Power input

1.71V to 3.6V (typically 3.3V)

2 GND
Power

Ground connection

3 SDA/SDI
Communication

I²C data / SPI data in

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

4 SCL/SCK
Communication

I²C clock / SPI clock

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

5 CS
Communication

Chip select for SPI

Connect to GND for I²C mode, GPIO5 for SPI

6 SDO
Communication

SPI data out

GPIO19 for SPI, optional in I²C

Connection Guide

Wiring BME688 to ESP32

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

Visual Wiring Diagram

Wiring Diagram Recommended
BME688 Environmental Sensor wiring with ESP32
5
Connections

Connection Status

Required
5

Protocol

I2C

Pin Connections

BME688 PinConnectionESP32 PinDescription
1 VIN Required
3.3V

Power supply

2 GND Required
GND

Ground

3 SDA/SDI Required
GPIO21

I²C data line

4 SCL/SCK Required
GPIO22

I²C clock line

5 CS Required
GND

Set to GND for I²C mode

📍

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

🤖

**AI Training**: Use Bosch BME AI Studio for custom gas profiles

🔥

**Gas Sensor**: Requires heating element (automatic)

⏱️

**Warm-up**: ~30 minutes for stable gas readings

**Power**: Use 3.3V

🎯

**Enhanced**: Improved accuracy over BME680

Help & Support

BME688 Troubleshooting

Common issues and solutions to help you get your sensor working

Common Issues

Debugging Tips

Code Examples

BME688 Programming Examples

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

Summary

Wrapping Up BME688

The ESP32 BME688 Environmental 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 BME688 into your ESP32 project and bring your ideas to life!