itbrainpower.net
BME688 ** Air Quality - gas scanner, VSC (Volatile Sulfur Compounds), bVOC (body volatile organic componds), temperature, humidity and pressure AI (artificial intelligence), the digital nose sensor



Read our last post: Modems and RaspberryPI 5. RaspberryPI OS [Debian 12 bookworm] notes.. Order u-GSM modems.

BME688 breakout :: FEATURES


BME688 sensor breakout - topBME688 sensor breakout - bottom


PN: SS-BME688#I2C   SKU: ITBP-6007

BME688 ( manufactured by Bosch Sensortec) is the first gas sensor with Artificial Intelligence (AI) and integrated high-linearity and high-accuracy humidity and temperature sensors. The integrated gas sensor it's able to detect Volatile Organic Compounds (VOCs), Volatile Sulfur Compounds (VSCs) and other gases as carbon monoxide (CO) and hydrogen in the ppb (part per billion) range.

The new BME 688 sensor its backward compatible with BME680. Additionally, to all features of the BME680, the BME688 has a gas scanner function. In standard configuration, the presence of VSCs is detected as indicator for e.g. bacteria growth. The gas scanner can be customized with respect to sensitivity, selectivity, data rate and power consumption as well. The BME AI-Studio tool enables customers to train the BME688 gas scanner on their specific application, like in home appliances, IoT products or Smart Home.

The gas sensor in the BM688 has a broad sensitivity and reacts to most volatile compounds as well as many other gases polluting indoor air. The intensity of the signal typically scales with the chemical reactivity of the gases. In contrast to sensors selective for one specific component, the BME688 is capable of measuring the sum of VOCs/contaminants in the surrounding air. This enables the BME688 to detect e.g. outgassing from paint, furniture and/or garbage, high VOC levels due to cooking, food consumption, exhaled breath and/or sweating.

The IAQ (Air quality index), target gas scanner selectivity, VOC, VSC and other features may be accessed using the "BSEC fusion library" provided by Bosch.

Bosch Sensortec BME688 sensor main features:
- ambient range for operation -40 ~ +85C, 0%-100% r.H., 300-1100hPa
- gas sensor major outputs (via BSEC) IAQ, bVOC & CO2 equivalents (ppm), gas scan results (%) & intensity level
- sensor to sensor IAQ deviation +-15% / +-15IAQ
- relative humidity accuracy tolerance / hysteresis +-3% / <= 1.5%
- absolute temperature accuracy +-0.5C (at +25C)
- pressure sensitivity error +-0.25%
- BME688 sensor datasheet

