Seeed Studio Grove Air Quality Sensor BME AI-Studio Manual

BME AI-Studio Manual
BME AI-Studio Manual
Document revision 1.6.0
Document release date June 2021
Document number BST-BME688-AN001-00
Sales Part Number 0 273 017 016
Notes
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.
Bosch Sensortec BME AI-Studio Manual
Table of Contents
1 Overview 6
1.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 The BME688 Gas Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Example: Coffee vs. Normal Air . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 A Few Things To Keep In Mind . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 Step 1: Record Normal Air . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.5 Step 2: Record Espresso Coffee . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.6 Step 3: Record Normal Air Again . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.7 Step 4: Record Filter Coffee . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.8 Step 5: Import & Label The Data . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.9 Step 6: Create New Algorithm and Classes . . . . . . . . . . . . . . . . . . . . 9
1.1.10 Step 7: Train And Evaluate The Algorithm . . . . . . . . . . . . . . . . . . . . . 9
1.1.11 Step 8: Export The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.12 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 What is it about? – An analogy . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Why the BME688? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.3 What is a use case for a gas sensor? . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.4 What is special about the BME688 gas sensor? . . . . . . . . . . . . . . . . . 13
1.2.5 How can I evaluate BME688 performance for a specific use cases? . . . . . . 14
1.2.6 Phase I: Doing the first measurements . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.7 Phase II: Heater Profile Exploration – the space of possible heater profiles . . 15
1.2.8
1.2.9 How can I use the results for my product development? . . . . . . . . . . . . . 16
1.3 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1 Sensor Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2 Measurement Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.3 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Phase III: Duty Cycle Exploration – balancing power consumption and perfor-
mance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Process Steps 23
2.1 Configure Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.2 Board Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3 Board Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.4 Heater Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.5 Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.6 Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Record Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Start recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.3 During recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.4 End recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.2 Data Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Board ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.4 Board Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.5 Board Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
2
Bosch Sensortec BME AI-Studio Manual
2.3.6 Session Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.7 Session Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.8 Specimen Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Collect Specimens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.2 Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.3 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.4 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.5 Start & End Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.6 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.7 Cycles Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.8 Cycles Dropped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.9 Remaining Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.10 Board Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.11 Board ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.12 Board Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.13 Board Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.14 Show Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5 Train Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.2 Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.3 Created . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.4 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.5 Class Name & Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.6 Common Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.7 Data Balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.8 Data Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.9 Neural Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5.10 Training Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5.11 Max. Training Rounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.12 Data Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.6 Evaluate Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.2 Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.3 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6.4 Macro-averaged F1 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6.5 Macro-averaged False Positive rate . . . . . . . . . . . . . . . . . . . . . . . . 50
2.6.6 Training Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6.7 Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6.8 BSEC Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6.9 Additional Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3 Technical Specification 52
3.1 Raw Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.1 File Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.3 configHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.4 configBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.5 rawDataHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.6 rawDataBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.7 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
3
Bosch Sensortec BME AI-Studio Manual
3.2 Specimen Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.1 File Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.3 Specimen Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.4 measurementSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2.5 boardConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.6 boardType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.7 heaterProfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2.8 dutyCycleProfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2.9 sensorConfigs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2.10 sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.11 cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.12 dataColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.13 specimenDataPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.14 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
4
Bosch Sensortec BME AI-Studio Manual
List of Tables
1 An analogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 File Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5 config Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 config Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 Raw Data Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8 File Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9 Specimen Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10 measurementSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
11 boardConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
12 boardType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
13 heaterProfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
14 dutyCycleProfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
15 sensorConfigs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
16 sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17 cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
List of Figures
1 BME688 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Use case Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 BME688 Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Heater Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7 Measurement Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8 BME board x8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9 BME board x8 Back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10 Inserting SD Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11 Start Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
12 During Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
13 End Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
14 Start Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15 Specimen Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
16 Train Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
17 Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
18 Macro-averaged F1 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
5
Bosch Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 preconfig­ured 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 world Child 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
BME AI-Studio BME board Photo software Camera
1 Configure the BME Board with BME
2 Record data with the BME Board Take photos with the camera
3 Import data into the BME AI-Studio Import photos into photo editing
4 Label different Specimens within the data Label different animals in the
5 Train algorithm with labeled Specimens Teach a child with labeled photos
6 Evaluate and test algorithm Ask 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 nose Sensor cabability Digital nose
attached to the body location independent extended nose
needs recovery time always ready for use hardworking nose
blind for slow and steady
reproducible precision absolute nose
changes
sensitive to special gases sensitive for different gases complementary nose
individual sensitivity calibrated sensitivity objective nose
highly emotional sober and rational not 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 com­paring 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 param­eters (weights and biases) of the trained neural net. It is meant to be used with the
BSEC Software
.
BST-BME688-AN001-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 sen­sor 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
Fig. 13: End Recording
BST-BME688-AN001-00 Date 2021-09-07 Version 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 Sensortec BME 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 config­ured. 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 im­ported 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
long as you have one or more other Specimens from the same Measurement Session in your col­lection. 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 al­gorithm. 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 informa­tion 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 Scan­ning 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 distin­guish 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-00 Date 2021-09-07 Version 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 Sensortec BME 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 _):
· <date>
· <boardId>
· <counterPowerOnOff>
· <seedPowerOnOff>
· <counterFileLimit>
· .bmerawdata
Example:
2021_03_06_09_15_Board_2462ABD29048_PowerOnOff_1_pfqncv1hjow4xm4t_File_0.bmerawdata
part Description
<date> Date created with the format:
<boardId>
<counterPowerOnOff> Counter for power interruptions prefixed with
<seedPowerOnOff> Unique seed that labels raw data that belongs to the
<counterFileLimit> Counter for consecutive raw data files prefixed with
.bmerawdata BME AI-Studio specific ending with JSON syntax
"yyyy_mm_dd_hh_mm"
Board-specific ID prefixed with "
Board_
" (each board
has a unique ID)
"PowerOnOff_" (a new file is created every time the
board is powered on)
same Measurement Session
"File_" (after a file limit of 299 MB is reached a new
file is created)
Table 4: File Name
3.1.2 Structure
The file is structured into 4 parts:
· configHeader
· configBody
· rawDataHeader
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
52
Bosch Sensortec BME AI-Studio Manual
· rawDataBody
The parts configHeader and configBody represent the board configuration. They are also saved within the
.bmeconfig file
The following subsections give a description of each parameter used.
3.1.3 configHeader
. The parts rawDataHeader and rawDataBody store the actual recorded raw data.
Parameter Description
dateCreated Creation date and time of the board configuration,
according to ISO 8601 in Coordinated Universal Time
(UTC)
appVersion Application version number of BME AI-Studio that
created the board configuration
boardType Identifier for the type of hardware used. board_8
refers to the BME Board x8 (see Board type). Other
boardType are also accepted, and can be used
when data is recorded with other hardware devices.
boardMode Identifier for Board Mode. burn-in refers to the
sensorboard’s default HP/RDC, heater_profile_exploration refers to Heater Profile Exploration, duty_cycle_profile_exploration refers
to Duty Cycle Exploration. Other boardMode are
also accepted, and can be used when data is
recorded with specific settings.
boardLayout Identifier 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
3.1.4 configBody
Parameter Description
heaterProfiles Definition 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
dutyCycleProfiles Definition of Duty Cycles.
id can be any identifier string.
numberScanningCycles derlineScanning Cycles.
numberSleepingCycles states the number of
multiples of timeBase.
Sleeping Cycles.
sensorConfigurations Allocation 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
3.1.5 rawDataHeader
part Description
counterPowerOnOff Counter 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.
seedPowerOnOff Unique seed that labels raw data that belongs to the
same Measurement Session. This parameter is also
reflected within the File Name.
counterFileLimit Counter 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
dateCreated Creation 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_ISO Creation date and time of the start of raw data
recording, according to ISO 8601 in Coordinated
Universal Time (UTC)
firmwareVersion Firmware version of the BME Board x8
boardId Unique 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-00 Date 2021-09-07 Version 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 Sensortec BME 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-
mended).
3.1.7 Example
{
"configHeader": {
"dateCreated": "2020-09-29T13:00:55.202Z", "appVersion": "1.6.0", "boardType": "board_8", "boardMode": "heater_profile_exploration",
"boardLayout": "grouped" }, "configBody": {
"heaterProfiles": [
{
"id": "heater_412", "timeBase": 140, "temperatureTimeVectors": [
[100,64], [320,2], [170,64], [320,2], [240,2], [240,31], [240,32], [320,2], [320,31], [320,32]
]
} ], "dutyCycleProfiles": [
{
"id": "duty_1", "numberScanningCycles": 1,
"numberSleepingCycles": 0 }, {
"id": "duty_5_10",
"numberScanningCycles": 5,
"numberSleepingCycles": 10 }
], "sensorConfigurations": [
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
56
Bosch Sensortec BME AI-Studio Manual
{
"sensorIndex": 0,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_1" }, {
"sensorIndex": 1,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_5_10" }, {
"sensorIndex": 2,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_1" }, {
"sensorIndex": 3,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_5_10" }, {
"sensorIndex": 4,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_1" }, {
"sensorIndex": 5,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_5_10" }, {
"sensorIndex": 6,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_1" }, {
"sensorIndex": 7,
"heaterProfile": "heater_412",
"dutyCycleProfile": "duty_5_10" }
] }, "rawDataHeader": {
"counterPowerOnOff": 1,
"seedPowerOnOff": "jecxzq530rhj2r5x",
"counterFileLimit": 1,
"dateCreated": "1601459722",
"dateCreated_ISO": "2020-09-30T09:55:22+02:00",
"firmwareVersion": "1.5.0",
"boardId": "1730555495",
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
57
Bosch Sensortec BME AI-Studio Manual
}, "rawDataBody": {
"dataColumns": [
{
"name": "Sensor Index", "unit": "", "format": "integer",
"key": "sensor_index" }, {
"name": "Sensor ID",
"unit": "",
"format": "integer",
"key": "sensor_id" }, {
"name": "Time Since PowerOn",
"unit": "Milliseconds",
"format": "integer",
"key": "timestamp_since_poweron" }, {
"name": "Real time clock",
"unit": "Unix Timestamp: seconds since Jan 01 1970. (UTC); 0 =
missing",
"format": "integer",
"key": "real_time_clock" }, {
"name": "Temperature",
"unit": "DegreesCelcius",
"format": "float",
"key": "temperature" }, {
"name": "Pressure",
"unit": "Hectopascals",
"format": "float",
"key": "pressure" }, {
"name": "Relative Humidity",
"unit": "Percent",
"format": "float",
"key": "relative_humidity" }, {
"name": "Resistance Gassensor",
"unit": "Ohms",
"format": "float",
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
58
Bosch Sensortec BME AI-Studio Manual
"key": "resistance_gassensor" }, {
"name": "Heater Profile Step Index",
"unit": "",
"format": "integer",
"key": "heater_profile_step_index" }, {
"name": "Scanning Mode Enabled",
"unit": "",
"format": "integer",
"key": "scanning_mode_enabled" }, {
"name": "Label Tag",
"unit": "",
"format": "integer",
"key": "label_tag" }, {
"name": "Error Code",
"unit": "",
"format": "integer",
"key": "error_code" } ], "dataBlock": [ [0,1730555495,4104,1615022156,27.862839,983.447632,40.376171,5684.846191,0,1,0,0], [1,1730565479,4126,1615022156,27.521061,983.286804,40.225910,5684.846191,0,1,0,0], [2,1730573669,4130,1615022157,27.673712,983.577271,40.541809,5684.846191,0,1,0,0], [3,1730557288,4134,1615022157,27.794174,983.404114,40.968414,5684.846191,0,1,0,0], [4,1730572647,4138,1615022157,27.552378,983.289185,42.118191,6240.249512,0,1,0,0], [5,1730567013,4141,1615022157,27.541058,983.432556,41.143063,5684.846191,0,1,0,0], [6,1730580836,4145,1615022157,27.639883,983.590149,43.335255,5684.846191,0,1,0,0], [7,1730556517,4149,1615022157,27.760021,983.735229,41.513172,5684.846191,0,1,0,0], [0,1730555495,4383,1615022157,27.792160,983.495789,40.256760,10213.852539,1,1,0,0], [1,1730565479,4406,1615022157,27.463169,983.366150,40.086674,33376.792969,1,1,0,0], [2,1730573669,4410,1615022157,27.615894,983.594910,40.396038,21850.460938,1,1,0,0], [3,1730557288,4414,1615022157,27.741306,983.456482,40.813091,29137.263672,1,1,0,0], [4,1730572647,4418,1615022157,27.519522,983.327698,42.050274,70213.929688,1,1,0,0], [5,1730567013,4421,1615022157,27.503132,983.463196,41.004383,28100.988281,1,1,0,0], [6,1730580836,4425,1615022157,27.599720,983.625610,42.526207,24601.191406,1,1,0,0], [7,1730556517,4429,1615022157,27.686945,983.767456,40.948986,26862.539062,1,1,0,0], [0,1730555495,5783,1615022158,28.203604,983.499878,39.452438,10352.636719,2,1,0,0], [1,1730565479,5806,1615022158,27.825611,983.341309,39.227486,33560.566406,2,1,0,0], [2,1730573669,5810,1615022158,27.992977,983.589050,39.522552,22284.123047,2,1,0,0], [3,1730557288,5814,1615022158,28.144110,983.448120,39.906544,29337.611328,2,1,0,0], [4,1730572647,5818,1615022158,27.944128,983.347229,41.179039,70796.460938,2,1,0,0], [5,1730567013,5821,1615022158,27.920330,983.499451,40.089077,28419.183594,2,1,0,0], [6,1730580836,5825,1615022158,28.016439,983.607971,41.731613,25048.923828,2,1,0,0],
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
59
Bosch Sensortec BME AI-Studio Manual
[7,1730556517,5829,1615022158,28.052332,983.758484,40.062920,27432.490234,2,1,0,0], [0,1730555495,9983,1615022162,28.726116,983.515198,37.202606,10536.713867,3,1,0,0], [1,1730565479,10006,1615022162,28.381857,983.376282,36.991051,33272.679688,3,1,0,0], [2,1730573669,10010,1615022162,28.541010,983.613831,37.000546,22076.578125,3,1,0,0], [3,1730557288,10014,1615022162,28.687897,983.449951,37.366409,28822.337891,3,1,0,0], [4,1730572647,10018,1615022162,28.505222,983.394104,38.104702,70098.578125,3,1,0,0], [5,1730567013,10021,1615022162,28.504414,983.488953,37.240280,28343.666016,3,1,0,0], [6,1730580836,10025,1615022162,28.556171,983.658813,38.780487,24990.238281,3,1,0,0], [7,1730556517,10029,1615022162,28.591593,983.813904,37.237930,27898.867188,3,1,0,0], [3,1730557288,10573,1615022163,29.246792,983.437073,36.985844,8719.345703,4,1,0,0], [0,1730555495,10684,1615022163,29.289021,983.541565,36.938293,5684.846191,4,1,0,0], [1,1730565479,10706,1615022163,28.917973,983.321167,36.683632,10021.922852,4,1,0,0], [2,1730573669,10710,1615022163,29.086529,983.609131,36.590668,7426.316895,4,1,0,0], [4,1730572647,10717,1615022163,29.071375,983.355774,37.663334,19265.501953,4,1,0,0], [5,1730567013,10721,1615022163,29.032871,983.472229,36.849651,8961.075195,4,1,0,0], [6,1730580836,10725,1615022163,29.088375,983.648865,38.384171,7982.040527,4,1,0,0], [7,1730556517,10729,1615022163,29.148499,983.783630,36.861649,9052.333984,4,1,0,0], [3,1730557288,11273,1615022164,29.629461,983.469971,36.604248,9184.844727,5,1,0,0], [0,1730555495,11384,1615022164,29.647461,983.527710,36.560806,5684.846191,5,1,0,0], [1,1730565479,11406,1615022164,29.290485,983.375427,36.365276,10663.112305,5,1,0,0], [2,1730573669,11410,1615022164,29.463619,983.659912,36.612564,7744.433594,5,1,0,0], [4,1730572647,11417,1615022164,29.455547,983.397217,37.305729,19656.019531,5,1,0,0], [5,1730567013,11421,1615022164,29.260437,983.493042,36.240665,9329.446289,5,1,0,0], [6,1730580836,11425,1615022164,29.444851,983.617310,37.934799,8456.659180,5,1,0,0], [7,1730556517,11429,1615022164,29.513889,983.805298,36.431786,9386.916992,5,1,0,0], [3,1730557288,11974,1615022164,29.810726,983.466003,36.180058,9555.090820,6,1,0,0], [0,1730555495,12084,1615022164,29.829205,983.547729,36.165672,5684.846191,6,1,0,0], [1,1730565479,12106,1615022164,29.476742,983.376709,35.954807,11084.170898,6,1,0,0] ]
}
}
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
60
Bosch Sensortec BME 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
part Description
<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
.bmerawdata BME 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
· dutyCycleProfiles
· sensorConfigs
· sensors
· cycles
· dataColumns
· specimenDataPoints
The following subsections give a description of each parameter used.
3.2.3 Specimen Data
Parameter Description
id Project-specific Specimen id (automatically defined
by BME AI-Studio)
uuid Universally unique identifier (UUID) per Specimen
name Specimen Label (see Specimen Label)
comment Comment that further describes the Specimen
startTime Start time of time interval that references to
real_time_clock within specimenDataPoints
endTime End time of time interval that references to
real_time_clock within specimenDataPoints
cloneOfUuid Used for BME AI-Studio internal data handling
measurementSessionId Reference to id of Measurement Session to which
this Specimen belongs to
createdAt Creation 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-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
3.2.4 measurementSession
part Description
id Project-specific Measurement Session id
(automatically defined by BME AI-Studio)
uuid
Universally unique identifier (UUID) per Measurement
Session
name Measurement Session label (see Session Name)
comment Comment that further describes the Specimen
startTime Recording start date and time of Measurement
Session, according to ISO 8601 in Coordinated
Universal Time (UTC)
endTime Recording end date and time of Measurement
Session, according to ISO 8601 in Coordinated
Universal Time (UTC)
boardId Unique board id for the BME Board x8 used for
recording
createdAt Creation date and time of Measurement Session,
according to ISO 8601 in Coordinated Universal Time
(UTC)
updatedAt Update date and time of Measurement Session,
according to ISO 8601 in Coordinated Universal Time
(UTC)
Table 10: measurementSession
BST-BME688-AN001-00 Date 2021-09-07 Version 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 Sensortec BME AI-Studio Manual
3.2.5 boardConfig
part Description
id
Project-specific Board Configuration id (automatically
defined by BME AI-Studio)
boardMode Identifier for Board Mode. burn-in refers to
Sensorboard Default HP/RDC, heater_profile_exploration refers to Heater Profile Exploration, duty_cycle_profile_exploration refers
to Duty Cycle Exploration. Other boardMode are
also accepted, and can be used when data is
recorded with specific settings.
measurementSessionId Reference to id of Measurement Session to which
this Board Configuration belongs t0
boardTypeId Reference to id of Board Type to which this Board
Configuration belongs to
createdAt Creation date and time of Board Configuration,
according to ISO 8601 in Coordinated Universal Time
(UTC)
updatedAt Update date and time of Board Configuration,
according to ISO 8601 in Coordinated Universal Time
(UTC)
Table 11: boardConfig
3.2.6 boardType
numSensors Number of (BME688) sensors on the hardware
part Description
id Project-specific Board Type id (automatically defined
by BME AI-Studio)
uid Unique identifier for the type of hardware used.
board_8 refers to the BME Board x8. See
Board type. Other boardType are also accepted,
and can be used when data is recorded with other
hardware devices.
name Individual name of the hardware used (e.g. BME
Board x8)
createdAt Creation date and time of Board Type, according to
ISO 8601 in Coordinated Universal Time (UTC)
updatedAt Update date and time of Board Type, according to
ISO 8601 in Coordinated Universal Time (UTC)
Table 12: boardType
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
64
Bosch Sensortec BME AI-Studio Manual
3.2.7 heaterProfiles
Parameter specification per Heater Profile:
part Description
id Project-specific Heater Profile id (automatically
uid Unique identifier for the Heater Profile
name Individual name of the Heater Profile
useCase Additional information on specific use cases
timeBase Defines the base unit of time used for
temperatureTimeVectors (stated in milliseconds).
In order to work properly it should be set to 140.
steps Temperature-duration steps, where temperature is
stated in degree Celsius and duration is stated as
defined by BME AI-Studio)
multiples of timeBase.
createdAt
Creation date and time of Heater Profile, according to
updatedAt Update date and time of Heater Profile, according to
Table 13: heaterProfiles
3.2.8 dutyCycleProfiles
Parameter specification per Duty Cycle Profile:
ISO 8601 in Coordinated Universal Time (UTC)
ISO 8601 in Coordinated Universal Time (UTC)
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
65
Bosch Sensortec BME AI-Studio Manual
part Description
id Project-specific Duty Cycle id (automatically defined
uid Unique identifier for the Duty Cycle Profile
name Individual name of the Duty Cycle Profile
description Additional information
energyConsumption States the energy consumption of the Duty Cycle
scanningCycles States the number of Scanning Cycles
sleepingCycles States the number of Sleeping Cycles
createdAt Creation date and time of Duty Cycle Profile,
according to ISO 8601 in Coordinated Universal Time
updatedAt
Update date and time of Duty Cycle Profile, according
to ISO 8601 in Coordinated Universal Time (UTC)
by BME AI-Studio)
Profile in mA
(UTC)
Table 14: dutyCycleProfiles
3.2.9 sensorConfigs
The Sensor Configuration attaches a Board Configuration and individual Heater Profiles and Duty Cycle Profiles to a specific sensor.
Parameter specification per Sensor Configuration:
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
66
Bosch Sensortec BME AI-Studio Manual
part Description
id Project-specific Sensor Configuration id
(automatically defined by BME AI-Studio)
boardConfigId Reference to id of Board Configuration to which this
Sensor Configuration belongs to
sensorId Reference to id of Sensors to which this Sensor
Configuration belongs to
heaterProfileId
Reference toidof Heater Profile to which this Sensor
Configuration belongs to
dutyCycleProfileId Reference to id of Duty Cycle Profile to which this
Sensor Configuration belongs to
createdAt Creation date and time of Sensor Configuration,
according to ISO 8601 in Coordinated Universal Time
(UTC)
updatedAt Update date and time of Sensor Configuration,
according to ISO 8601 in Coordinated Universal Time
(UTC)
Table 15: sensorConfigs
3.2.10 sensors
The list of sensors connects their Id (used within BME-AI Studio) to their index (used in raw data logging).
part Description
id Project-specific sensor id (automatically defined by
index Sensor index which is used within Raw Data Format
createdAt Creation date and time of sensor, according to ISO
updatedAt Unique seed that labels raw data that belongs to the
<counterFileLimit> Update date and time of sensor, according to ISO
3.2.11 cycles
The list of curated Scanning Cycles.
Parameter specification per cycle:
BME AI-Studio)
8601 in Coordinated Universal Time (UTC)
same Measurement Session
8601 in Coordinated Universal Time (UTC)
Table 16: sensors
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
67
Bosch Sensortec BME AI-Studio Manual
part Description
id Project-specific cycle id (automatically defined by
uuid Universally unique identifier (UUID) per cycle that
references to cycle_id within specimenDataPoints
startTime Start time of cycle that references to
real_time_clock within specimenDataPoints
BME AI-Studio)
endTime
dropped Decision (encoded as boolean), whether cycle was
measurementSessionId Reference to id of Measurement Session to which
sensorId Reference to id of Sensors to which this cycle
createdAt Creation date and time of cycle, according to ISO
updatedAt
3.2.12 dataColumns
Every block within
dataColumns
End time of cycle that references to
within specimenDataPoints
selected as "dropped" within import process (see
Cycles Dropped
this cycle belongs to
belongs to
8601 in Coordinated Universal Time (UTC)
Update date and time of cycle, according to ISO 8601
in Coordinated Universal Time (UTC)
Table 17: cycles
describes one of the 12 data columns within
real_time_clock
specimenDataPoints
.
Here are some additional remarks concerning the column descriptions:
· data_point_id
is a unique id per data point, that can be used to trace back data to an individual
sensor element
· error_code states errors that happened during recording with the follwing encoding:
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
recommended).
· cycle_step_index
is a counter for 10 heater steps that will be cycled continously (see Heater
Profile ). Counting starts at 0 up to 9.
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
68
Bosch Sensortec BME AI-Studio Manual
3.2.13 specimenDataPoints
The part carries the sensor data in a condensed form according to dataColumns .
3.2.14 Example
{
"meta": {
"appVersion": "1.6.0",
"exportedAt": "2021-05-20T09:07:11.922Z" }, "data": {
"specimenData": {
"id": 2, "uuid": "a5159d14-f0af-4f05-be13-fbf629d51c39", "name": "coffee", "comment": "specialty coffee", "startTime": 427208, "endTime": 1149010, "cloneOfUuid": null, "measurementSessionId": 1, "createdAt": "2021-05-20T08:59:24.000Z",
"updatedAt": "2021-05-20T08:59:50.000Z" }, "measurementSession": {
"id": 1,
"uuid": "137ebdea-3f9b-4cb4-a4e3-b5e00d36894c",
"name": "Coffee Recording",
"startTime": "2021-03-06T09:15:56.000Z",
"endTime": "2021-03-06T10:15:20.000Z",
"boardId": "2462ABD29048",
"createdAt": "2021-05-20T08:59:24.000Z",
"updatedAt": "2021-05-20T08:59:24.000Z" }, "boardConfig": {
"id": 1,
"boardMode": "duty_cycle_profile_exploration",
"measurementSessionId": 1,
"boardTypeId": 1,
"createdAt": "2021-05-20T08:59:24.000Z",
"updatedAt": "2021-05-20T08:59:24.000Z" }, "boardType": {
"id": 1,
"uid": "board_8",
"name": "BME Board x8",
"numSensors": 8,
"createdAt": "2021-05-19T12:29:24.274Z",
"updatedAt": "2021-05-19T12:29:24.274Z" },
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
69
Bosch Sensortec BME AI-Studio Manual
"heaterProfiles": [ {
"id": 6,
"uid": "heater_354",
"name": "HP-354",
"useCase": "Standard BST profile",
"timeBase": 140,
"steps": [
{
"temperature": 320,
"duration": 5 }, {
"temperature": 100,
"duration": 2 }, {
"temperature": 100,
"duration": 10 }, {
"temperature": 100,
"duration": 30 }, {
"temperature": 200,
"duration": 5 }, {
"temperature": 200,
"duration": 5 }, {
"temperature": 200,
"duration": 5 }, {
"temperature": 320,
"duration": 5 }, {
"temperature": 320,
"duration": 5 }, {
"temperature": 320,
"duration": 5 } ], "createdAt": "2021-05-19T12:29:24.261Z", "updatedAt": "2021-05-19T12:29:24.261Z"
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
70
Bosch Sensortec BME 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"
}, {
"id": 12, "uid": "duty_5_10", "name": "RDC-5-10", "description": "", "energyConsumption": 4, "scanningCycles": 5, "sleepingCycles": 10, "createdAt": "2021-05-19T12:29:24.267Z", "updatedAt": "2021-05-19T12:29:24.267Z"
} ], "sensorConfigs": [ {
"id": 1, "boardConfigId": 1, "sensorId": 1, "heaterProfileId": 6, "dutyCycleProfileId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 2, "boardConfigId": 1, "sensorId": 2, "heaterProfileId": 6, "dutyCycleProfileId": 12, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 3, "boardConfigId": 1,
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
71
Bosch Sensortec BME AI-Studio Manual
"sensorId": 3, "heaterProfileId": 6, "dutyCycleProfileId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 4, "boardConfigId": 1, "sensorId": 4, "heaterProfileId": 6, "dutyCycleProfileId": 12, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 5, "boardConfigId": 1, "sensorId": 5, "heaterProfileId": 6, "dutyCycleProfileId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 6, "boardConfigId": 1, "sensorId": 6, "heaterProfileId": 6, "dutyCycleProfileId": 12, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 7, "boardConfigId": 1, "sensorId": 7, "heaterProfileId": 6, "dutyCycleProfileId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 8, "boardConfigId": 1, "sensorId": 8, "heaterProfileId": 6, "dutyCycleProfileId": 12, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
72
Bosch Sensortec BME AI-Studio Manual
], "sensors": [ {
"id": 1, "index": 0, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 2, "index": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 3, "index": 2, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 4, "index": 3, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 5, "index": 4, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 6, "index": 5, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 7, "index": 6, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 8, "index": 7, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
} ],
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
73
Bosch Sensortec BME AI-Studio Manual
"cycles": [ {
"id": 221, "uuid": "cf0b8cb0-1133-48a1-8f89-2a1a59bf471f", "startTime": 431425, "endTime": 441386, "dropped": false, "measurementSessionId": 1, "sensorId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 225, "uuid": "caaadf34-4a68-42d1-90a7-a2e22b79f80e", "startTime": 442240, "endTime": 452230, "dropped": false, "measurementSessionId": 1, "sensorId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 229, "uuid": "61d39719-57d5-4f05-8b10-e74a3e2245d4", "startTime": 453083, "endTime": 462934, "dropped": false, "measurementSessionId": 1, "sensorId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 233, "uuid": "191e34a6-0e0d-4e30-9a1b-4a0c9b732148", "startTime": 463787, "endTime": 473778, "dropped": false, "measurementSessionId": 1, "sensorId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
}, {
"id": 237, "uuid": "8e285103-6d5e-4b1d-b536-31c3de9d5b66", "startTime": 474632, "endTime": 484484, "dropped": false,
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
74
Bosch Sensortec BME AI-Studio Manual
"measurementSessionId": 1, "sensorId": 1, "createdAt": "2021-05-20T08:59:24.000Z", "updatedAt": "2021-05-20T08:59:24.000Z"
} ], "dataColumns": [ {
"name": "Data Point ID", "unit": "", "format": "integer", "key": "data_point_id"
}, {
"name": "Resistance Gassensor", "unit": "Ohms", "format": "float", "key": "resistance_gassensor"
}, {
"name": "Temperature", "unit": "DegreesCelsius", "format": "float", "key": "temperature"
}, {
"name": "Pressure", "unit": "Hectopascals", "format": "float", "key": "pressure"
}, {
"name": "Relative Humidity", "unit": "Percent", "format": "float", "key": "relative_humidity"
}, {
"name": "Time Since PowerOn", "unit": "Milliseconds", "format": "integer", "key": "timestamp_since_poweron"
}, {
"name": "Real time clock", "unit": "Unix Timestamp: seconds since Jan 01 1970. (UTC); 0 = missing", "format": "integer", "key": "real_time_clock"
}, {
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
75
Bosch Sensortec BME AI-Studio Manual
"name": "Error Code", "unit": "", "format": "integer", "key": "error_code"
}, {
"name": "Cycle Step Index", "unit": "", "format": "integer", "key": "cycle_step_index"
}, {
"name": "Cycle ID", "unit": "", "format": "integer", "key": "cycle_id"
} ], "specimenDataPoints": [ [2201,38254.632812,38.803349,983.621399,20.660652,431425,1615022588,0,0,221], [2202,1483520.5,38.364086,983.688721,20.657352,431705,1615022588,0,1,221], [2203,1388474.625,37.36187,983.655579,20.794451,433104,1615022590,0,2,221], [2204,1225246.75,36.993301,983.63562,21.063087,437313,1615022594,0,3,221], [2205,171294.75,37.652184,983.66449,21.170946,438013,1615022595,0,4,221], [2206,167594.109375,37.884438,983.679016,21.192097,438713,1615022595,0,5,221], [2207,163892.453125,37.967743,983.635315,21.155724,439413,1615022596,0,6,221], [2208,30146.019531,38.407005,983.650452,21.11739,440113,1615022597,0,7,221], [2209,27309.580078,38.59634,983.617065,21.088247,440813,1615022597,0,8,221], [2210,24917.267578,38.697319,983.634521,20.989874,441386,1615022598,0,9,221], [2241,22448.263672,38.752861,983.624512,20.851637,442240,1615022599,0,0,225], [2242,583309.625,38.293404,983.699219,20.752279,442531,1615022599,0,1,225], [2243,543380.1875,37.26342,983.652344,20.541948,443943,1615022600,0,2,225], [2244,473307.15625,36.957958,983.648743,20.68368,448017,1615022605,0,3,225], [2245,80935.820312,37.609268,983.647949,20.769163,448718,1615022605,0,4,225], [2246,79725.945312,37.828896,983.652527,20.804911,449417,1615022606,0,5,225], [2247,78551.703125,37.927353,983.671753,20.806301,450118,1615022607,0,6,225], [2248,20990.488281,38.359039,983.63562,20.809202,450818,1615022607,0,7,225], [2249,21541.568359,38.558472,983.617615,20.770164,451518,1615022608,0,8,225], [2250,22122.365234,38.641781,983.617249,20.681274,452230,1615022609,0,9,225], [2281,22686.990234,38.712467,983.644836,20.586311,453083,1615022610,0,0,229], [2282,615384.625,38.265633,983.713257,20.30512,453374,1615022610,0,1,229], [2283,557127.3125,37.238174,983.68457,20.352257,454648,1615022611,0,2,229], [2284,498539.4375,36.937767,983.645142,20.609156,458861,1615022615,0,3,229], [2285,84377.0625,37.594124,983.659485,20.710518,459561,1615022616,0,4,229], [2286,82580.648438,37.821327,983.678955,20.772936,460261,1615022617,0,5,229], [2287,81476.765625,37.899582,983.665833,20.767719,460961,1615022617,0,6,229], [2288,20765.736328,38.338844,983.657532,20.786839,461662,1615022618,0,7,229], [2289,21326.224609,38.543327,983.627319,20.769142,462362,1615022619,0,8,229], [2290,21940.349609,38.634209,983.640198,20.70701,462934,1615022619,0,9,229], [2321,22832.679688,38.709942,983.635437,20.622875,463787,1615022620,0,0,233], [2322,610432.1875,38.242912,983.704041,20.544394,464079,1615022621,0,1,233],
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
76
Bosch Sensortec BME AI-Studio Manual
[2323,564031.9375,37.207878,983.680054,20.412897,465492,1615022622,0,2,233], [2324,495643.75,36.927666,983.649597,20.671202,469565,1615022626,0,3,233], [2325,84544.25,37.581501,983.654846,20.814461,470265,1615022627,0,4,233], [2326,83797.054688,37.808704,983.679871,20.87174,470966,1615022628,0,5,233], [2327,82341.585938,37.89201,983.675903,20.85638,471665,1615022628,0,6,233]
]
}
}
BST-BME688-AN001-00 Date 2021-09-07 Version 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.
77
Bosch Sensortec GmbH
Gerhard-Kindler-Straße 9 72770 Reutlingen / Germany
contact@bosch-sensortec.com www.bosch-sensortec.com
Modifications reserved Preliminary - specifications subject to change without notice Document number: BST-BME688-AN001-00 Revision 1.6.0
Loading...