Does anyone know; are the ranges on “Table 4 IAQ index” on the Bosch BME280 datasheet kohms?
I have modified code from:
ESP32: BME680 Environmental Sensor using Arduino IDE (Gas, Pressure, Humidity, Temperature)
to print out IAQ Air Quility text; according to Bosch’s “Table 4” of datasheet.
I do not know if I am making a valid decision; equating the numeric ranges to kohms.
Perhaps just a starting point in developement: Modified code for IAQ Air Quality in text
William
Hi.
I don’t think the IAQ index corresponds to kOhms. The IAQ index is calculated taking into account several parameters, not only the kOhm resistance.
Bosch provides a library that allows you to get a “precise” IAQ index. Here is a link to the library: https://github.com/BoschSensortec/BSEC-Arduino-library
I haven’t tried this library, but I think it is what you are looking for.
Then, give me some feedback about the library if you happen to test it. I’m also curious about trying it soon.
Regards,
Sara
Looking at the data sheet the gas sensor output is “direct indoor air quality (IAQ) index output” so that will not correlate to ohms. Perhaps this Berkley Labs article could give more insight about the IAQ index.
Good Morning Sara and Steve,
Thank you for the replies.
I am doing further reading; did see this mention of scale on “Bosch BME680 Datasheet,” page 23:
“The IAQ scale ranges from 0 (clean air) to 500 (heavily polluted air). During operation, the algorithms automatically calibrate and adapt themselves to the typical environments where the sensor is operated (e.g., home, workplace, inside a car, etc.). This automatic background calibration ensures that users experience consistent IAQ performance. The calibration process considers the recent measurement history (typ. up to four days) to ensure that IAQ ~ 25 corresponds to “typical good” air and IAQ ~ 250 indicates “typical polluted” air.”
Will also give “Bosch, BSEC” another try. Tried earlier and could not get it to compile on Wemos D1 R2.
Requesting help with configuring “Arduino IDE,” Modifing the platform.txt file. Will it effect future projects? also, clarification on modifing ESP8266 core.
These are the errors I am getting with th larest BSec library and “Arduino IDE 1.8.13:
Best Regards,
William
Hi William.
Those compilation errors seem to be related to the library itself. Maybe it is something wrong with the installation process?? Did you follow all their instructions? https://github.com/BoschSensortec/BSEC-Arduino-library#installation-and-getting-started
As I mentioned previously, I haven’t experimented with this library. If you can’t make it work, I recommend that you post a question in their forum:https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BSEC-Arduino-Library-v1-4-7-3-compile-error-ESP32/td-p/8557
Let me know if you can make it work and how you solve it.
Regards,
Sara
Good Morning Sara,
Will continue to work with BSEC library; followed the installation instructions for the “Arduino IDE.”
Found an interesting web site: AirNow
About the National Weather Service, Air Quality index (AQI): “The AQI focuses on health effects you may experience within a few hours or days after breathing polluted air. EPA calculates the AQI for five major air pollutants regulated by the Clean Air Act: ground-level ozone, particle pollution (also known as particulate matter), carbon monoxide, sulfur dioxide, and nitrogen dioxide. For each of these pollutants, EPA has established national air quality standards to protect public health .Ground-level ozone and airborne particles are the two pollutants that pose the greatest threat to human health in this country.”
Enter zipcode on the “Airnow” web site for air quaility index near you (USA).
“AQI” scale appears to be the same as “Bosch BME680, Table 4” datasheet chart.
Best Regards,
William
I have tried the BSEC library; it fails to compile for me. Will follow-up Sara’s suggesion to post to Bosch forum for getting resolution to compiling.
Good news for the “BME680 Data Logger III” all is working; except graphs need to be updated, currently using BME280 graphs. Need to add some channels to my Thinkspeak.com account.
Video of “BME680 Data Logger III” project
William
Ok, William.
Then, let me know if you are able to make it work.
I would like to use that library too.
Regards,
Sara
Good Afternoon,
Found the issue with BSEC not compiling: toolchain has hard coded library path!!!
“Arduino IDE” 1.8.13 follow instructions here: BSEC instructions
Reopen “Arduino IDE” after completing instructions. Go to Preferences; then enter Sketchbook location. BSEC toolchain needs this path to be: C:\Users\Userfolder\Documents\Arduino on Windows 10. “Userfolder” being your username (this is your profile folder.)
Additional: Change “Wire.begin(); to pins used for SCL and SDA. also change:
“iaqSensor.begin(BME680_I2C_ADDR_PRIMARY, Wire);”
to
“iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire);”
William
Hi William.
So, is everything working with that library now?
Does it work well in returning the IAQ index?
Regards,
Sara
Good Evening Sara,
BSEC library as posted here earlier is working; here is output from the BSEC library example, “basic.ino:”
BSEC library version 1.4.8.0
Timestamp [ms], raw temperature [��C], pressure [hPa], raw relative humidity [%],
gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], Static IAQ,
CO2 equivalent, breath VOC equivalent
105, 21.40, 99984.00, 32.29, 152104.00, 25.00, 0, 21.40, 32.29, 25.00, 500.00, 0.50
3105, 21.37, 99984.00, 32.74, 153793.00, 25.00, 0, 21.31, 32.92, 25.00, 500.00, 0.50
6105, 21.43, 99984.00, 33.20, 162354.00, 25.00, 0, 21.37, 33.27, 25.00, 500.00, 0.50
9105, 21.48, 99986.00, 33.72, 169125.00, 25.00, 0, 21.42, 33.73, 25.00, 500.00, 0.50
12104, 21.51, 99986.00, 34.36, 174084.00, 25.00, 0, 21.45, 34.34, 25.00, 500.00, 0.50
15105, 21.55, 99986.00, 35.05, 181298.00, 25.00, 0, 21.49, 35.00, 25.00, 500.00, 0.50
18105, 21.56, 99986.00, 35.38, 186824.00, 25.00, 0, 21.50, 35.35, 25.00, 500.00, 0.50
21105, 21.57, 99986.00, 35.21, 196955.00, 25.00, 0, 21.51, 35.20, 25.00, 500.00, 0.50
24105, 21.56, 99984.00, 34.61, 206930.00, 25.00, 0, 21.50, 34.65, 25.00, 500.00, 0.50
27105, 21.56, 99986.00, 33.84, 215810.00, 25.00, 0, 21.50, 33.90, 25.00, 500.00, 0.50
1 Timestamp [ms]
2 raw temperature [°C]
3 pressure [hPa]
4 raw relative humidity [%]
5 gas [Ohm]
6 IAQ
7 IAQ accuracy
8 temperature [°C]
9 relative humidity [%]
10 static IAQ
11 CO2 equivalent
12 breath VOC equivalent
I am in the process of running the BSEC library example, “basic_config_state.ino.” Just started running the example; will let it run overnight.
Preliminary porting of my “BME680 Data Logger III” project to use BSEC library is complete. Waiting fot the “basic_config_state.ino” to run overnight; before doing further testing of “BME680 BSEC Data Logger.” Project features Async Web Server, Data logging, File browsing, and FTP.
William
Good Morning,
Thank you to everyone helping me sort this out; appreciate the help.
Bosch, BSEC library does all the IAQ floating point math; needs allot of ram and must be supported. See “Bosch Bsec” library “readme.md.”
Sending some screen captures of “BME680 Bsec Data Logger.ino.” I confirm, my first take on the “Bosch,” Datasheet Table 4 chart. Good Air, “IAQ” values are LOW with Bad Air, being HIGH IAQ values; to get IAQ values; you need the “Bosch BSEC Library.”
Screen captures “BME680 Bsec Data Logger.”
BME680-Bsec-Data-Logger Project
Best Regards,
William