Bosch BSEC algorithm


The BME680 sensor provides raw measurements of temperature, humidity, barometric pressure and VOC gas resistance over the I2C interface.

The BSEC (Bosch Sensortec Environmental Cluster) fusion library running on the MCU has been conceptualized to provide higher-level signal processing and fusion for the BME680.

The library receives compensated sensor values from the sensor API and processes the BME680 signals in combination with optional additional sensors to provide the requested sensor outputs.

The BSEC library provides:

  • Precise calculation of ambient air temperature outside the device
  • Precise calculation of ambient relative humidity outside the device
  • Precise calculation of pressure outside the device
  • Precise calculation of air quality (IAQ) level outside the device
  • Estimation of equivalent carbon-dioxide (eCO2)
  • Breath-equivalent VOCs (breathVOC)


Bosch uses the ISO16000-29 standard “Test methods for VOC detectors” to calibrate the BME680 sensors.

Besides ethanol (EtOH) as a target test gas, the sensors are also tested with breath-VOC (b-VOC), which composition is detailed in the table below (from the BME680 datasheet):

Molar fraction Compound Production tolerance Certified accuracy
5 ppm Ethane 20% 5%
10 ppm Isopropene /2-methyl-1 20% 5%
10 ppm Ethanol 20% 5%
50 ppm Acetone 20% 5%
15 ppm Carbon Monoxide 10% 2%

The BSEC algorithm outputs as a result of the combination of the input measurement the Indoor Air Quality (IAQ) value.

This value is an index that can have values between 0 and 500 to indicate or quantify the quality of the air available in the surroundings.

Note from the BME680 documentation:

Indoor-air-quality (IAQ) gives an indication of the relative change in ambient TVOCs detected by BME680. The IAQ scale ranges from 0 (clean air) to 500 (heavily polluted air). During operation, algorithms automatically calibrate and adapt themselves to the typical environments where the sensor is operated (e.g., home, workplace, inside a car, etc.).This automatic background calibration ensures that users experience consistent IAQ performance. The calibration process considers the recent measurement history (typ. up to four days) to ensure that IAQ=25 corresponds to typical good air and IAQ=250 indicates typical polluted air.

IAQ Clasification

The table below lists the IAQ classification and color coding:


The library also outputs an “Accuracy” indicator, which indicates the performance of the calculated IAQ, a value of 1 or more indicates that the sensor values are stable, providing a valid IAQ index, with the maximum accuracy value being 3.

Please refer to the Bosch BME680 datasheet for more details.

VOCs impact on health

According to the guidelines issued by the German Federal Environmental Agency, exceeding 25 mg/m3 of total VOC leads to headaches and further neurotoxic impact on health.