Data and descriptions in this document are subject to change without notice.
Product photos and pictures are for illustration purposes only and may differ
from the real product appearance.
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
5
Bosch SensortecBME AI-Studio Manual
1 Overview
1.1 Getting started
Welcome to our “Getting Started” section of the Bosch BME AI-Studio. The BME AI-Studio brings
together our BME Board x8 (equipped with the new BME688 gas sensor) and our BSEC Software
(BME Library).
This section will give you a short introduction and a hands-on example on how to use the application.
Click to Watch Getting Started Video
1.1.1 The BME688 Gas Sensor
See: "0:25 - The BME688 Gas Sensor"
The BME688 gas sensor is like a digital nose. It can detect gases by measuring their unique electric
fingerprint and therefore distinguish different gas compositions.
However, the sensor has to be teached about these different gases first. That means, we have to
train the sensor using Machine Learning.
And that’s where the BME AI-Studio comes in: It let’s you explore and verify your specific use cases:
With the application, you can collect your gas measurements, train Machine Learning algorithms and
export a final algorithm to be used with the BSEC Software (BME Library) in your project.
1.1.2 Example: Coffee vs. Normal Air
See: "1:03 - Example: Coffee vs. Normal Air"
Let’s take a look at a real world example.
Assume, you want to use the BME688 to detect coffee beans. Or in other words: distinguish the gas
composition of coffee from the gas composition of normal air and other smells.
So in order to train an algorithm for that, we first have to record gas measurements of coffee and
normal air.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
6
Bosch SensortecBME AI-Studio Manual
1.1.3 A Few Things To Keep In Mind
See: "1:26 - A Few things To Keep In Mind"
Before we start with the measurements, there are three things to keep in mind:
·
If you have a brand new BME Board, you should stabilize the sensors on the board before taking
any measurements. To do so, connect the board to power with a Micro USB cable and let it run for
at least 24 hours. This procedure is neccessary only once and your board is then ready to take
reliable measurents.
·
Make sure that your BME Board is configured correctly. New BME Boards come already preconfigured with a standard setting – so if you have a brand new board, you don’t have to worry about the
configuration for now.
· Make sure that an SD card is inserted in the board.
1.1.4 Step 1: Record Normal Air
See: "2:08 - Step 1: Record Normal Air"
OK – let’s start the Measurement Session for our Coffee Detection Example.
Let’s record normal air as our first Specimen. We are just going to record the gas composition of the
room. Additional smells to make the detection more robust should be added later. But to keep it
simple in this example we just stick to normal air for now.
Connect the BME Board to power and place the board on your table. Always be careful not to touch
the sensors with your fingers while handling the board.
If everything is OK and the board is recording data, the red LED is flashing every two seconds. Let
the board record for about 30 minutes.
1.1.5 Step 2: Record Espresso Coffee
See: "2:48 - Step 2: Record Espresso Coffee"
Now, let’s move on to the coffee. For this example, we prepared two types of coffee in order to
have a bit of variance in our measurements: Espresso and filter coffee. Let’s measure the espresso
coffee first.
Place the espresso coffee in a relatively air-tight container. Press “Button 1” (labeled “S1”) on the
board to mark this moment in the data. Place the board in the container together with the coffee, and
record the gas composition for 30 minutes.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
7
Bosch SensortecBME AI-Studio Manual
1.1.6 Step 3: Record Normal Air Again
See: "3:19 - Step 3: Record Normal Air Again"
After that, let’s measure normal air again. Take the board out of the container. This time, press
“Button 2” (labeled “S2”) on the board to set another marker in the data.
Place the board again on your table, and record the gas composition for another 30 minutes. Put the
container with the coffee far away, so it doesn’t interfere with the recording.
1.1.7 Step 4: Record Filter Coffee
See: "3:36 - Step 4: Record Filter Coffee"
Finally, let’s record the last Specimen: Filter coffee. Same procedure as with the espresso coffee:
Place the filter coffee in a second container, press “Button 1” on the board and place it in the
container along with the coffee. Again, record the gas composition for 30 minutes.
Once you are finished with your Measurement Session, you can just power off the board by
unplugging the USB cable.
1.1.8 Step 5: Import & Label The Data
See: "4:04 - Step 5: Import And Label The Data"
Now it’s time to open BME AI-Studio on your computer. Create a new project and select a location,
where you want to save it on your hard drive. Let’s call the project “Coffee Example”. Then select
Import data
. Remove the SD card from the BME Board and select the file on the card with the
ending .bmerawdata .
The application now gives you an overview of your recorded data. There’s a plot showing you the
data on a timeline. First, give your Measurement Session a name. Let’s call it “Coffee Session”.
As you can see below the plot, there are already four Specimens defined – one that started with
powering on the board, and three that started when we pressed the buttons during measurment. On
the left, there are input fields to label each Specimen. We measured normal air first, then espresso
coffee, then again normal air, and finally filter coffee.
If you forgot to press a button during the measurement, you could define Specimens manually here
as well.
Select Import Data to finish. The data is now copied to the project folder on your hard drive.
Once the import is finished, you can see your four Specimens in your
Specimen Collection
. The
Specimen Collection is where you can collect and manage all of your recorded data for a specific
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
8
Bosch SensortecBME AI-Studio Manual
project. If you select one of the Specimens, you can see all available details about this Specimen on
the right hand side.
1.1.9 Step 6: Create New Algorithm and Classes
See: "5:37 - Step 6: create New Algorithm And Classes"
So now that we have recorded and imported the data into the Specimen Collection, it is finally time to
create and train an algorithm.
Switch to
My Algorithms
and select
New algorithm
. We can give this algorithm a name, let’s call it
“Coffee or Not”.
As you remember, in our example use case we wanted to detect when coffee is present. That means,
we need to teach our algorithm the difference between two so called “classes”: Coffee and other
smells. So let’s create these two classes. Select
Add class
and give this class a name. Let’s call it
“Coffee”.
Next, we have to select the Specimens from our Specimen Collection that should be part of that
class. In our example, that would be the two Specimens “Espresso Coffee” and “Filter Coffee”.
Now, let’s create the second class. We call this one “Normal Air” and select the two “Normal Air”
Specimens to be associated with this class.
1.1.10 Step 7: Train And Evaluate The Algorithm
See: "6:38 - Step 7: Train And Evaluate The Algorithm"
Now, that we have defined our two classes with their respective Specimens, we can train our
algorithm. There are additional settings for the algorithm and the training, but for now you can leave
these settings at their default values. Just hit
Train Neural Net
and BME AI-Studio will start to train
the algorithm.
Once the training is finished, you can see the results. The most important value to check is the
Accuracy . The higher the Accuracy the better the algorithm’s performance.
One thing you should be aware of though: The algorithm training results can be too perfect. If
you have recorded too little data, it might happen that the algorithm adapts too closely to that
specific data – and gives perfect results. However, it won’t be able to predict other data that is
slightly different. To make the algorithm more robust, you could record additional coffee blends or
other smells, like tea or juices. In short: always make sure to record enough data with a bit of variance.
A second thing to check is the so called
Confusion Matrix
, which you will find under
Details
. It
shows the algorithm’s performance to distinguish our two classes “Coffee” and “Normal Air”.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
9
Bosch SensortecBME AI-Studio Manual
A part of the Specimen’s data has been reserved just for this perfomance test. The rows show
what the actual classes of these test elements were, while the columns show which classes were
predicted by the algorithm. That means, for a good result, the upper left quadrant and the lower
right quadrant should be dark blue and have a high number – indicating how often the algorithm
made the right prediction for both classes. At the same time, the upper right and lower left quadrants
should be light blue and have a low number, since these numbers indicate how often the algorithm
made the wrong prediction. The upper right quadrant tells you how often the algorithm falsely
predicted “Normal Air”, when in fact it was “Coffee”. And the lower left quadrant tells you how often
the algorithm predicted “Coffee”, when it actually was “Normal Air”.
In our example, the results look pretty good. More than 90% accuracy and very few false predictions
in the Confusion Matrix. That’s a good result for a first training.
1.1.11 Step 8: Export The Algorithm
See: "8:55 - Step 8: Export The Algorithm"
As a last step, if you are happy with the result, you can export the algorithm as a
BSEC Configuration File
for the BSEC Software (BME Library). This config file can be used
together with the BME Library (BSEC) in your project.
1.1.12 Conclusion
See: "9:09 - Conclusion"
If you have any questions or if you want to get further information, for example on how to use the BSEC
Software (BME Library), please write us an email or check out the Bosch Sensortec Community.
Happy training!
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
10
Bosch SensortecBME AI-Studio Manual
1.2 Introduction
The combination of BME AI-Studio with the BME Board allows you to explore the great possibilities
of the BME688 and the BSEC Software (BME Library). It helps you validate gas sensor use cases
for your product or application. Try and find out how well your gas sensing application can be fulfilled
by the BME688.
1.2.1 What is it about? – An analogy
In a nutshell the BME AI-Studio can be explained within the following analogy:
Using the BME AI-Studio can be compared to creating a picture book for children. Within that analogy
training an algorithm can be compared to teaching a child how different animals look like. This
analogy should help you grasp the essence of the BME AI-Studio with it’s two major parts: the
Specimen Collection and My Algorithms .
BME worldChild analogy
Goal: Teaching the sensor to distinguish
different gas compositions with labeled
Specimen Data, recorded with the BME
Board
Specimen Collection: Collection of
recorded Measurement Sessions and
labeled Specimens
My Algorithms: Machine learning
process to teach the algorithm which
gases are which (or which classes of
gasses are which), so that they can later
be distinguished by the sensor
Example Algorithms: A trained
algorithm that can distinguish apples
from oranges. This works because
apples and oranges produce different
gases, which produce different sensor
signals. The algorithm was trained to
detect these differences and is now
able to classify the two
Goal: Teaching a child to distinguish different animals
with a picture book, that has photos captured with
your photo camera
Picture book: Collection of photos labeled with the
name of the animals
Teaching a child: Process of showing the labeled
photos to a child to teach him/her which animals are
which, so that they can later be distinguished by the
child
Example: A child that can distinguish giraffes from
elephants. This works because giraffes and
elephants have different appearances, which look
different on a photograph. The child learned to detect
these differences and is now able to classify the two
Table 1: An analogy
Within that analogy the individual steps are:
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
11
Bosch SensortecBME AI-Studio Manual
BME AI-Studio BME boardPhoto software Camera
1Configure the BME Board with BME
2Record data with the BME BoardTake photos with the camera
3Import data into the BME AI-StudioImport photos into photo editing
4Label different Specimens within the dataLabel different animals in the
5Train algorithm with labeled SpecimensTeach a child with labeled photos
6Evaluate and test algorithmAsk the child what he/she has
1.2.2 Why the BME688?
Choose the settings in the camera
AI-Studio
software
photos
learned
Table 2: Steps
Fig. 1: BME688
With the BME688 gas sensor you experience the world’s most advanced gas sensor with unique
capabilities:
·
High sensitivity and selectivity towards various gases (a variety of gases have already
been studied in the lab of Bosch Sensortec.For detailed information please refer to the
Bosch Sensortec Website or the Bosch Sensortec Community)
· Sensitivity and selectivity can be adjusted during operation
· Low power consumption
· Small footprint
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
12
Bosch SensortecBME AI-Studio Manual
· Additional sensing capabilities for temperature, relative humidity and barometric pressure
With this unique capabilities the BME688 gas sensor can be applied to numerous use cases. A gas
sensor can be regarded as a digital nose, which has a lot of advantages if compared to the human
nose. The following table may inspire you to find unique use cases:
Human noseSensor cababilityDigital nose
attached to the bodylocation independentextended nose
needs recovery timealways ready for usehardworking nose
blind for slow and steady
reproducible precisionabsolute nose
changes
sensitive to special gasessensitive for different gasescomplementary nose
individual sensitivitycalibrated sensitivityobjective nose
highly emotionalsober and rationalnot my own nose
Table 3: Use Cases
1.2.3 What is a use case for a gas sensor?
The magic lies within the question itself and it is up to your explorations to fully cover the possible
space of use cases for the BME688. This is exactly where the BME AI-Studio is aiming for.
A use case is a potential application for the BME688. From a gas sensing perspective it is the ability
to classify different gas compositions (with different combinations and concentrations of gases) that
occur in different situations. The goal is to find a configuration in which the sensor is able to reliably
distinguish the different gas compositions.
Interestingly, it is not necessarily important to know the exact composition of gases, as long as you
have defined specific cases and you are able to reproduce these cases and their corresponding gas
compositions.
A specific gas sensor use case may be a part of product premise you are aiming for. It can detect
different situations and thus provide real value added to your product. Typically use cases are the
detection of various pleasant or unpleasant smells or the detection of gases which are odorless.
1.2.4 What is special about the BME688 gas sensor?
The gas sensing element of the BME688 is mounted on a micro-hotplate, so its temperature can be
changed individually. This happens during
Scanning Cycles
. Depending on the
Heater Profile (HP)
the sensor cycles through a list of 10 predefined temperatures. The exact time sequence of these
temperatures defines the surface chemistry of the gas sensing element and thus the sensitivity and
selectivity of the sensor.
Therefore the
Heater Profile
has a substantial influence on the performance of the gas sensor.
Choosing the right Heater Profile for your use case can be the key to getting a good performance in
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
13
Bosch SensortecBME AI-Studio Manual
classifying different situations.
These Heater Profiles are one of key advantages of the BME688. This allows the sensor to adopt to
individual gases by adopting the measurement scheme to the gases’ individual fingerprints.
1.2.5 How can I evaluate BME688 performance for a specific use cases?
The BME AI-Studio is the perfect tool to support you in the quest of finding out whether a specific
use case can be tackled with the BME688 gas sensor. Basically there are the following degrees of
freedom that you can vary within the testing conditions:
· Data recording and testing environment
· Heater Profile configuration
· Duty Cycle configuration
· Algorithm training parameters
In general the process can be viewed as a careful exploration and an iterative approach. The
following procedure has proven to be very efficient:
Fig. 2: Use case Evaluation
1.2.6 Phase I: Doing the first measurements
The best thing is to just start recording whatever use case you have in mind. On your way of
exploring the use case more and more, you will gain knowledge and sometimes you have to redo
some of the measurements. That’s very normal when exploring new use cases.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
14
Bosch SensortecBME AI-Studio Manual
Please note
Fabric-new BME Boards need to undergo an initial stabilization procedure.Please
let the board run for at least 24 hours before recording any meaningful data.
A factory-new BME Board comes preconfigured with the
RDC-5-10
. This means you can start right away capturing the first data. As a more advanced user,
Heater Profile HP-354
and the
Duty Cycle
you might want to configure the board with a selection of different Heater Profiles.
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.
1.2.7 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 try and
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
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
15
Bosch SensortecBME AI-Studio Manual
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 BSEC Software (BME Library).
1.2.8 Phase III: Duty Cycle Exploration – balancing power consumption and performance
A Duty Cycle Exploration is important if you want to optimize power consumption of the BME688 for
your application. Therefore the purpose of Duty Cycle Exploration is to find the best Duty Cycle for
your use case – it is the one that uses a minimum amount of energy while still providing very good
performance.
Try
configuring multiple Duty Cycles
, while keeping the Heater Profile that was perfoming best and
that you determined within the Heater Profile Exploration. While comparing different Duty Cycles,
keep in mind that the ratio of Scanning Cycles to Sleeping Cycles determines the average power
consumption of the sensor. You find an estimated power consumption within the
board configuration
in your Specimen Collection.
Once you found your optimal Duty Cycle, you can export your
BSEC configuration
to be used with
the BSEC Software (BME Library).
1.2.9 How can I use the results for my product development?
The BME AI-Studio with BME Board and the BME Library (BSEC) are build around the BME688 gas
sensor. Together they form an ecosystem to explore, validate and prototype gas sensor use cases.
With the BME Board you can record data to be used within the AI-Studio for training neural nets.
These can be exported to be used with the BME Library (BSEC) and inside an embedded application.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
16
Bosch SensortecBME AI-Studio Manual
Fig. 3: Integration
For any trained algorithm you can export a BSEC configuration file that can be used with the BSEC
Software (BME Library).
Please refer to the website of Bosch Sensortec BME Software for further information.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
17
Bosch SensortecBME AI-Studio Manual
1.3 Glossary
1.3.1 Sensor Board
BME Board x8 / Development Kit
BME Board x8 (which is also referred to as BME Development Kit) is an experimental board with
eight BME688 sensors.
Fig. 4: BME688 Board
BME Board Configuration
The Board Configuration states which sensor runs which sensor mode.
HP/RDC Combination
Each sensor can operate with a specific setting which consists of
· Heater Profile (HP)
· Duty Cycle (RDC)
Hence, the term HP/RDC Combination.
Heater Profile
Temperature profile with 10 steps which is run through by the sensor during a Scanning Cycle. Each
of the 10 steps consists of:
· A temperature
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
18
Bosch SensortecBME AI-Studio Manual
· A duration (timebase is 140 ms)
At the end of each step, a measurement is recorded and stored in the data.
Fig. 5: Heater Profile
Please note
The duration of a step of a Heater Profile is calculated with a timebase of 140 ms.
That means e.g. a duration of 2 will result in a duration of 2 * 140 ms = 280 ms .
Duty Cycle
Repeated sequence of a defined number of Scanning Cycles followed by a defined number of
Sleeping Cycles.
E.g. Duty Cycle with 5 Scanning Cycles and 10 Sleeping Cycles (RDC-5-10):
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
19
Bosch SensortecBME AI-Studio Manual
Fig. 6: Duty Cycle
Each Scanning Cycle can be viewed as one iteration of a Heater Profile. Therefore the duration of
each Scanning Cycle is derived from the duration of the Heater Profile used. The duration of each
Sleeping Cycle is always equal to the duration of a Scanning Cycle.
The duration of the whole Duty Cycle defines the algorithms response time.
Sleeping Cycle
During a Sleeping Cycle the sensor is in sleep mode and does not perform any measurements.
Scanning Cycles
During a Scanning Cycle the sensor uses the internal micro-hotplate to run through a sequence of
temperature steps according to a specific Heater Profile.
1.3.2 Measurement Session
Measurement Session
Data acquisition within one “session“ with one BME Board Configuration. The Measurement Session
begins with powering on the board and ends with powering off the board. Multiple sessions can be
conducted one after another using the same SD card. Typically, multiple Specimens are measured
during a Measurement Session.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
20
Bosch SensortecBME AI-Studio Manual
Fig. 7: Measurement Session
Specimen
One specific gas composition that the sensors on the BME Board are exposed to during measurement
(e.g. an object, a specific situation, a smell, gas, etc.).
Session Raw Data / Raw Data
The raw data recorded during a Measurement Session which is saved to the SD card. This includes
data from all 8 sensors on the BME Board x8.
Session Raw Data is split into multiple files when board power is switched on/off or the file limit (297
MB) is exceeded.
Session Raw Data can be marked during measurement for easy splitting into Specimen Data by
pressing one of the buttons S1 or S2 on the BME Board x8.
Specimen Data
A part (a set of cycles that belong to one Specimen) of the Session Raw Data of one Measurement
Session. The Specimen Data can be curated and labeled with respect to the measured Specimen
within the application.
Specimen Data includes four data channels (for each sensor on the board):
· Gas Data Channel (10 data points)
· Humidity Data Channel (1 data point)
· Temperature Data Channel (1 data point)
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
21
Bosch SensortecBME AI-Studio Manual
· Barometric Pressure Data Channel (1 data point)
1.3.3 Algorithm
Algorithm
A neural net for classification, including multiple classes with added Specimens, as well as machine
learning settings and results.
The Specimen Data of the added Specimens are split and used for training and verification of the the
neural net (Training and Test Data).
Training result consists of a Confusion Matrix and performance indicators, e.g. Accuracy.
Classes
Classes are the possible outcomes of the classification algorithm. Each class has added Specimens.
The corresponding Specimen Data is used for the classification training and verification (Training and
Test Data).
Training and Test Data
The Specimen Data of all classes of a Algorithm is split into two parts:
· Training Data: Used to train the neural net
· Test Data: Used to test the performance of the neural net after training
BSEC Configuration File
A configuration file that can be exported from the application for each algorithm. It contains all parameters (weights and biases) of the trained neural net. It is meant to be used with the
BSEC Software
.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
22
Bosch SensortecBME AI-Studio Manual
2 Process Steps
2.1 Configure Board
2.1.1 Overview
The first step in the process of using a BME Board with the BME-AI Studio is to configure the board.
This step prepares the boards with a proper configuration for recording. The configuration is first
defined within the application and then saved as a configuration file, that has to be transferred onto
the SD card of the BME Board.
Good to know
If you have a factory-new BME Board and just want to get started, you can also skip
this step.New boards are already configured with a default configuration (HP-354 /
RDC-5-10). In this case, check out our Getting started section.
Create a configuration file
Open the application and create a new project by clicking
screen. Alternatively, you can open the menu and select
Create new project
New project...
on the Welcome
. Next, a file dialogue opens.
Please select, where you want to save your new project.
If you already have an existing project, just open the project and switch to your
To set up a configuration, click
Configure Board
. A new overlay opens that lets you define the
Specimen Collection
configuration and save it as a configuration file to the SD card.
Three types of configurations
The operation with the boards is divided into three categories, which are intented for different phases
with different goals:
1. Default configuration
BME Boards that are straight from the factory come with a default configuration, that suits most
use cases. This mode can also be used for an initial stabilization which is needed before you can
use them for data recording.
2. Finding the right Heater Profiles
The power of adapting the BME688 gas sensor to a specific use case lies within the concept
of Heater Profiles. Finding the right Heater Profile that suits best for your use case is key to
getting peak performance results. Therefore we advise you to spend some time finding the
optimal Heater Profile, which delivers the best results specifically for your use case. This involves
sensitivity and selectivity. To explore a variety of Heater Profiles and find the best one for your use
case, please use the board mode Heater Profile Exploration .
.
3. Optimizing the Duty Cycle
The BME688 allows you to adopt its mode of operation in order to save energy. During a
Sleeping Cycle
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
the sensor is in low-power mode and will be automatically woken up after a
23
Bosch SensortecBME AI-Studio Manual
certain amount of time to enter a
Scanning Cycle
. The balance between sleeping and scanning is
defined by the Duty Cycle. To explore a variety of Duty Cycles and find the best one for your use
case, please use the board mode Duty Cycle Exploration .
It is important to pay attention to individual combinations of Heater Profiles (HP) and Duty Cylces
(RDC), so called
HP/RDC combinations
. Each sensor runs in a specific
HP/RDC combination
that
determines the behavior how data is recorded. Not only is this important to the configuration of the
boards and the recording of the data, but also for creating and training algorithms. One algorithm can
use only identical HP/RDC combinations for training.
2.1.2 Board Type
Here you can choose the type of BME Board you want to create a configuration file for. In this version
of BME AI-Studio, you can choose one board type:
· BME Board with 8 BME688 sensors (BME Board x8)
Fig. 8: BME board x8
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
24
Bosch SensortecBME AI-Studio Manual
Fig. 9: BME board x8 Back
Other board types Coming soon
In a future release of BME AI-Studio we plan to have the possibility to chose other BME Boards.
2.1.3 Board Mode
The board mode can be set to different modes, depending on your goal.
Warning
Fabric-new boards need to undergo a stabilization procedure.For stabilization you
can use any board mode as long as you let it run for 24 hours.
· Sensorboard Default HP/RDC
is used to perform standard measurements. It uses the HP-354
heater profile, a versatile and short profile, which is best to begin with.
· Heater Profile Exploration
is used to scan a variety of Heater Profiles in order to find the one
best suitable for a specific use case. In this mode you are able to choose multiple Heater Profiles,
but only one Duty Cycle.
· Duty Cycle Exploration
is used if you want to optimize the Duty Cycling for a given Heater
Profile. In this mode you are able to choose multiple Duty Cycles, but only one Heater Profile.
Usually this mode is used for optimizing the energy efficiency, when you already found the best
Heater Profile for your use case.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
25
Bosch SensortecBME AI-Studio Manual
2.1.4 Heater Profile
In this section you can choose the Heater Profiles to be used in the Sensor Board configuration.
Select Heater Profiles
In order to make a selection of Heater Profiles, click on
Select Heater Profiles ...
and choose the
desired Heater Profiles from the list. You can select multiple Heater Profiles, if you have chosen
“Heater Profile Exploration” as
chosen “Duty Cycle Exploration” as
Board Mode
Board Mode
. You can select only one Heater Profile, if you have
. Each Heater Profile can be viewed with its
temperature sequence (graph and table) as well as a description of its purpose.
Different groups of Heater Profiles
The pre-defined Heater Profiles can be viewed as profiles that belong to different profile groups.
This is also indicated by the numbering system within the name of the Heater Profiles. While
exploring new use cases it is good advise to try Heater Profiles from various groups in the first
place. Once it is clear which group of Heater Profiles work best you may explore this group
in depth, by recording data with various Heater Profiles from this group and compare the results.
Maximum number of Heater Profiles
The maximum number of Heater Profiles (in
Heater Profile Exploration
) is given by the board type:
· BME Board x8 can be configured with a maximum of 4 Heater Profiles
Review Heater Profiles
Once you have selected your desired Heater Profiles, you will see them in the corresponding table.
To quickly remove Heater Profiles from the list, you can click on X .
Please note
If you have chosen “Sensorboard Default HP/RDC” for
Board Mode
you can not choose any
Heater Profile. The standard profile is selected automatically.
Individual Heater Profiles
In the current version of BME AI-Studio you can choose pre-defined Heater Profiles. In a future
release we plan to have the possibility of defining individual Heater Profiles.
2.1.5 Duty Cycle
In this section you can choose the Duty Cycles to be used in the Sensor Board configuration.
Select Duty Cycles
In order to make a selection of Duty Cycles, click on
Select Duty Cycles ...
and choose the desired
Duty Cycles from the list. You can select multiple Duty Cycles, if you have chosen “Duty Cycle
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
26
Bosch SensortecBME AI-Studio Manual
Exploration” as Board Mode. You can select only one Duty Cycle, if you have chosen “Heater Profile
Exploration” as Board Mode. Each Duty Cycle can be viewed with its specific number of Scanning
Cycles and Sleeping Cycles and a schematic.
Additionally, you can see the percentage of Scanning Cycles within one iteration of a Duty Cycle. E.g.
a 25% value means that for a quarter of the overall time the sensor is in scanning mode. This ratio
also translates to the estimated energy consumption.
Maximum number of Duty Cycles
The maximum number of Duty Cycles (in Duty Cycle Exploration ) is given by the board type:
· BME Board x8 can be configured with maximum 4 Duty Cycles
The table shows you the selected Duty Cycles. By clicking onXyou can easily remove Duty Cycles
from the list.
Individual Duty Cycles
In the current version of BME AI-Studio you can choose pre-defined Duty Cycles. In a future release
we plan to have the possibility of defining individual Duty Cycles.
2.1.6 Board Layout
This option determines how the HP/RDC combinations are distributed over the available sensors on
the BME Board. You can choose between three options:
· Grouped
places the combinations in a grouped way on the board. This can be thought of
sequentially picking the sensors combination by combination and placing them on the board. It is
the most obvious and easy to understand distribution.
· Shuffled
places the combinations in a shuffled or alternated way. This can be thought of
sequentially picking sensors from each group and placing them on the board. This option gives a
reproducible and evenly distribution. You may want to use this combination if you want to avoid
grouping of sensors at certain positions on the BME Board. This may come in handy when you
flush the BME Board with a focused stream of gas and you want to avoid the risk of having a
systemic error in the gas concentrations per sensor configuration.
· Random
places the combinations in a randomized way. This can be thought of mixing sensors
from each group and placing them on the board. This option gives an unintentional and evenly
distribution. You may want to try selecting this option multiple times to get a new and independent
randomization each time.
If the number of sensors on the BME Board is not divisible by the number of combinations, there will
be residual sensors. These are filled up in an unbalanced manner, independent of the chosen board
layout.
The actual distribution is shown in the corresponding schematic.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
27
Bosch SensortecBME AI-Studio Manual
2.2 Record Data
2.2.1 Overview
Once you configured your BME Board, you are ready to make some measurements and record data.
During this step, you don’t need the BME AI-Studio application. You can record data with just the
BME Board.
In order to produce meaningful data, you should pay attention to the following important points:
· Try to capture realistic situations
The data that you record will later be used to train algorithms. In order to evaluate whether the
algorithm will work under realistic conditions it is important to record data under realistic conditions
as well.This means: if you want to distinguish apples from oranges that are lying on a table with
the BME688 gassensor, do not record data where you cut the fruit and put it in a closed box
with the sensor. Gas concentrations will be very different from the use case you intend to have later.
· Take some time
Depending on the Heater Profiles and Duty Cylces you are using the sensor takes between 15
seconds and several minutes for each measurement. Try to collect at least 50 data points (which
is a recording duration of 50 times the Duty Cycle length) per situation. This means: if you use a
Duty Cycle with a duration of 30 seconds, try to record each situation for at least 30 minutes.
· Vary the situations
Try recording the use case you intend to do in various situations and across multiple days.
The more you vary the more robust your algorithm will be. Temperature and humidity have a
substantial influence on the sensitivity and selectivity of the sensor. Measuring across different
situations and with different background gases will increase the variety of measurements that go
into the training of the algorithm, which will give you a better feedback on how robust the algorithm
is across different situations
Some questions you could ask yourself
Depending on what you want to measure, it is important to prepare the appropriate
setup and context. Some questions you should ask yourself:
· What do I want to measure? What is my Specimen?
· Can I reproduce the Specimen and if yes, how?
· Does the measurement take place inside or outside?
· How could the sourroundings affect the measurement?
· Which nuisances could influence the use case and need to be included?
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
28
Bosch SensortecBME AI-Studio Manual
Warning
Do not touch the sensors with your fingers.Fat on your skin will stick to the surface
of the sensor enclosure and outgas for a long time. This will alter your gas recordings and
lead to the training of unrealistic algorithms.
2.2.2 Start recording
Fig. 10: Inserting SD Card
Insert the SD card into the BME Board. The SD card slot is on the top side of the BME Board. Insert
the card with its contacts facing towards the upper circuit board.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
29
Bosch SensortecBME AI-Studio Manual
Fig. 11: Start Recording
Connect the BME Board to power with a Micro USB cable. Once the board is connected to power it
will automatically turn on and start recording. The red LED next to the USB connector should blink
every two seconds. If it blinks rapidly, the board is not recording.
Best practice
The BME Board x8 has an internal battery to keep track of time, but it is good prac-
tice to note down the exact date and time when you start your recording, so you can verify the
data later.
Using BME Board with a Battery Pack
For recordings in closed environments you can use a battery pack to power the sensor board. A battery pack with 10.000 mAh should power your board for at least 24 hours,
depending on the Duty cycle used and the surrounding temperatures.
2.2.3 During recording
You can record multiple Specimens during your Measurement Session without the need to turn off
the BME Board. To mark different Specimens during your recording on the fly, you can either press
the buttons on the BME Board or use the BME mobile App:
Define Specimens during measurement via on-board buttons
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
30
Bosch SensortecBME AI-Studio Manual
During measurement you can use either Button 1 (labeled
S1
) or Button 2 (labeled
S2
) on the
BME Board x8 to mark specific moments as a new Specimen. If you do, these Specimen definitions
will appear as Specimens during data import.
Fig. 12: During Recording
Define Specimens during measurement via BME mobile app Coming soon
Documentation for the BME mobile app will be added soon.
Define Specimens manually during data import
You can also add Specimen definitions manually during import. See Import Data for further details.
Best practice
As with the start of your recording, we recommend keeping notes of which Speci-
mens were recorded with the exact date and time for each Specimen.
2.2.4 End recording
Once you are finished recording your Specimens, you can simply unplug the power. The BME Board
will turn off and the recording will stop.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
31
Bosch SensortecBME AI-Studio Manual
Fig. 13: End Recording
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
32
Bosch SensortecBME AI-Studio Manual
2.3 Import Data
2.3.1 Overview
After you recorded data with the BME Board, it is now time to import the data into the application.
During import, you can verify the data and define your Specimens. You can import several
measurements and
train Algorithms. You can import data into a new project or into existing projects.
Access Files on SD Card
After your measurements, take the SD card out of the BME Board. Access the files on the SD card
from your computer via an SD card reader.
collect everything in your Specimen Collection
, before later proceeding to
Fig. 14: Start Recording
Please note
If you do not see any data on the SD card, it is likely your board needs to be configured. To create a configuration file for your board, please see Configure Board.
Importing Raw Data
Open the application and create a new project by clicking
screen. Alternatively, you can open the menu and select
Create new project
New project...
on the Welcome
. Next, a file dialogue opens.
Please select, where you want to save your new project.
If you want to import data into an existing project, just open the project and switch to your
Specimen Collection .
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
33
Bosch SensortecBME AI-Studio Manual
Now, to import data, click Import Data . A file dialogue opens. You can
· select the Raw Data File directly from the SD card.
·
first copy the Raw Data File from the SD card onto your computer hard drive, and then select the
file from your hard drive.
Once you selected the Raw Data File, the data is being imported into your project and stored within
the project folder of your project.
A new overlay opens that gives you an overview over the recorded data and lets you define your
Specimens within the recording.
Importing Specimen Data
You can also import Specimen Data, that you exported from another project. The Specimens will be
imported including their respective Measurement Sessions.
Please note
If you import Specimens that are already part of your project, the Specimens will imported as second duplicate. This can be interesting, if you want to weight specific Specimens
as double or triple within algorithm training.
Importing whole projects
You can also import a whole project, by selecting the respective project folder. All Measurement
Sessions and their Specimens will be imported.
2.3.2 Data Overview
This section gives you a brief summary of the data you just imported into your project. Verify the
information to make sure everything went fine during your measurement:
· Adjacent raw data files:
If the data was automatically split into multiple parts during measurement,
BME AI-Studio automatically recognizes all adjacent files and imports them as well, no matter if you
choose the first or any other of these files. Automatic splitting of Raw Data files can happen when
the BME Board power is switched on/off or the file limit (297 MB) is exceeded during measurement.
· Number of sensors found within raw data:
This number should correspond with the number of
sensors on the BME Board used to record the data. If you used the BME Board x8, which has
eight sensors, the imported Raw Data should include data from eight sensors as well. However,
in some cases the number of sensors found within the data does not match with the number of
sensors on the board. This usually indicates that one or more sensors were malfunctioning or not
recording any data for some reason.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
34
Bosch SensortecBME AI-Studio Manual
· Number of HP/RDC Combinations found within raw data:
This number should correspond
with the specific BME Board Configuration used to record the data. E.g. if your configuration
included four Heater Profiles and one Duty Cycle (so 4 HP/RDC Combinations in total), the
imported Raw Data should include data from four HP/RDC Combinations as well. However, in
some cases the number of HP/RDC Combinations found within the data does not match with
the original BME Board Configuration. This usually indicates that one or more sensors were
malfunctioning or not recording any data for some reason.
2.3.3 Board ID
This indicates which BME Board has been used to record the data. Each board has a unique ID that
is permanently stored on the board itself, which makes it uniquely identifiable.
2.3.4 Board Type
This indicates the type of BME Board used to record the data.
2.3.5 Board Mode
This indicates the Board Mode in which the BME Board was configured in when used to record the
data.
2.3.6 Session Name
Give your Measurement Session a name – this could be a topic, a specific location or special occasion.
Choose your Session name in a way that helps you identify and distinguish your Measurement
Session later on.
2.3.7 Session Date
This indicates the date and time the Measurement Session has been recorded. Within the Raw
Data, the time information is stored in Coordinated Universal Time (UTC) and is here automatically
displayed in your respective local time zone. You can manually overwrite the time information if
needed.
Start Date
The time the BME Board was powered on.
End Date
The time the BME Board was powered off.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
35
Bosch SensortecBME AI-Studio Manual
Please note
If your BME Board lost its time information (e.g. if you disconnected the battery of
BME Board x8), the date and time of the Measurement Session will always be January 1,
1970 by default. In this case, please overwrite the date and time with the actual correct date
and time of your measurement.
2.3.8 Specimen Data
This section gives you a visual representation (data plot) of the Measurement Raw Data and an
overview of the Specimens in this session.
Specimens within a Measurement Session reflect what you have measured during that session.
This can be an object, a specific situation, a smell, gas, etc. – or in other words: One specific gas
composition the sensors on the BME Board were exposed to during the measurement.
Defined Specimens are shown in the data plot as well as a list below.
Data Plot
You can view the Specimen Data in a visual plot. You can switch between:
· Four Data Channels
· Gas Data Channel
· Humidity Data Channel
· Temperature Data Channel
· Barometric Pressure Data Channel
· each Sensor on the BME
Define Specimens during measurement via on-board buttons
During measurement you can use the two buttons on the BME Board x8 to mark specific moments
as a new Specimen. If you did, these Specimen definitions will appear in here this section (in the
data plot and in the list of Specimens below). See Record Data for further details.
Define Specimens during measurement via BME mobile app Coming soon
Documentation for the BME mobile app will be added soon.
Define Specimens manually during data import
You can also add new Specimen definitions manually during import by clicking
Add Specimen
. This
creates a new Specimen definition in the list and you can specify the respective start and end time
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
36
Bosch SensortecBME AI-Studio Manual
within the Measurement Session. You can also add the corresponding Label here.
Edit Specimen Definitions during data import
You can edit the start and end time of Specimen definitions manually. When editing a Specimen
definition, the respective area is highlighted in the data plot above.
Good to know
Although it is possible to define “overlapping” Specimens within a Session where the
end time of the first Specimen lies after the start time of the second Specimen (so the same
data is used in two Specimens), we recommend not doing so.
Please note
The start and end time of Specimens can not exceed the start and end time of the
overall session.
Label Specimens
You can label your recorded Specimens either here during Import, or later within the
Specimen Collection (see Collect Specimens).
Delete a Specimen definition
You can easily delete a Specimen definition by clicking the X button.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
37
Bosch SensortecBME AI-Studio Manual
2.4 Collect Specimens
2.4.1 Overview
Once you
individual Specimens in your
imported the Raw Data files
Specimen Collection
from your measurements, you find the imported data as
. The Specimens in this list are grouped by
Measurement Session and sorted by import date by default. You can organize all your data here,
before later proceeding to train Algorithms.
Fig. 15: Specimen Collection
The purpose of the Specimen Collection is to collect various Specimens that belong to one use case.
You may collect a lot of different Specimens over time and use different combinations of Specimens
to try out the training of different algorithms.
Good to know
It is recommended to start a new project (with a fresh Specimen Collection) for each
use case you want to investigate. Therefore you can collect all Specimens that you want
to use for training of use-case-specific algorithms within one project. You can easily export
Specimens and import them in other projects.
Sort Specimens
You can change the sorting of Specimens by clicking repeatedly on the respective column header on
top of the list. A little caret icon indicates the sorting direction:
· ∧ means ascending order (A-Z, 0-9, early-late)
· ∨ means descending order (Z-A, 9-0, late-early)
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
38
Bosch SensortecBME AI-Studio Manual
Search Specimens
You can search for specific Specimens within the Specimen Collection via the search field above the
list. Once you entered a search term, the list below will be filtered according to your search and show
only Specimens matching your search.
Measurement Session Settings
After importing Measurement Raw Data into your Specimen Collection you can always come back to
the settings of each Measurement Session. Click the
Session in your Specimen Collection to access these settings.
Here you can see information about the session, change its name and date, as well as edit Specimen
definitions, add additional Specimen definitions or remove them.
See Specimen details
Settings
button next to each Measurement
Once you select a Specimen within the Specimen Collection, detail information of the selected
Specimen is shown on the right hand side. Here you can add and change the label of the Specimen,
add and edit a corresponding comment, and see all additional details regarding the Specimen.
Select multiple Specimens
You can also select multiple Specimens by clicking on the respective checkbox on the right hand side
of each list entry. The detail information on the right now reflects which information has equal values
and which information has multiple values within your selection.
If you select the checkbox of a whole Measurement Session, all Specimens within that session
are selected. If you select the checkbox inside the column header of the Specimen Collection, all
Specimens of all Measurement Sessions are selected.
Export Specimen Data
Once you select one or multiple Specimens, you can export these Specimens as individual files.
Each file will include everything related to that specific Specimen, including its Label, Comment, etc.
Export Specimen Data if you want to use these Specimens in another BME project, if you want to
share the data with others or if you want to manually back up that data.
Delete Specimens
Once you select one or multiple Specimens, you can delete these Specimens from your Specimen
Collection. BME AI-Studio will ask you to confirm the action before deleting the Specimens.
The action can not be undone, however only the definition of the Specimen (e.g. its start and end time,
its Label, etc.) is deleted. The underlying Measurement Raw Data will be kept in the background, as
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
39
Bosch SensortecBME AI-Studio Manual
long as you have one or more other Specimens from the same Measurement Session in your collection. If you delete all Specimens from a session, the Measurement Raw Data will be deleted as well.
Please note
Be careful with deleting Specimens that you associated with a class as part of an algorithm. After deleting the Specimen, it will be missing from your class and therefore affect
the outcome of the algorithm training.
If you try to delete a Specimen which is or has been associated with a Class as part of an
Algorithm, BME AI-Studio will give you warning.
2.4.2 Label
The label of each Specimen specifies what exactly has been measured – this could be an object, a
specific situation, a smell, gas, etc. You can confirm your edit by pressing
blue√button. If you press
ESC
or select the greyXbutton, your edit will be discarded and the
original value of the field will be kept.
Enter
or selecting the
Good to know
Label your Specimens as explicitly and clear as possible.“Apple Granny Smith, 1
day old” is better than “Apple 1”.
Please note
Labels are not to be confused with classes.Labels can include additional information and differentiate Specimens, that will later go into the same class. E.g. you might want to
label your Specimens “Red apple”, “Green apple” and “Apple bio”, but use all three of them in
one Class called “Apples”.
2.4.3 Comment
Add a comment to your Specimen to add extra information or notes. This might help you identify and
distinguish your Specimen later on.
2.4.4 Session
This indicates the Measurement Session the selected Specimen belongs to.
2.4.5 Start & End Time
This indicates the date and time the selected Specimen has been recorded within the respective
Measurement Session. Within the Raw Data, the time information is stored in Coordinated Universal
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
40
Bosch SensortecBME AI-Studio Manual
Time (UTC) and is here automatically displayed in your respective local time zone.
2.4.6 Duration
This indicates the length of the measurement of the selected Specimen, according to its start and
end time.
2.4.7 Cycles Total
This indicates the total number of Scanning Cycles in the Measurement Raw Data of the selected
Specimen.
Please note
Since each Heater Profile has slightly different cycle lengths, the number of Scanning Cycles within a Specimen can vary and might be different for equal measurement
durations.
2.4.8 Cycles Dropped
This indicates the number of Scanning Cycles that have been dropped during import. When importing
Raw Measurement Data, BME AI-Studio automatically checks the data of every Scanning Cycle and
excludes incomplete cycles from the import.
The number of dropped Scanning Cycles is also indicated as a percentage of the total number of
Scanning Cycles.
2.4.9 Remaining Cycles
This indicates the number of remaining Scanning Cycles of the selected Specimen after dropping
incomplete cycles.
2.4.10 Board Configuration
This section provides detail information about the BME Board which was used to record the data of
the selected Specimen. You can see the unique board ID, the board type and access the BME Board
Configuration used by clicking
Show configuration
. This opens up an overlay with the following
information:
Board Type
This indicates the type of BME Board used to record the data of the selected Specimen.
Board Mode
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
41
Bosch SensortecBME AI-Studio Manual
This indicates the board mode in which the BME Board was configured in during recording of the
data of the selected Specimen.
Heater Profiles
The Heater Profile or list of Heater Profiles used to record the data of the selected Specimen. If
multiple Heater Profiles have been used, you can click
details of each Heater Profile.
Duty Cycle
The Duty Cycle or list of Duty Cycles used to record the data of the selected Specimen. If multiple
Duty Cycles have been used, you can click
Show Duty Cycles
Duty Cycle.
Board Layout
Show Heater Profiles
to see additional details of each
to see additional
This indicates how the HP/RDC combinations were distributed over the available sensors on the
BME Board during recording of the data of the selected Specimen.
2.4.11 Board ID
This indicates which BME Board has been used to record the data of the selected Specimen. Each
board has a unique ID that is permanently stored on the board itself, which makes it uniquely
identifiable.
2.4.12 Board Type
This indicates the type of BME Board used to record the data of the selected Specimen.
2.4.13 Board Mode
This indicates the board mode in which the BME Board was configured in when used to record the
data of the selected Specimen.
2.4.14 Show Configuration
You can see the Board Configuration of the BME Board which was used to record the data by
selecting Show Configuration .
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
42
Bosch SensortecBME AI-Studio Manual
2.5 Train Algorithms
2.5.1 Overview
Within the section
My Algorithms
you are able to use the data collected in your Specimen Collection
to train (classification) algorithms. You are able to create multiple algorithms with a different data
basis as well as various settings. Once trained you can compare the performance of the different
algorithms and choose the one algorithm that fits best your use case (see
Evaluate Algorithms
). An
algorithm can be exported as file for the BSEC Software (BME Library), which is basically a set
of specific settings for the sensor, that enables it to distinguish different gas compositions, once
provided with these settings.
Create new Algorithm
First switch to
My Algorithms
, then select
New Algorithm
to create a new Algorithm. On the left
you will see all your algorithms in a list view.
See Algorithm details
Once you select an algorithm within that list of algorithms, detail information of the selected algorithm
is shown on the right hand side. Make sure you select
Algorithm Settings
. Here you can set up
everything for the training of your Algorithm.
Train Algorithm
After setting up your algorithm, you can click
Train Algorithm
to start the training. Depending on the
amount of data, the training can take from a few seconds up to several minutes. After the training,
you can see the training results under
Training Results
. Jump to
Evaluate Algorithms
for further
information.
Duplicate Algorithm
Once you select an algorithm, you can duplicate that algorithm, if you want to repeat your training
with slightly different settings. Just click
Duplicate Algorithm
on the bottom of the screen or via the
context menu by clicking ... .
Delete Algorithm
Once you select an algorithm, you can delete that algorithm by clicking
Delete Algorithm
on the
bottom of the screen or via the context menu by clicking ... .
2.5.2 Name
Give your algorithm a name. Choose a name that might help you to identify and distinguish your
Algorithms later on.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
43
Bosch SensortecBME AI-Studio Manual
2.5.3 Created
The date and time you created that algorithm.
2.5.4 Classes
Classes are the most important part of your algorithm. Each class represents one of the different
gas compositions you want to distinguish in your use case. For example, if you want to distinguish apples and oranges, you would create two classes – one class for apples, one class for oranges.
Once you created a class, you can then select Specimens from your Specimen Collection to add
to that class. For example, if you recorded data from five different apples, you would add these
Specimens to your apple class. And those Specimens where oranges were recorded, you would add
to your oranges class.
Fig. 16: Train Algorithms
2.5.5 Class Name & Color
Give your class a name that describes the gas composition you want to distinguish. Additionally, you
can give your class a color of your choice.
2.5.6 Common Data
After adding Specimens to your classes, BME AI-Studio will check the underlying data and the
corresponding Heater Profiles and Duty Cycles, which were used to record that data. This section
indicates, how many different combinations of Heater Profiles and Duty Cycles were found within all
the data, and how many of these combinations are shared with all selected Specimens. If there is a
little checkmark, everything is okay and there are common HP/RDC combinations found for training.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
44
Bosch SensortecBME AI-Studio Manual
2.5.7 Data Balance
This indicates how the data for your algorithm training is distributed over your classes. Ideally the
distribution should be balanced. If there is a little checkmark, everything is okay and the data is
balanced enough for training.
How Data Balance is calculated
Each class consists of multiple Specimens and each Specimen has a duration.The
application checks if the total duration (sum of all Specimen durations) of any of the classes is
below the following threshold:
threshold = 24% / number of classes
E.g.
· threshold for 2 classes: 12%
· threshold for 3 classes: 8%
· threshold for 4 classes: 6%
2.5.8 Data Channels
Specimen Data includes four data channels. You can choose, which Data Channel of each Specimen
should be part of the training:
· Gas Data Channel (10 data points)
· Humidity Data Channel (1 data point)
· Temperature Data Channel (1 data point)
· Barometric Pressure Data Channel (1 data point)
By default, only the Gas Data Channel is used for training. If other channels play a key role in your
use case, you can try to include additional channels in the training and compare the training results.
Please note
Be careful with
using additional channels
for your training.Using additional Data
Channels does not automatically mean better training results. The algorithm might focus only
on one of the additional Data Channels during training, which might not be what you actually
want. E.g. if one of your recorded Specimens has a strong impact on humidity, the algorithm
might only focus on the correlation between the Specimen and the corresponding rise in
humidity, ignoring all other data. Your training results may look very good, but the algorithm
only “learned” to distinguish your Specimen by looking at the humidity, completely ignoring the
respective gas data.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
45
Bosch SensortecBME AI-Studio Manual
Please note
Be aware that including the
nel
needs careful attention, since the temperature and relative humidity may not directly
Temperature Data Channel
and
Humidity Data Chan-
reflect the environmental conditions. This is due to the fact that both values are measured
inside the metal packaging, which can be affected by self-heating effects of the BME688.
For example running the sensor in a continuous cycling leads to a significant temperature
increase inside the metal packaging and thus to a decrease of the relative humidity. This
introduces transient effects on the recorded data, that do not originate from the actual sample
you are measuring and therefore may mislead the training of the algorithm.
Please note
Be aware that including the
Barometric Pressure Data Channel
may introduce un-
wanted side effects. Since the barometric pressure signal is changing with your local weather,
this may have an uncontrolled influence on the training process. Only include the Barometric
Pressure Data Channel if you are sure that different Specimen or situations differ in their
barometric pressure signal.
2.5.9 Neural Net
Here you can see the Neural Net Architecture used for the training of the algorithm.
Choose other Neural Nets Coming soon
In the current version of BME AI-Studio you can choose one pre-defined Neural Net Architecture. In
a future release we plan to have the possibility of chose other architectures.
2.5.10 Training Method
Choose the training method for the training. In this version of BME AI-Studio, only one optimizer
function is available (ADAM optimizer). You can choose between different batch sizes:
· ADAM optimizer, batch size 4
· ADAM optimizer, batch size 16
· ADAM optimizer, batch size 32
· ADAM optimizer, batch size 64
The batch size tells you how many data-points are taken into account for the optimization at once.
This has influence on the training speed and stability.
As a rule of thumb, one can say the larger the batch size is the faster and more stable the training
will be. The disadvantage of having larger batch sizes and the reason to go to smaller batch sizes is
that it is more likely for the algorithm to be stuck in a local minima.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
46
Bosch SensortecBME AI-Studio Manual
Please note
This is an expert setting.If you wan’t to know more about Training Rounds, please
get in touch with us.
2.5.11 Max. Training Rounds
Choose the maximum number of training rounds for the training.
Please note
This is an expert setting.If you wan’t to know more about Training Rounds, please
get in touch with us.
2.5.12 Data Splitting
Choose how much data should be used for training and testing respectively.
Please note
This is an expert setting.If you wan’t to know more about Training Rounds, please
get in touch with us.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
47
Bosch SensortecBME AI-Studio Manual
2.6 Evaluate Algorithms
2.6.1 Overview
The evaluation process of Machine Learning algorithms is maybe the most important part of all. It is
about evaluating the performance of the different neural nets trained for each
Not only does the evaluation tell you how good the predictions of the algorithm are, but you also get
information on how robust and stable the algorithm will operate in the field.
Good to know
The performance of an algorithm should always be evaluated as a compromise of
two factors:
· Variance of the input data (the more variance the better)
· Accuracy of the neural net (the higher the better)
HP/RDC combination
.
Too little variance
An example: You want to distinguish coffee from normal air and you trained your algorithm with
data from freshly opened coffee only. So that means, the neural net only knows the smell of fresh
coffee compared to normal air and you are probably getting great results with high accuracies and
F1 Scores, as well as low False Positive rates. However, this does not necessarily imply that the
algorithm would give you a great performance in all coffee situations. It only means that in this
special situation (with freshly opened coffee) you are achieving good performance. So in order to
get meaningful performance evaluations as well as effective training, it is important to reflect the
variance of different situations also within the data recording used for training.
Too much variance
If your neural net performance is very low, you might try to reduce the variance of the data and
experiment with different subsets of the original data used for training. This might lead to better
performance results, which give you some indication on which situations are very easy to handle for
the algorithm and which are not.
2.6.2 Confusion Matrix
The Confusion Matrix describes the performance of a (classfication) algorithm. Therefore it uses the
Test Data
, which was defined before the training and was not used for training (see
Data Splitting
The individual matrix elements represent how many samples of the actual test have been predicted
to a certain class.
For a perfect algorithm all test data samples have been predicted to their actual class, which are the
diagonal elements of the Confusion Matrix. Off-diagonal elements represent false predictions and
you may find it interesting which kind of false predictions are present.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
48
).
Bosch SensortecBME AI-Studio Manual
Fig. 17: Confusion Matrix
The Confusion Matrix also helps you evaluate how severe errors are for your specific use case.
False alarms in one or the other direction may be very different in their impact on your use case. For
example, if you want to detect coffee to warn the user, who maybe has an allergy against coffee, the
case where the algorithm missed to detect coffee (so called “False Negative case”) is much more
severe than the opposite way, where you have an alarm, although there is no coffee involved (so
called “False Positive case”).
2.6.3 Accuracy
The accuracy is the standard performance measurement for a (classification) algorithm. It tells you
how likely it is that the algorithm will give the correct classification.
In other words it gives the ratio between correct and incorrect predictions. It is calculated by dividing
the sum of the diagonal elements of the
Confusion Matrix
by the total sum of all elements (which is
the amount of Test Data used).
2.6.4 Macro-averaged F1 Score
The F1 Score is another performance indicator on how well the prediction of test data samples is
working. It comes in handy when class distributions are unevenly distributed and therefore accuracy
values are harder to interpret.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
49
Bosch SensortecBME AI-Studio Manual
Fig. 18: Macro-averaged F1 Score
It is based on the recall and precision, two quantities that relate the True Positive case with its false
alarms. Recall relates between all correctly predicted elements to a given class and all elements
that actually belong to this class. While Precision relates between all correctly predicted elements
to a given class and all elements that were predicted to this class. Both values are calculated for
each class and then averaged (so “called macro-averaging”). The shown F1 Score represents the
harmonic mean of macro-averaged recall and precision.
Further information on performance measures
We follow the findings of Sokolova, Marina, and Guy Lapalme.“A systematic analy-
sis of performance measures for classification tasks.” Information processing & management
45.4 (2009): 427-437 in order to use F1 Score as a harmonic mean of macro-averaged recall
and precision rather than calculating the macro-average of class independent F1 Scores.
2.6.5 Macro-averaged False Positive rate
The False Positive rate (also called miss rate) gives you an indication of how many false alarms (or
more general: how many false predictions) will happen in your algorithm. Therefore a lower False
Positive rate indicates a better performance of the algorithm.
The False Positive rate is defined as the relation between elements that belong to a different class,
but have been falsely predicted to the given class (often called false alarms) and all elements
predicted to the given class. The shown False Positive rate is calculated as the macro-average of
the class-specific False Positive rates.
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
50
Bosch SensortecBME AI-Studio Manual
2.6.6 Training Data
This indicates which fraction of the data samples were used as training data.
2.6.7 Test Data
This indicates which fraction of the data samples were used as test data.
2.6.8 BSEC Export
To export a
BSEC Configuration File
, first select the BSEC Version you want to use on your micro-
controller and then click on Export as BSEC Config File .
2.6.9 Additional Testing
After training your Algorithm, you can perform further tests of your Algorithm using additional data
from your Specimen Collection. These tests are meant to be conducted with Specimen Data, which
has not been used during the original training of the Algorithm, in order to give insight on how the
Algorithm performs with previously unknown or completely different data, that you do not want to
inlcude in the training process. This helps you validate the robustness of the Algorithm, when facing
exotic and unknown data.
To perfom an additional test, simply select
Test Algorithm
. A new overlay opens, showing you
the same Classes which where originally used for Algorithm training, but without any associated
Specimens. You can now associate new, additional Specimen Data – the data you want to test – to
each Class. Once you associated Specimen Data to each Class, you can select Run Tests .
Please note
As of this version of BME AI-Studio, additional tests and their results are not stored
within your project.You can, however, save the results as a CSV-File by selecting
Save Results .
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
51
Bosch SensortecBME AI-Studio Manual
3 Technical Specification
3.1 Raw Data Format
The Raw Data Format developed for the Bosch Sensortec BME688 is used to store the Board
Configuration as well as the raw data. It is recommended to use this data format whenever data with
the BME688 is recorded. The BME Board x8 also uses this data format.
3.1.1 File Name
The filename consists of the following parts (each seperated by a _):
boardLayoutIdentifier for Board Layout. grouped refers to
Grouped Board Layout, shuffled refers to Shuffled
Board Layout, random refers to Random Board
Layout.
Table 5: config Header
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
53
Bosch SensortecBME AI-Studio Manual
3.1.4 configBody
ParameterDescription
heaterProfilesDefinition of Heater Profiles.
id can be any identifier string.
timeBase is stated in milliseconds and defines the
base unit of time used for temperatureTimeVectors.
In order to work properly it should be set to 140.
temperatureTimeVectors are defined as
[temperature,time], where temperature is stated in
degree Celsius and time spans are stated as
dutyCycleProfilesDefinition of Duty Cycles.
id can be any identifier string.
numberScanningCycles derlineScanning Cycles.
numberSleepingCycles states the number of
multiples of timeBase.
Sleeping Cycles.
sensorConfigurationsAllocation of sensors to HP/RDC Combinations
referencing to already defined heaterProfiles and
dutyCycleProfiles by their id.
sensorIndex states the index of one of the sensors
on the board (usually counting starts at 0).
heaterProfile states the id of one of the defined
heaterProfiles.
dutyCycleProfile states the id of one of the defined
dutyCycleProfiles.
Table 6: config Body
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
54
Bosch SensortecBME AI-Studio Manual
3.1.5 rawDataHeader
partDescription
counterPowerOnOffCounter for power interruptions prefixed with
PowerOnOff_ (a new file is created every time the
board is powered on). This parameter is also
reflected within the File Name.
seedPowerOnOffUnique seed that labels raw data that belongs to the
same Measurement Session. This parameter is also
reflected within the File Name.
counterFileLimitCounter for consecutive rawdata files prefixed with
File_
(after a file limit of 299 MB is reached a new file
is created). This parameter is also reflected within the
dateCreatedCreation date and time of the start of raw data
recording, according to UnixTime (seconds since 1
January 1970 in Coordinated Universal Time (UTC))
File Name.
dateCreated_ISOCreation date and time of the start of raw data
recording, according to ISO 8601 in Coordinated
Universal Time (UTC)
firmwareVersionFirmware version of the BME Board x8
boardIdUnique board id for the BME Board x8 used for
recording
Table 7: Raw Data Header
3.1.6 rawDataBody
This section is divided into two parts. The first part (
dataColumns
) acts as a column description for
the second part ( dataBlock ), which actually carries the raw data in a condensed form. Every block
within dataColumns describes one of the 12 data columns.
Here are some additional remarks concerning the column descriptions:
· sensor_id
is a unique id per sensor, that can be used to trace back data to an individual sensor
element
· heater_profile_step_index
is a counter for 10 heater steps that will be cycled continously (see
Heater Profile ). Counting starts at 0 up to 9.
· label_tag records when the buttons on the BME Board x8 are used. The encoding is:
0 if no button was pressed so far,
1 if Button 1 (SW2) was pressed,
2 if Button 2 (SW3) was pressed, and
3 if both buttons (SW2+SW3) were pressed simultaneously.
The current state is carried on until another button is pressed. (see During recording).
· error_code states errors that happened during recording with the follwing encoding:
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
55
Bosch SensortecBME AI-Studio Manual
1 for invalid Heater Profiles (affects all data points that follow)
2
for time stamp mismatch or data loss (affects only a single data point, dropping the whole cycle
is recommended)
3
for communication errors (affects only a single data point, dropping the whole cycle is recom-
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
60
Bosch SensortecBME AI-Studio Manual
3.2 Specimen Data Format
The Specimen Data Format developed for the Bosch Sensortec BME688 is used to store data for a
specific specimen. BME AI-Studio can be used to import Raw Data
can be sliced into one or multiple specimens. Specimen Data files can be exchanged between
different BME AI-Studio projects. If curated correctly they should only contain gas data that belongs
to one specific specimen or situation.
3.2.1 File Name
The filename consists of the following parts (each seperated by a _):
· <specimen_name>
· <id>
· .bmespecimen
Raw Data Format
, which then
Example: coffee_2.bmespecimen
partDescription
<specimen_name>individual name that can be defined within the BME
AI-Studio (strings are converted to lowercase and
spaces are replaced with dashes)
<id>project-specific id per specimen
.bmerawdataBME AI-Studio specific ending with JSON syntax
Table 8: File Name
3.2.2 Structure
The file is structured into a metadata part ( meta ) and data part ( data ).
The meta part consists of:
· appVersion
states application version number of BME AI-Studio that created the board configura-
tion
· exportedAt
states export date and time, according to ISO 8601 in Coordinated Universal Time
(UTC)
The data part consists of:
· specimenData
· measurementSession
· boardConfig
· boardType
· heaterProfiles
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
61
Bosch SensortecBME AI-Studio Manual
· dutyCycleProfiles
· sensorConfigs
· sensors
· cycles
· dataColumns
· specimenDataPoints
The following subsections give a description of each parameter used.
3.2.3 Specimen Data
ParameterDescription
idProject-specific Specimen id (automatically defined
by BME AI-Studio)
uuidUniversally unique identifier (UUID) per Specimen
nameSpecimen Label (see Specimen Label)
commentComment that further describes the Specimen
startTimeStart time of time interval that references to
real_time_clock within specimenDataPoints
endTimeEnd time of time interval that references to
real_time_clock within specimenDataPoints
cloneOfUuidUsed for BME AI-Studio internal data handling
measurementSessionIdReference to id of Measurement Session to which
this Specimen belongs to
createdAtCreation date and time of Specimen, according to
ISO 8601 in Coordinated Universal Time (UTC)
updatedAt
Update date and time of Specimen, according to ISO
8601 in Coordinated Universal Time (UTC)
Table 9: Specimen Data
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
62
Bosch SensortecBME AI-Studio Manual
3.2.4 measurementSession
partDescription
idProject-specific Measurement Session id
(automatically defined by BME AI-Studio)
uuid
Universally unique identifier (UUID) per Measurement
Session
nameMeasurement Session label (see Session Name)
commentComment that further describes the Specimen
startTimeRecording start date and time of Measurement
Session, according to ISO 8601 in Coordinated
Universal Time (UTC)
endTimeRecording end date and time of Measurement
Session, according to ISO 8601 in Coordinated
Universal Time (UTC)
boardIdUnique board id for the BME Board x8 used for
recording
createdAtCreation date and time of Measurement Session,
according to ISO 8601 in Coordinated Universal Time
(UTC)
updatedAtUpdate date and time of Measurement Session,
according to ISO 8601 in Coordinated Universal Time
(UTC)
Table 10: measurementSession
BST-BME688-AN001-00Date 2021-09-07Version 1.6.0
c
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
63
Bosch SensortecBME AI-Studio Manual
3.2.5 boardConfig
partDescription
id
Project-specific Board Configuration id (automatically
defined by BME AI-Studio)
boardModeIdentifier for Board Mode. burn-in refers to
Robert Bosch GmbH 2021. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
distribution, as well as in the event of applications for industrial property rights.
70
Bosch SensortecBME AI-Studio Manual
}
],
"dutyCycleProfiles": [
{
"id": 1,
"uid": "duty_1",
"name": "RDC-1-0 Continuous",
"description": "This is a continous duty cycle profile, which is
best suited for maximum data acquisition, but with maximum power
consumption. Please not that the sensor will significantly warm up
in continous duty cycle profile.",
"energyConsumption": 12,
"scanningCycles": 1,
"sleepingCycles": 0,
"createdAt": "2021-05-19T12:29:24.267Z",
"updatedAt": "2021-05-19T12:29:24.267Z"