ESPurna ESP8266 Automation Firmware Gets Support for BME680 Sensor’s Precise Indoor Air Quality Measurements

Bosch BME680 is a 4-in-1 air quality sensor measuring relative humidity, barometric pressure, ambient temperature, and gas (VOC) levels. It’s found in boards such as STM32 based Metriful Sense or Nordic Thingy:91, and Bosch Sensortec published an Arduino library based on “Bosch Sensortec Environmental Cluster (BSEC) Software” to provide precise calculations temperature, humidity, pressure, and indoor air quality (IAQ).

BSEC proprietary algorithms can provide indoor air quality data as good as more expensive CO2 sensors according to a recent presentation by the company. Max Prokhorov, lead ESPurna maintainer, and Rui Marinho noticed none of the popular open-source ESP8266 automation firmware including ESPurna, Tasmota, and Esphome supported BME680 sensor just yet.

BME680 air quality sensor
A Close-up on BME680 Sensor without lid

So they decided to work together to add BME680 sensor support via BSEC library to ESPurna firmware, and now it’s very easy to use as you just need to define BME680_SUPPORT=1 before compiling the firmware. You’ll find the now-merged pull request here.

The feature was previously discussed in Tasmota, but they did not go ahead as due to a license issue:

My first reaction would be if Bosch wants to sell these sensors AND have users using it then they shouldn’t use such a restricting license.

As said before many users use pre-compiled binaries and I won’t add any interface to satisfy any license.

In short, they have the wrong license for Tasmota. Pity Bosch.

It must be because of this part in Bosch Arduino repository:

Software license agreement

The BSEC software is only available for download or use after accepting the software license agreement. By using this library, you have agreed to the terms of the license agreement.

It’s not a standard license, and the license is 6-page long. Having said that, Rui has a different understanding of the license agreement:

Since there is now an open repository for Arduino directly from Bosch Sensortec on GitHub which includes the proprietary lib compiled for the BME680, in my understanding, as long as we don’t deliberately remove any copyright notice (which 3-Clause BSD requires), then there should be no reason not to include it here. manages this dependency, so the copyright notice is always downloaded and carried around alongside the compiled library.

Optical CO2 Sensor vs BME680 VOC Sensor
Optical CO2 Sensor (~50 Euros) vs BME680 VOC Sensor (15 to 20 Euros)

Typical applications for BME680 sensor and BSEC software include health monitoring (e.g. warning regarding dehydration/heat stroke), home automation control, gaming applications like flying toys, IoT applications, enhancement of GPS navigation (e.g., time-to-first-fix improvement, dead-reckoning, slope detection), indoor navigation (floor detection, elevator detection), health care applications (e.g. Spirometry), vertical velocity indication (e.g. rise/sink speed) and more.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
Weller PCB manufacturer