Information
Table Of Contents
- A. Overview
- 1. Getting started
- 1.1 The BME688 Gas Sensor
- 1.2 Example: Coffee vs. Normal Air
- 1.3 A Few Things To Keep In Mind
- 1.4 Step 1: Record Normal Air
- 1.5 Step 2: Record Espresso Coffee
- 1.6 Step 3: Record Normal Air Again
- 1.7 Step 4: Record Filter Coffee
- 1.8 Step 5: Import & Label The Data
- 1.9 Step 6: Create New Algorithm and Classes
- 1.10 Step 7: Train And Evaluate The Algorithm
- 1.11 Step 8: Export The Algorithm
- 1.12 Conclusion
- 2. Introduction
- 2.1 What is it about? – An analogy
- 2.2 Why the BME688?
- 2.3 What is a use case for a gas sensor?
- 2.4 What is special about the BME688 gas sensor?
- 2.5 How can I evaluate BME688 performance for a specific use case?
- 2.6 How can I use the results for my product development?
- 3. Glossary
- 3.1 Sensor Board
- 3.2 Measurement Session
- 3.3 Algorithm
- B. Process Steps
- 1. Configure Board
- 1.1 Overview
- 1.2 Board Type
- 1.3 Board Mode
- 1.4 Heater Profile
- 1.5 Duty Cycle
- 1.6 Board Layout
- 2. Record Data
- 2.1 Overview
- 2.2 Start recording
- 2.3 During recording
- 2.4 End recording
- 3. Import Data
- 3.1 Overview
- 3.2 Data Overview
- 3.3 Board ID
- 3.4 Board Type
- 3.5 Board Mode
- 3.6 Session Name
- 3.7 Session Date
- 3.8 Specimen Data
- 4. Collect Specimens
- 4.1 Overview
- 4.2 Label
- 4.3 Comment
- 4.4 Session
- 4.5 Start & End Time
- 4.6 Duration
- 4.7 Cycles Total
- 4.8 Cycles Dropped
- 4.9 Remaining Cycles
- 4.10 Board Configuration
- 4.11 Board ID
- 4.12 Board Type
- 4.13 Board Mode
- 4.14 Show Configuration
- 5. Train Algorithms
- 5.1 Overview
- 5.2 Name
- 5.3 Created
- 5.4 Classes
- 5.5 Class Name & Color
- 5.6 Common Data
- 5.7 Data Balance
- 5.8 Data Channels
- 5.9 Neural Net
- 5.10 Training Method
- 5.11 Max. Training Rounds
- 5.12 Data Splitting
- 6. Evaluate Algorithms
- 6.1 Overview
- 6.2 Confusion Matrix
- 6.3 Accuracy
- 6.4 Macro-averaged F1 Score
- 6.5 Macro-averaged False Positive Rate
- 6.6 Training Data
- 6.7 Test Data
- 6.8 Additional Testing
- 2.1
Bosch Sensortec | BME AI-Studio Documentation 14 | 49
Modifications reserved | Data subject to change
without notice Document number: BST-BME688-AN001-00
Before starting the measurement, it is wise to spend some thoughts on the right testing environment. This also means
choosing how controlled your setup should be. The two kinds of measurements are:
Lab recording where the gas atmosphere is fully controlled. These measurements make it easy for the
algorithm to distinguish between different gas compositions and are therefore ideal to test first. If the algorithm
has a hard time distinguishing data from lab recordings, it is most likely even more difficult to distinguish data
later within the application. You may also want to think about certain nuisances to be added to the test to be
more stable towards external influences later on.
Field recordings where changing backgrounds of the gas composition are not controlled but taken into account
as a statistical fluctuation. These changing conditions help the algorithm to get more robust. Try to get a
variance of the situations that is a little bit worse than it will be later within the application. If the algorithm was
trained in difficult conditions, it will have an easier time later. However, do not go to extremes while changing the
situations – otherwise you make the training process more complicated than necessary.
Once you finished recording, you can import the data. Build up a small collection of specimens and try an early
training
of an algorithm.
Evaluating the results
of the first measurements the performance indicators should look very good. Small amounts of
data should make it very easy for the algorithm to find features that allow for distinguishing the different gas compositions.
If you do not see good results, please go back and check whether previous steps are properly done. If so, it may be the
case that the sensitivity and selectivity of the BME688 does not match your use case. For example, carbon dioxide is
known to be hard to measure with the BME688.
If you see good results, please proceed with a heater profile exploration.
2.5.2 Phase II: Heater Profile Exploration – the space of possible heater profiles
Within the heater profile exploration, the goal is to find the heater profile that best suits your use case. Therefore,
configure multiple heater profiles
and record data to compare the results of different heater profiles.
You may want to record as much data as possible during heater profile exploration by choosing the duty cycle RDC-1-0
Continuous, where the sensors are continuously recording data without any sleeping cycles in between. You can record
multiple sessions with multiple specimens and import them all into your
specimen collection.
When you train algorithms for data with multiple HP/RDC combinations
(heater profile / duty cycle combinations) an
independent neural net will be trained for each instance, giving you the opportunity to compare the performance of
different HP/RDCs. By iterating that process in terms of configuring the BME board with different heater profiles,
recording data and then comparing the performances, you can determine the best suitable heater profile for your specific
use case.
After you found the best heater profile, you may want to proceed with a duty cycle exploration, if power consumption is
an issue for your use case. If power consumption is irrelevant you can directly export your BSEC configuration to be
used the BME library (BSEC).










