Bosch Sensortec Environmental Cluster (BSEC)
Higher-level signal processing and fusion for the BME680
BSEC library provides higher-level signal processing and fusion for the BME680. The library receives compensated sensor values from the sensor API. In order to fully provide the requested sensor outputs, Bosch Sensortec environmental cluster processes the BME680 signals and combines them with the additional phone sensors. The BSEC library offers a complete, easy to integrate software fusion solution out of one hand and thus eliminates the need for own fusion software development.
Typical applications
BSEC precisely performs several calculations outside the device such as ambient air temperature, ambient relative humidity, pressure and air quality (IAQ) level. Besides health monitoring, well-being (warning regarding dehydration / heat stroke), home automation control and HVAC applications, BSEC supports a broad range of further applications, e.g. gaming, indoor and outdoor navigation and many more:
- Health monitoring/ well-being (warning regarding dehydration / heat stroke)
- Home automation control
- Control heating, venting, air conditioning (HVAC) applications
- Gaming applications like flying toys
- Internet of things applications
- Context awareness
- Enhancement of GPS navigation (e.g., time-to-first-fix improvement, dead-reckoning, slope detection)
- Indoor navigation (floor detection, elevator detection)
- Outdoor navigation
- Leisure and sports applications
- Weather forecast
- Health care applications (e.g. spirometry)
- Vertical velocity indication (e.g. rise/sink speed)
Supported platforms
The software is supported in 32, 16 and 8 bit MCU platforms. More information and the possibility to download the environmental lib can be found here.
Technical data
Platform | Compiler | ROM (BSEC) | ROM (BSEC lite*) | RAM | TYPE |
---|---|---|---|---|---|
Platform
Cortex-
ARM |
Compiler
ARMCC
|
ROM (BSEC)
19-20k
|
ROM (BSEC lite*)
12-13k
|
RAM
1k
|
TYPE
Cortex-M0, M0+, M3, M4, M4_FPU, M7
|
Platform
Cortex-
ARM |
Compiler
GCC
|
ROM (BSEC)
20-22k
|
ROM (BSEC lite*)
12-14k
|
RAM
1k
|
TYPE
Cortex-M0, M0+, M3, M4, M4_FPU, M7
|
Platform
Cortex-A*
|
Compiler
GCC
|
ROM (BSEC)
21k
|
ROM (BSEC lite*)
13k
|
RAM
1k
|
TYPE
Cortex-A7
|
Platform
AVR_8bit
|
Compiler
AVR-GCC
|
ROM (BSEC)
42k
|
ROM (BSEC lite*)
25k
|
RAM
1k
|
TYPE
MegaAVR, XMEGA
|
Platform
AVR_32bit
|
Compiler
AVR-GCC
|
ROM (BSEC)
24k
|
ROM (BSEC lite*)
13k
|
RAM
1k
|
TYPE
32-bit AVR UC3
|
Platform
ESP8266
|
Compiler
xtensa-lx106-elf-gcc
|
ROM (BSEC)
28k
|
ROM (BSEC lite*)
17k
|
RAM
1k
|
TYPE
ESP8266
|
Platform
ESP32
|
Compiler
xtensa-esp32-elf-gcc
|
ROM (BSEC)
24k
|
ROM (BSEC lite*)
14k
|
RAM
1k
|
TYPE
ESP32
|
Platform
MSP430
|
Compiler
msp430-elf-gcc
|
ROM (BSEC)
34k
|
ROM (BSEC lite*)
20k
|
RAM
1k
|
TYPE
MSP430
|
Platform
Android
system-x86 |
Compiler
gcc
|
ROM (BSEC)
39-49k
|
ROM (BSEC lite*)
22-26k
|
RAM
1k
|
TYPE
x86, x86_64
|
Platform
Android
system- arm |
Compiler
gcc
|
ROM (BSEC)
21-38k
|
ROM (BSEC lite*)
13-19k
|
RAM
1k
|
TYPE
arm, arm64
|
Platform
IAR
|
Compiler
gcc
|
ROM (BSEC)
20k
|
ROM (BSEC lite*)
12-13k
|
RAM
1k
|
TYPE
Cortex-M0, M0+, M3, M4, M4_FPU, M7
|
Platform
Raspberry
PI0 linux |
Compiler
arm-linux-
gnueabihf-gcc |
ROM (BSEC)
71k
|
ROM (BSEC lite*)
56k
|
RAM
1k
|
TYPE
armv6-32bits
|
Platform
Raspberry
PI3 linux |
Compiler
arm-linux-
gnueabihf-gcc |
ROM (BSEC)
72k
|
ROM (BSEC lite*)
57k
|
RAM
1k
|
TYPE
armv8-a-64bits
|
BSEC size table is not considering RAM/ROM size after linking as it will vary based on embedded system project & platform.
* The BSEC lite version is an abbreviated version of BSEC with reduced code size & memory requirements. It does not include functions to save the state of BSEC, if the device powers down.
For other platforms, please contact us.