Source: Bosch Sensortec Datasheet (BST-BME688-DS000-03)
Manufacturer: Bosch Sensortec
Part Number: BME688
Document: BST-BME688-DS000-03 — Rev 1.3, February 2024

Description

The BME688 is the first gas sensor with Artificial Intelligence (AI) and integrated high-linearity and high-accuracy pressure, humidity and temperature sensors. It is housed in a robust yet compact 3.0 x 3.0 x 0.93 mm metal lid LGA package and is especially developed for mobile and connected applications where size and low power consumption are critical requirements.

The gas sensor can detect Volatile Organic Compounds (VOCs), volatile sulfur compounds (VSCs) and other gases such as carbon monoxide and hydrogen in the part per billion (ppb) range. The BME688 features a gas scanner function that can be customized with respect to sensitivity, selectivity, data rate and power consumption using the BME AI-Studio tool, enabling customers to train the sensor on their specific application.

Key Specifications

Parameter Value
Supply Voltage (VDD) 1.71V to 3.6V
Interface Voltage (VDDIO) 1.2V to 3.6V
Digital Interface I2C (up to 3.4 MHz), SPI (up to 10 MHz)
Package 3.0 x 3.0 x 0.93 mm LGA-8
Temperature Range -40 to +85 C
Pressure Range 300 to 1100 hPa
Humidity Range 0 to 100% r.H.
Sleep Current 0.15 uA
Gas Scan H2S F1 Score 0.94
IAQ Range 0 to 500
Pin Count 8

Features

  • First gas sensor with integrated AI capability for custom gas classification
  • 4-in-1 sensor: gas, pressure, temperature and humidity in a single package
  • Gas scanner function with H2S selectivity (F1 score 0.94) for VSC detection
  • Ultra-low power modes from 0.09 mA (ULP) to 12 mA (continuous)
  • BME AI-Studio toolchain enables training for custom gas classification use cases (up to 4 classes)
  • Index for Air Quality (IAQ) output with 0-500 scale and automatic calibration
  • bVOC and CO2 equivalent outputs via BSEC software library
  • I2C and SPI digital interfaces with configurable I2C address via SDO pin
  • IIR filter for temperature and pressure noise reduction
  • 10 programmable heater temperature steps for gas scanning profiles
  • Forced and parallel measurement modes for flexible power/performance tradeoff
  • RoHS compliant, halogen-free, MSL1

Pin Configuration

Pin Name Type Description
1 GND Power Ground
2 CSB Input SPI chip select (active low); connect to VDDIO for I2C
3 SDI In/Out SPI data in / I2C SDA
4 SCK Input SPI clock / I2C SCL
5 SDO In/Out SPI data out / I2C address select (GND=0x76, VDDIO=0x77)
6 VDDIO Power Digital interface supply (1.2V to 3.6V)
7 GND Power Ground
8 VDD Power Analog supply (1.71V to 3.6V)

Absolute Maximum Ratings

Parameter Min Max Unit
Voltage at any supply pin (VDD, VDDIO) -0.3 4.25 V
Voltage at any interface pin -0.3 VDDIO + 0.3 V
Storage temperature -45 +85 C
Pressure 0 20000 hPa
ESD (HBM, any pin) - +/-2 kV
ESD (Machine model) - +/-200 V

Electrical Characteristics

Parameter Conditions Min Typ Max Unit
Supply Voltage VDD Ripple max 50 mVpp 1.71 1.8 3.6 V
Supply Voltage VDDIO - 1.2 1.6 3.6 V
Sleep Current - - 0.15 1 uA
Standby Current - - 0.29 0.8 uA
Current (humidity meas.) Max at 85 C - 340 450 uA
Current (pressure meas.) Max at -40 C - 714 849 uA
Gas heater current 320 C target, VDD <= 1.8V 9 12 13 mA
Peak supply current First ms of heater on 15 17 18 mA
Start-up time VDD > 1.58V, VDDIO > 0.65V - 2 - ms
Humidity accuracy 20-80% r.H., 25 C - - +/-3 % r.H.
Humidity response time 0-63% step - 8 - s
Pressure absolute accuracy 300-1100 hPa, 0-65 C - - +/-0.6 hPa
Pressure noise (RMS) Full BW, highest OS - 1.4 - Pa
Temperature accuracy 0-65 C - - +/-0.5 C
Temperature resolution API output - 0.01 - C