BME688 breakout features:
* input voltages between 3.3-5V
* I2C interface, 3.3-5V auto [default I2C voltage follows the Vin powering voltage]
* I2C voltage option via solder jumper [Eg.: power at 5V and I2C at 3.3V; power and I2C at 2.2V]
* alternative sensor I2C addresses via solder jumpers
* compatible with Arduino (all), Raspberry PI (all) and other SBC / MCU
* Arduino C, Raspberry PI [Python] software support
* compatible with xyz-mIoT boards(Arduino Zero like)
* big soldering pads on 2.54 mm [0.1"] pitch for standard row header / connector

* 13x27mm, around 2grams

 

BME688 breakout :: INTERFACES, PADS and SOLDER JUMPERS

s-Sense BME688 sensor breakout top - pinout description

I2C and POWERING INTERFACE

In the left edge of the top PCB side, top to bottom:
1. Vin - POWER IN 3.3V / 5V (default) *
2. 3V3 - Vdd - LDO output (default) / LDO bypass IN **

3. SDA - I2C SDA [default, pulled up at Vin]***
4. SCL - I2C SCL [default, pullup up at Vin]***

5. GND - POWER and I2C GROUND
* Default, the I2C reference voltage follow the Vin voltage. If your board (Arduino/other) it's 5V compliant, connect +5V to Vin. Similar, for 3.3V compliant board(RPI/Arduino)connect 3.3V source to Vin.
** 3.3V voltage it's available on Vdd PAD, if Vin it's connected to 5V. Bypass LDO - see schema and read docs.
*** Default, the I2C reference voltage follows the Vin voltage! Read bellow about I2C reference voltage and s1 solder jumper.


SOLDER JUMPERS

s1 : I2C reference [Vin or 3V3-bypass], default Vin *
s2 : RESERVED
s3 : BME688 I2C address [0x76/0x77], default 0x76 *
* Read about s1 and s3 functionality bellow.

s-Sense BME688 sensor breakout bottom - pinout description

SIGNALS INTERFACE and MARKING

In the left edge of the bottom PCB side, top to bottom:
6. RESERVED
7. RESERVED
8. RESERVED
9. RESERVED
nc. NOT CONNECTED
* Taking a look at howto posts and inside software examples may be quite helpful.

Observe the sensor breakout marking on PCB board (here, BME688 sensor it's marked as populated).

 

BME688 breakout :: Arduino / Raspberry PI basic interfacing


BME688 breakout Arduino 5V [Eg.: UNO] Arduino 3.3V [Eg.: Zero] RPI [B/B+/II/3/3+/Zero/Zero W]
Vin PAD* 5V 3.3V PIN1 (3.3V)
Vdd PAD (3V3)* - - -
SDA PAD SDA SDA PIN3 (SDA)
SCL PAD SCL SCL PIN5 (SCL)
GND PAD GND GND PIN9 (GND)
 
* here, power in default mode (sensor & MCU power and I2C at same voltage!!). For alternate mode see solder jumper description bellow.
 
 

BME688 breakout :: solder jumpers description; power scenarios


s1* - I2C reference voltage selector - shipped with circuit 1-2 closed and circuit 2-3 open (default mode).

In default mode, the I2C reference voltage follows the voltage applied to Vin! Default mode use cases:
      - shield/MCU it's 5V compatible ==> connect Vin at 5V; the I2C reference it's 5V!
      - SBC/shield/MCU it's 3.3V compatible ==>connect Vin at 3.3V; the I2C reference it's 3.3V!.

Alternate mode - I2C reference voltage follows the Vdd voltage! - modify s1 as: 1-2 circuit open, 2-3 circuit closed [carefully interrupt/cut the circuit line between pads 1 and 2, and solder over pads 2 and 3].

Alternate mode scenarios:
      - apply 3.6-7V to Vin. The I2C reference voltage it's set at 3.3V! Also, at Vdd pad (LDO output) 3.3V (up to 100mA) it's available for third part powering (anyway, try to keep the sunk current as low as possible, in order to avoid thermal errors).
      - keep Vin not connected. Apply 2.8 or 3.3V to Vdd (the LDO it's bypassed). The I2C reference voltage it's set at voltage applied to Vdd pad!

s3 - BME688 I2C address - default circuit open, BME688 having 0x76 as I2C address. Solder over s3 pads [circuit closed] in order to select the alternate I2C address [0x77].

* Consult s-Sense block schema for more information. See projects/how to section.



BME688 breakout :: ARDUINO & RaspberryPI software 

s-Sense air quality and environmental sensors examples for Arduino and RaspberryPI may be downloaded from our download page.


BME688 breakout :: DOCUMENTATION DOWNLOAD/ONLINE

The s-Sense environmental sensors documentation can be found here.


BME688 breakout :: ARDUINO & RaspberryPI projects

Arduino & RaspberryPI projects based on itbrainpower.net products

 

BME688 breakout :: ORDER ONLINE

Order online s-Sense air quality and environmental sensor breakout boards
 

BME688 breakout :: ORDER FROM OUR DISTRIBUTORS

Choose and order from one distributor near you.



View/save pdf version of this page.


 
 
 
 
 
 
document version 0.916 / 2022-05-19 © R&D Software Solutions srl