BME688 sensor not sensing

Hello,

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.

System:

macOS Monterey 12.6.2

Arduino IDE version 1.8.19

Sensor:

Bosch BME688

Breakout board:

Sparkfun 19096 - https://www.sparkfun.com/products/19096

Libraries:

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.

Development board:

esp32 pico d4 kit - https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-pico-kit.html

esp32 WROOM32 - https://www.az-delivery.de/en/products/esp32-developmentboard

Tutorial followed:

Sparkfun - https://learn.sparkfun.com/tutorials/sparkfun-environmental-sensor-breakout---bme68x-qwiic-hookup-guide

Random Tutorials - https://randomnerdtutorials.com/esp32-bme680-sensor-arduino/ - This doesn’t find the sensor.

Arduino Example used:

BME688 I2C demo

Questions:

  1. How to interpret gas sensor raw data? What does it measure (resistance in Ohms)?
  2. Can I use the Sparkfun 19096 on Arduino UNO with 5V supply and logic?
  3. Why does the gas sensor reading not change? Is it incompatibility with the Arduino IDE version, development board or communication protocol?

Apologies if this was answered already. Many thanks! Greatly appreciated!

 

Best reply by BSTRobin

Hi Christoforos,

You could refer BSEC output signal from this list.

If you do not use output such as IAQ, you don't need BSEC.
BME688 Arduino example code has been supported, you could migrate it to ESP32 platform and read raw data from BME688.

View original
7 replies
Resolved