Power Consumption

Parameter Conditions Typ Unit
Humidity + temperature 1 Hz forced mode 2.1 uA
Pressure + temperature 1 Hz forced mode 3.1 uA
Humidity + pressure + temperature 1 Hz forced mode 3.7 uA
Ultra-low power (p/h/T + air quality) ULP mode 90 uA
Low power (p/h/T + air quality) LP mode 0.9 mA
Standard gas scan mode 5 scan + 10 sleep cycles 3.96 mA
Continuous mode 1 Hz update rate 12 mA

Communication Interface

The BME688 supports I2C (standard, fast, and high-speed modes up to 3.4 MHz) and SPI (3-wire and 4-wire modes up to 10 MHz).

I2C: The 7-bit device address is 1110110 (0x76) when SDO is connected to GND, or 1110111 (0x77) when SDO is connected to VDDIO. External pull-up resistors (typically 4.7 kOhm) are required on SDA and SCL. Use 100 nF bypass capacitors on VDD and VDDIO.

SPI: Compatible with SPI mode 0 (CPOL=0, CPHA=0) and mode 3 (CPOL=1, CPHA=1). CSB is active low with an internal pull-up resistor. In 3-wire mode, SDI is used for bidirectional data.

Packages

Package Pins Body Size Height
Metal Lid LGA 8 3.0 x 3.0 mm 0.93 mm

Software API

The BME688 is designed to work with the BSEC (Bosch Software Environmental Cluster) library, which provides intelligent algorithms for:

  • Index for Air Quality (IAQ): 0-500 scale with automatic background calibration
  • Gas scan classification: Up to 4 custom gas classes trained via BME AI-Studio
  • CO2 equivalents: Derived from VOC/CO2 correlation in exhaled breath
  • bVOC equivalents: Breath-VOC concentration in ppm
  • Compensated outputs: Temperature and humidity corrected for device self-heating

BSEC Power Modes:

Mode Update Rate Avg Current
Standard gas scan 1/10.8 s 3.96 mA
Ultra-low power (ULP) 1/300 s 0.09 mA
Quick ULP (q-ULP) 0.33 Hz (T/p/h), 3.3 mHz (IAQ) 0.1 mA
Low power (LP) 0.33 Hz 0.9 mA
Continuous 1 Hz 12 mA

Software Components:

Component Type Description
BME68x Sensor API C code Raw data access via SPI/I2C interface
BSEC C static library Fused outputs and AI gas classification
BME AI-Studio PC application AI toolchain for custom gas use cases

Sensor API: github.com/BoschSensortec/BME68x-Sensor-API

Applications

  • Indoor air quality monitoring and smart ventilation
  • Bad breath and spoiled food detection via volatile sulfur compounds
  • Gas leak detection (unusual gases and smells)
  • Diaper state detection for baby care
  • Early odor and bad smell detection
  • Weather station and environmental monitoring (pressure, humidity, temperature)
  • Wearable health and wellness tracking
  • Smart home devices (speakers, connected sensors, lamps)
  • Asset tracking and surveillance with environmental context

Key Formulas

Temperature Compensation

var1 = (temp_adc / 16384.0 - par_t1 / 1024.0) * par_t2
var2 = ((temp_adc / 131072.0 - par_t1 / 8192.0)^2) * (par_t3 * 16.0)
t_fine = var1 + var2
temp_comp = t_fine / 5120.0

Heater Resistance Target

res_heat = 3.4 * ((1 + 0.023 * target_temp) * gas_res - 25)

Gas Wait Duration

duration_ms = gas_wait[5:0] * multiplication_factor
multiplication_factor = {1, 4, 16, 64}[gas_wait[7:6]]

IAQ Scale

0-50:    Excellent — Pure air, best for well-being
51-100:  Good — No irritation or impact
101-150: Lightly polluted — Ventilation suggested
151-200: Moderately polluted — Increase ventilation
201-250: Heavily polluted — Optimize ventilation
251-350: Severely polluted — Maximize ventilation
>351:    Extremely polluted — Avoid presence in room