Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME688 sensor not sensing

    BME688 sensor not sensing

    Established Member


    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


    Bosch BME688

    Breakout board:

    Sparkfun 19096 -


    Adafruit - - Doesn’t find sensor.

    SV-Zanshin - (recommended by Sparkfun)

    Bosch - - Doesn’t find sensor.

    Development board:

    esp32 pico d4 kit -

    esp32 WROOM32 -

    Tutorial followed:

    Sparkfun -

    Random Tutorials - - This doesn’t find the sensor.

    Arduino Example used:

    BME688 I2C demo

    Screenshot 2023-02-02 at 11.05.26.png

    sensor value the same.png


    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!


    7 REPLIES 7

    Community Moderator
    Community Moderator

    Hi Christoforos,

    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. is Arduino project for BSEC1. As you used BME688, recommend you download latest BSEC2 package from, refer readme file to migrate BME688 BSEC2 Arduino project to project.

    BSEC2.2.0.0 download.png

    Dear BSTRobbin,

    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? 

    Many thanks!



    Hi Christoforos,

    You could refer BSEC output signal from this list.

    Supported virtual sensor output signals.png

    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.

    Dear BSTRobin,

    Thank you for you reply!

    Yes, I can use only BME68x library on Arduino IDE 2.0 for MKR Wifi 1010 or esp32.

    Many thanks!