09-15-2022 10:45 AM
Hi,
I'm are using a BME688 in a project to read ambiental data with an ESP32. The problem is that temperature that is reading, the compensated one, is over 3 degrees up than the real and humidity is like a 60% lower. CO2 levels seems to be unrealistic too.
To try this sensor, I'm using the example "basic_config_state.ino" of arduino library available in GitHub, "BSEC-Arduino-library". With "config/generic_33v_3s_4d/bsec_iaq.txt" configuration.
I tried to use an offset of 3 degrees to try to compensate it and it seems to improve something. But still exits some error:
BME688 | AQM | Date | Time |
Tº | H% | CO2 | Tº | H% | CO2 | ||
24,8 | 45,7 | 1334 | 26 | 46 | 704 | 13/09/2022 | 14:41 |
28,4 | 51,1 | 642 | 31 | 47 | 617 | 13/09/2022 | 8:13 |
25,7 | 39,4 | 2180 | 27 | 41 | 941 | 13/09/2022 | 11:02 |
25,2 | 38,7 | 2159 | 27 | 42 | 1342 | 13/09/2022 | 13:55 |
27,8 | 53,1 | 654 | 30 | 53 | 550 | 14/09/2022 | 9:04 |
25,4 | 47,1 | 1754 | 27 | 48 | 725 | 14/09/2022 | 11:00 |
24,7 | 38,4 | 1923 | 26 | 43 | 1219 | 15/08/2022 | 9:33 |
I'm going to capture more data and update this post with it.
Do you now what is going on? There is a problem with the current configutation? Could you provide me some example to configurate it correctly?
Thanks.
09-19-2022 04:13 PM
Hi josemartinez,
Hardware: The heat source will affect the temperature and humidity. What about your hardware layout?
Software: 1. If you use BME680, you can use BSEC Orduino library(https://github.com/BoschSensortec/BSEC-Arduino-library ). If you use BME688, we suggest you use Bosch BSEC2 Library( https://github.com/BoschSensortec/Bosch-BSEC2-Library/blob/master/examples/generic_examples/basic_co...)
2. For your feedback "The problem is that temperature that is reading, the compensated one, is over 3 degrees up than the real and humidity is like a 60% lower. CO2 levels seems to be unrealistic too.", is your temperature and humidity value RAW data of BME688 or the temperature and humidity value output by BSEC?
09-19-2022 06:36 PM - edited 09-20-2022 02:20 PM
09-20-2022 05:15 PM
I have same issue on Nicla sense me. can i use this solution? should I program my board one time with BSEC2 Library?
Sorry, i am new to arduino.
09-21-2022 03:41 PM
The hardware is a custom board that we have developed. I can't share you the whole design but sensor circuit is:
I'm testing BSEC2 library. After a few hours IAQ, VOC and CO2 values doesn't change and accuracy is still 0. How long it takes to calibrate? the temperature is still a little high and humidity lower.
I'm using compensated temperature and humidity not RAW.
15:39:36.326 -> BSEC outputs:
15:39:36.326 -> timestamp = 8409838
15:39:36.326 -> IAQ = 25.00
15:39:36.326 -> iaq accuracy = 0
15:39:36.361 -> CO2 = 500.00
15:39:36.361 -> bVOC = 0.50
15:39:36.361 -> temperature = 30.11
15:39:36.361 -> pressure = 101221.24
15:39:36.361 -> humidity = 31.55
15:39:36.361 -> gas resistance = 716835.81
15:39:36.361 -> compensated temperature = 27.11
15:39:36.361 -> compensated humidity = 37.38
15:39:36.361 -> Field Air probability : 99.87%
15:39:36.361 -> Hand sanitizer probability : 0.13%
15:39:36.361 -> gas index = 9.00
15:39:37.021 -> BSEC outputs:
15:39:37.056 -> timestamp = 8410538
15:39:37.056 -> temperature = 30.17
15:39:37.056 -> pressure = 101220.84
15:39:37.056 -> humidity = 31.42
15:39:37.056 -> gas resistance = 738550.31
15:39:37.056 -> gas index = 0.00
15:39:37.333 -> BSEC outputs:
15:39:37.333 -> timestamp = 8410818
15:39:37.333 -> temperature = 29.74
15:39:37.333 -> pressure = 101221.53
15:39:37.333 -> humidity = 31.30
15:39:37.333 -> gas resistance = 102400000.00
15:39:37.333 -> gas index = 1.00
15:39:38.726 -> BSEC outputs:
15:39:38.726 -> timestamp = 8412218
15:39:38.726 -> temperature = 28.95
15:39:38.726 -> pressure = 101213.50
15:39:38.726 -> humidity = 31.07
15:39:38.726 -> gas resistance = 102400000.00
15:39:38.726 -> gas index = 2.00
15:39:42.859 -> BSEC outputs:
15:39:42.859 -> timestamp = 8416348
15:39:42.859 -> temperature = 28.82
15:39:42.859 -> pressure = 101215.27
15:39:42.859 -> humidity = 31.19
15:39:42.859 -> gas resistance = 102400000.00
15:39:42.859 -> gas index = 3.00
15:39:43.556 -> BSEC outputs:
15:39:43.556 -> timestamp = 8417048
15:39:43.556 -> temperature = 29.41
15:39:43.556 -> pressure = 101217.29
15:39:43.556 -> humidity = 31.29
15:39:43.556 -> gas resistance = 7562428.00
15:39:43.556 -> gas index = 4.00
15:39:44.252 -> BSEC outputs:
15:39:44.252 -> timestamp = 8417748
15:39:44.252 -> temperature = 29.59
15:39:44.252 -> pressure = 101217.84
15:39:44.252 -> humidity = 31.31
15:39:44.252 -> gas resistance = 7423652.00
15:39:44.252 -> gas index = 5.00
15:39:44.915 -> BSEC outputs:
15:39:44.915 -> timestamp = 8418413
15:39:44.915 -> temperature = 29.66
15:39:44.915 -> pressure = 101217.39
15:39:44.915 -> humidity = 31.25
15:39:44.915 -> gas resistance = 7265632.00
15:39:44.915 -> gas index = 6.00
15:39:45.608 -> BSEC outputs:
15:39:45.608 -> timestamp = 8419113
15:39:45.608 -> temperature = 30.03
15:39:45.608 -> pressure = 101219.94
15:39:45.608 -> humidity = 31.21
15:39:45.608 -> gas resistance = 690725.13
15:39:45.608 -> gas index = 7.00
15:39:46.302 -> BSEC outputs:
15:39:46.302 -> timestamp = 8419813
15:39:46.302 -> temperature = 30.18
15:39:46.302 -> pressure = 101222.09
15:39:46.337 -> humidity = 31.15
15:39:46.337 -> gas resistance = 719859.38
15:39:46.337 -> gas index = 8.00
15:39:46.999 -> BSEC outputs:
15:39:46.999 -> timestamp = 8420513
15:39:46.999 -> IAQ = 25.00
15:39:47.034 -> iaq accuracy = 0
15:39:47.034 -> CO2 = 500.00
15:39:47.034 -> bVOC = 0.50
15:39:47.034 -> temperature = 30.26
15:39:47.034 -> pressure = 101218.89
15:39:47.034 -> humidity = 31.02
15:39:47.034 -> gas resistance = 739350.19
15:39:47.034 -> compensated temperature = 27.26
15:39:47.034 -> compensated humidity = 36.77
15:39:47.034 -> Field Air probability : 99.92%
15:39:47.034 -> Hand sanitizer probability : 0.08%
15:39:47.034 -> gas index = 9.00
I'm going to leave the sensor working a few days to test it. I'll update this post with the results.
Thank you for the answer.
09-21-2022 03:52 PM