03-30-2023 10:56 AM
Hi, I'm doing a project where I measure indoor air quality. I want to get an IAQ index. For this, I use the BME680 (picture below). I installed the libraries in the last picture. With these libraries, I can measure the parameters using just a few simple code lines (see below, I also added a screenshot of the readings). Does anyone know if the gas resistance reading is in kOhm or IAQ? And if this reading is in kOhm what is the simplest way of measuring IAQ? I read I could use another library but I can't find a clear and simple code example to do this. I don't want it complex as it's explained everywhere. Also, I checked the bosh datasheet but missed many units in the tables. for this reason, I don't understand it. Pls someone help. Thanks in advance for your help.
float temperature = bme.temperature (in °C)
float pressure = bme.pressure / 100.0 (in hPa)
float humidity = bme.humidity (in %)
float gasResistance = bme.gas_resistance / 1000.0 (kOhm? IAQ?)
03-30-2023 04:48 PM
Hi CheesLover,
See it from your picture, the output is sensor RAW data(temperature, pressure, humidity, gas resistance). To get IAQ value, you need to run BSEC algorithm based on sensor RAW data as the input data of BSEC.
There is example code for your reference https://github.com/boschsensortec/BSEC-Arduino-library/blob/master/examples/basic_config_state/basic...
03-31-2023 09:03 AM
Thanks for the response. Is it possible to run this on an Arduino Uno? I tried doing it but it didn't work. I think its because the software doesn't support the ATmega328P. Or should I just run it on an Arduino Mega?
04-10-2023 08:31 AM
Hi CheesLover,
If you download latest BSEC package from https://www.bosch-sensortec.com/software-tools/software/bme688-software, you will find memory requirement for AVR 8 bit MCU.
BSEC2.4.0.0_Generic_Release_23012023\algo\normal_version\bin\avr\AVR8_megaAVR\libalgobsec.a.Size.log
text data bss dec hex filename
58608 0 3664 62272 f340 (TOTALS)