BME690 AI Training

I recetly got a few BME690 4-in-1 Air Quality Breakout but realized we cannot use it with BME AI-Studio Desktop for Windows. Any idea on how to use the AI Studio for training using just the sensor on the Breakout?

The sensor on the breakout module, is suited to using an ai model produced by AI Studio to sniff for the target compounds. To develop a model requires a lot of data, and you really need the BME690 Development Kit (8x Shuttleboard and Application Board 3.1).

I have a tutorial on using AI Studio and the Dev Kit for the 690 on Github here: teach-your-pi-to-sniff-with-bme688/AI-Studio-BME690-Devkit.md at main · mcalisterkm/teach-your-pi-to-sniff-with-bme688 · GitHub

The Python BSEC wrapper for Raspberry Pi has recently been updated to support BSEC3, here:
https://github.com/mcalisterkm/bme69x-python-library-bsec3.2.1.0
The bme69x-python-library-bsec3.2.1.0 repository, includes the data and ai model for Air, Coffee, Chocolate (/tools), so you can try it out without needing the BME690 dev-kit.

I have 2 x Pimoroni BME 690 on I2C 0x76 and 0x77

I think this is the main problem with these BME6xx sensors: the use case is a professional grade setup, targeted at very special compounds. It is not a sensor for makers that just want a sensor that gives them a general idea of “air-quality”.

Nevertheless: very nice tutorial and wrapper library!

It is very easy to get IAQ and environmental values with a single sensor using this Python library. Sensortec have added TVOC (Total VOC) to the BSEC3.2.1.0 library, which I will be looking at next.

Regards

Keith

I have done a lot of testing. I even wrote C-drivers for the Pico for the BME680, see e.g. my repos GitHub - bablokb/pico-bme688: Read the BME688 with a Raspberry Pi Pico using the official API of Bosch-Sensortec and GitHub - bablokb/pico-bme688-forced: Forced-Mode Example for BME688 with Raspberry Pi Pico. So I think I know what I am talking about.

Once you start collecting data from the integrated gas-sensor, your temperature and humidity values are for the bin (due to internal heat-up). And even the gas-sensor is not something you want if you are interested in generic air quality. Two examples: the sensor thinks that air with more than 2500ppm CO2 is just fine (due to lack of CO2 detection). Second example: the gas-sensor values don’t differentiate between PLA and PETG when I have it right next to my 3D-printer. Maybe these filaments don’t emit VTOCs, but it just demonstrates how limited the sensor is for generic air quality.

Ok, the second example might be something that you can fix with the AI software. If you have Windows, which I don’t.

For anyone interested in generic air-quality, I would recommend the SEN66. It is so much easier to use, it has CO2, particles, VTOCs, NOx. All in a neat small black box. No closed software, no license agreements.

Interesting, I will be having a look as you suggest. I found similar issues with a lack of discrimination that appears to be common in MoX sensors, and the sensor does heat up badly if the duty cycle is not adjusted to sleep the sensor for some cycles. Student projects to collect data via the 690 API and then build their own AI tools, have become quite popular.

I think Sensortec were minimalist on documentation and software for the 688, and that has got worse since the COINS team took over with BME690. AI studio used to run on Mac, Linux and Windows but not any more.

Thanks for the response.

Keith

Hi Keith,

I’d like to use GitHub - mcalisterkm/bme69x-python-library-bsec3.2.1.0: BSEC3 Python Wrapper for BME690 on Raspberry PI to capture training data for the AI Studio. Does the project support that?

I’ve got a single Pimoroni BME690 on Raspberry Pi 5.

Thanks,

Frank

To train an AI model requires a lot of data and the Bosch Sensortec DevKit (Appboard 3.1 and 8x Shuffleboard) are the best way to do that. Once the model is trained then you can deploy it on a PI with the Single Sensor BME690 module to “sniff”.
There is some data and pretained models in the Python Wrapper and a tutorial on the whole process here

Regards

Keith