Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

BME688 Environmental Sensor 4-in-1

Introduction

The BME688 Environmental Sensor 4-in-1 is a compact module that integrates temperature, humidity, barometric pressure, and gas sensing (including VOCs and IAQ) in a single package. Based on Bosch Sensortec technology, it offers digital I²C/SPI interfaces for easy integration with platforms like Arduino, ESP32, and Raspberry Pi. Its low power consumption and small size make it ideal for wearables, portable devices, and IoT applications. The sensor also supports AI-based gas classification via Bosch’s BME AI-Studio, enabling advanced air quality monitoring.

Development Board

📦 Overview

ParameterValue/Description
Operating Voltage1.71V to 3.6V
Supply Current0.9 µA (sleep), 2.1 µA (ULP), ~920 µA (gas scan)
Operating Temperature-40°C to +85°C
Relative Humidity Range0% to 100% RH
Pressure Range300 hPa to 1100 hPa
Gas SensingVOCs, IAQ index via integrated gas sensor
InterfacesI²C and SPI (up to 3.4 MHz)
Package Size3.0 × 3.0 × 0.93 mm³

Key Features

  • Relative Humidity: Accurately measures ambient moisture for precise environmental monitoring.
  • Barometric Pressure: Detects atmospheric pressure changes to support dynamic weather tracking.
  • Excellent Temperature Stability: Delivers consistent temperature readings even under varying conditions.
  • Gas Sensing: Monitors a range of gases to help identify potential environmental hazards.
  • Power Consumption: Optimized for low power usage, making it ideal for battery-operated devices.
  • Interfaces: I²C and SPI
  • Input Voltage via VCC Pin: 3.6–6.0 V (through onboard voltage regulator)

🧪 Use Cases

  • Environmental Monitoring: Tracks air quality, humidity, temperature, and pressure in smart homes and industrial settings.
  • IoT Devices: Integrates into IoT systems for real-time environmental data collection and analysis.
  • Weather Stations: Enables accurate weather forecasting and monitoring in DIY weather station projects.
  • Smart Agriculture: Monitors soil and air conditions to optimize crop growth and yield.
  • Wearable Devices: Supports health and fitness wearables for environmental parameter monitoring.

📚 Resources

📝 License

All hardware and documentation in this project are licensed under the MIT License.
Please refer to LICENSE.md for full terms.

Template created by UNIT Electronics

Hardware Overview

Key Technical Specifications

  • Operating Voltage: 1.71V to 3.6V
  • Supply Current: 0.9 µA (sleep), 2.1 µA (ULP), ~920 µA (gas scan)
  • Operating Temperature: -40°C to +85°C
  • Relative Humidity Range: 0% to 100% RH
  • Pressure Range: 300 hPa to 1100 hPa
  • Gas Sensing: VOCs, IAQ index via integrated gas sensor
  • Interfaces: I²C and SPI (up to 3.4 MHz)
  • Package Size: 3.0 × 3.0 × 0.93 mm³

⚙️ Technical Specifications

ParameterTechnical Data
Package dimensions8-Pin LGA with metal
3.0 x 3.0 x 0.93 mm³
Operation range (full accuracy)Pressure: 300...1100 hPa
Humidity: 0…100%
Temperature: -40…85°C
Supply voltage VDDIO1.2 - 3.6 V
Supply voltage VDD1.71 - 3.6 V
InterfaceI²C and SPI
Average current consumption2.1 µA at 1 Hz humidity and temperature
3.1 µA at 1 Hz pressure and temperature
3.7 µA at 1 Hz humidity, pressure and temperature
90 µA at ULP mode for p/h/T & air quality
0.9 mA at LP mode for p/h/T & air quality
3.9 mA in standard gas scan mode (gas scan mode & scan rate can be optimized on applications with BME AI studio)
Gas sensor - F1 score for H₂S scanning0.94
Gas sensor - Standard scan speed10.8 s / scan
Gas sensor - Electric charge for standard scan0.18 mAh (5 scans ~ 1 min)
Gas sensor - Response time (τ 33-63%)< 1 s (for new sensors)
Gas sensor - Sensor-to-sensor deviation+/- 15%
Gas sensor - Power consumption< 0.1 mA in ultra-low power mode
Gas sensor - Output data processingMajor direct outputs: Index for Air Quality (IAQ), bVOC-& CO₂-equivalents (ppm), Gas scan result (%) & many more (all listed in datasheet in Table 20: BSEC outputs)
Humidity sensor - Response time (τ0-63%)8 s
Humidity sensor - Accuracy tolerance± 3 % relative humidity
Humidity sensor - Hysteresis≤ 1.5 % relative humidity
Pressure sensor - RMS Noise0.12 Pa (equiv. to 1.7 cm)
Pressure sensor - Sensitivity Error± 0.25 % (equiv. to 1 m at 400 m height change)
Pressure sensor - Temperature coefficient offset±1.3 Pa/K (equiv. to ±10.9 cm at 1°C temperature change)

🔌 Pinout

Pinout Diagram



Pinout Details

Pin LabelDescription
VCCPower supply (3.3V or 5V)
GNDGround
SDA/SDII²C data / SPI data in
SCL/SCKI²C clock / SPI clock
CSBChip select (SPI, active low)
SDOSPI data out

📏 Dimensions

📃 Topology


Ref.Description
IC1BME688 Environmental Sensor
L1Power On LED
U1AP2112K 3V3 Regulator
JP12.54 mm Castellated Holes
J1QWIIC Connector (JST 1 mm pitch) for I2C

