I am trying to use the BME688 sensor from Bosch to detect VOCs. I am using the Sparkfun 19096 breakout board, Arduino IDE 1.8.19 and SV-Zanshin library, as recommended. I can read the Temperature, Humidity and Pressure data on the serial monitor but the altitude and gas resistance data are wrong. They show negative numbers (-41.73 and -999.35 for alt and gas, respectively), which I assume it’s variable overflow, and the values don’t change. I can fix the issue with the negative number by modifying the data types and scaling the reading down. However, the fact that the sensor gas resistance reading doesn’t change at all even after 48 hours burn in and exposure to acetone and IPA is worrisome. Here is the full list of the specifications I am using.
macOS Monterey 12.6.2
Arduino IDE version 1.8.19
Sparkfun 19096 - https://www.sparkfun.com/products/19096
Adafruit - https://github.com/adafruit/Adafruit_BME680 - Doesn’t find sensor.
SV-Zanshin - https://github.com/Zanduino/BME680 (recommended by Sparkfun)
Bosch - https://github.com/BoschSensortec/Bosch-BME68x-Library - Doesn’t find sensor.
esp32 WROOM32 - https://www.az-delivery.de/en/products/esp32-developmentboard
Random Tutorials - https://randomnerdtutorials.com/esp32-bme680-sensor-arduino/ - This doesn’t find the sensor.
Arduino Example used:
BME688 I2C demo
Apologies if this was answered already. Many thanks! Greatly appreciated!
Solved! Go to Solution.
The RAW data of the gas is the resistance value with ohm unit. Under different heating configurations, the gas corresponds to the resistance output, after processing by BSEC algorithm, output IAQ, etc.
The maximum supply voltage of the BME688 is 3.6V.
https://github.com/boschsensortec/BSEC-Arduino-library is Arduino project for BSEC1. As you used BME688, recommend you download latest BSEC2 package from https://www.bosch-sensortec.com/software-tools/software/bme688-software, refer readme file https://github.com/boschsensortec/BSEC-Arduino-library/blob/master/README.md to migrate BME688 BSEC2 Arduino project to project.
Thank you for your reply!
I am interested in the raw data in Ohms and then I can calibrate the sensor with different substances. Therefore, do I actually need the BSEC?
Also, I am using the sensor with esp32 and Arduino IDE. Might this be the problem? Should I migrate to Visual code and PlatformIO?