Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    Problem when reading two BME680

    Community Moderator

    Re: Problem when reading two BME680

    Hi @maren ,

    you may try to use the GitHub - BoschSensortec/Bosch-BME68x-Library: Arduino library for the BME680 and BME688 sensors from.... It however can only provide the raw values from the sensor without any processing of the BSEC library. I2C may not work at the moment as the Uno only supports 32 byte reads. There are active pull-requests to fix this however it is not yet merge. You may use that code as reference. 


    Re: Problem when reading two BME680

    Hi maren,

    if you use a library for a 8-bit platform like the adafruit library or a arduino library you cannot read the IAQ values as these are calculated values from the raw data of the gas sensor. This works only on 32-bit controllers. If you want to read the IAQ values you have to use a 32-bit controller like the Cortex M0 (Arduino Zero or Adafruit Feather M0 Express or Adafruit ItsyBitsy M0 Express in my case) and the BSEC library. You can get the library precompiled for different platforms like Arduino IDE. In the current version it is able to read two sensors. This is what I did.

    Hope this helps


    New Poster

    Re: Problem when reading two BME680

    Hello @Elektrix , 

    thank you for the reply! I do not want to read the IAQ values as is it not possible with Arudino UNO, as you read. I got a formula for the calcualtion which is in the code included (found on Github). Unfortunaetly I only have the Arduino UNO for this project. But even if I just want to get the data for e.g. pressure from both sensors, it shows me for both of them only the value 0.0 . 


    Re: Problem when reading two BME680

    Hi @maren ,

    you should try to do some basic I2C communication with the sensors to see if the bus is working. This should be done without using the BME680 libraries. In Arduino IDE use the Wire library directly. You can try to read the chip ID register 0xD0. Then you will see if the communication works or if it doesn't.. From there you can narrow down the error.