Key Technical Specifications

  • Operating Voltage: 1.71V to 3.6V
  • Supply Current: 0.9 µA (sleep), 2.1 µA (ULP), ~920 µA (gas scan)
  • Operating Temperature: -40°C to +85°C
  • Relative Humidity Range: 0% to 100% RH
  • Pressure Range: 300 hPa to 1100 hPa
  • Gas Sensing: VOCs, IAQ index via integrated gas sensor
  • Interfaces: I²C and SPI (up to 3.4 MHz)
  • Package Size: 3.0 × 3.0 × 0.93 mm³

⚙️ Technical Specifications

ParameterTechnical Data
Package dimensions8-Pin LGA with metal
3.0 x 3.0 x 0.93 mm³
Operation range (full accuracy)Pressure: 300...1100 hPa
Humidity: 0…100%
Temperature: -40…85°C
Supply voltage VDDIO1.2 - 3.6 V
Supply voltage VDD1.71 - 3.6 V
InterfaceI²C and SPI
Average current consumption2.1 µA at 1 Hz humidity and temperature
3.1 µA at 1 Hz pressure and temperature
3.7 µA at 1 Hz humidity, pressure and temperature
90 µA at ULP mode for p/h/T & air quality
0.9 mA at LP mode for p/h/T & air quality
3.9 mA in standard gas scan mode (gas scan mode & scan rate can be optimized on applications with BME AI studio)
Gas sensor - F1 score for H₂S scanning0.94
Gas sensor - Standard scan speed10.8 s / scan
Gas sensor - Electric charge for standard scan0.18 mAh (5 scans ~ 1 min)
Gas sensor - Response time (τ 33-63%)< 1 s (for new sensors)
Gas sensor - Sensor-to-sensor deviation+/- 15%
Gas sensor - Power consumption< 0.1 mA in ultra-low power mode
Gas sensor - Output data processingMajor direct outputs: Index for Air Quality (IAQ), bVOC-& CO₂-equivalents (ppm), Gas scan result (%) & many more (all listed in datasheet in Table 20: BSEC outputs)
Humidity sensor - Response time (τ0-63%)8 s
Humidity sensor - Accuracy tolerance± 3 % relative humidity
Humidity sensor - Hysteresis≤ 1.5 % relative humidity
Pressure sensor - RMS Noise0.12 Pa (equiv. to 1.7 cm)
Pressure sensor - Sensitivity Error± 0.25 % (equiv. to 1 m at 400 m height change)
Pressure sensor - Temperature coefficient offset±1.3 Pa/K (equiv. to ±10.9 cm at 1°C temperature change)

Pinout

Pinout Diagram



Pinout Details

Pin LabelDescription
VCCPower supply (3.3V or 5V)
GNDGround
SDA/SDII²C data / SPI data in
SCL/SCKI²C clock / SPI clock
CSBChip select (SPI, active low)
SDOSPI data out

Dimensions

Topology


Ref.Description
IC1BME688 Environmental Sensor
L1Power On LED
U1AP2112K 3V3 Regulator
JP12.54 mm Castellated Holes
J1QWIIC Connector (JST 1 mm pitch) for I2C

Getting Started

Quick Setup

1. Hardware Connections

  • VCC → 3.3V or 5V supply
  • GND → Ground
  • SDA → I2C Data Line (SDA)
  • SCL → I2C Clock Line (SCL)

Compatible with a JST 1 mm pitch QWIIC connector for easy I2C integration (power only, D0 must be connected separately).

2. Software Installation

Examples

Arduino/C++ Examples

The following examples demonstrate various features of this development board.

⚡ i2c: example1.ino

#include <Arduino.h>
#include "bme68xLibrary.h"
#include <Wire.h>

#define SDA_PIN 21
#define SCL_PIN 22

Bme68x bme;

void setup() {
  Serial.begin(115200);
  while (!Serial) delay(10);

  Wire.begin(SDA_PIN, SCL_PIN);
  Wire.setClock(100000);  // 100 kHz

  // ✅ Solo llama a begin, sin usar if
  bme.begin(0x77, Wire);

  // Verifica estado del sensor

📄 Ver código completo en GitHub

⚡ spi: example_spi.ino

#include <Arduino.h>
#include <SPI.h>
#include "bme68xLibrary.h"

// Pines personalizados para ESP32-C6
#define PIN_MOSI 7
#define PIN_MISO 2
#define PIN_SCK  6
#define PIN_CS   18

SPIClass mySPI(0);  // Bus SPI #0 para ESP32-C6
Bme68x bme;

void setup() {
  Serial.begin(115200);
  while (!Serial);

  // Inicializar SPI con pines personalizados
  mySPI.begin(PIN_SCK, PIN_MISO, PIN_MOSI, PIN_CS);

📄 Ver código completo en GitHub

Datasheet & Documentation

📄 Professional Datasheet

Complete technical specifications and professional documentation.

📎 View Professional Datasheet - Interactive HTML version

📎 Download PDF Datasheet - Downloadable PDF version

🔗 Additional Resources

Hardware Resources

Software Resources

📋 Quick Reference

Resource TypeDescriptionLink
📄 Datasheet (HTML)Interactive technical specsView
📄 Datasheet (PDF)Downloadable technical specsPDF
🔌 SchematicCircuit diagramPDF
DimensionsBoard measurementsView
🔧 PinoutPin configurationView
�💻 ExamplesCode samplesView
🔧 Setup GuideGetting startedView

For the most up-to-date information, please refer to the official documentation and repository.

License

MIT License

Copyright (c) 2025 UNIT-Electronics-MX

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


This project is licensed under the MIT License - see the LICENSE file for details.