Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 BSEC installation problems on Arduino ESP8266 ( NodeMCU v2/Wemos mini pro)

    BME680 BSEC installation problems on Arduino ESP8266 ( NodeMCU v2/Wemos mini pro)

    New Poster


    I have a couple of questions realted to BSEC installation in Arduino ESP8266 (2.4.2 and 2.5.0):

    1. Executed all the steps from Integration Guidelines for Arduino platforms.pdf. the library seems to be properly  installed, the examples can be compiled without warnings and downloladed to the target platform. However, all the examples display the following error message after loading:

    BSEC library version
    BME680 error code : -2

    - Any clue why the target displays version instead of which was downloaded and installed? is the only library installed in my Arduino setup.

    - Any idea why error code: -2 is reported for every  example? The same HW setup works without any issues with Adafruit BME680 library.


    2. Why are there two different versions of bsec_dataset.h and bsec_interface.h inclued in BSEC library distribution? Which version of these files should be installed in Arduino setup? The ones that come with the libalgobsec.a (from \\algo\bin\Normal_version\esp8266) or the ones from\Arduino\BSEC\src\inc?

    3. Has anyone successfully run BSEC examples on NodeMCU/Wemos HW?



    6 REPLIES 6

    Established Member


    it is running fine here (and stable (more or less - see other posts) with Wemos D1 mini.
    Have you checked the I2C address?

    -> iaqSensor.begin(BME680_I2C_ADDR_PRIMARY, Wire); 
    in ben680_defs.h:
    #define BME680_I2C_ADDR_PRIMARY UINT8_C(0x76) #define BME680_I2C_ADDR_SECONDARY UINT8_C(0x77)

    I'm using the files from ...Arduino\BSEC\src\inc

    Have you any more debug info?

    Hi, I manage to resolve my problem. It was related to Wire object initialization - i.e.  Wire.begin(I2C_PIN_SDA, I2C_PIN_SCL) was missing for I2C configuration. Once I added this to setup(), everything seems to be working fine.




    please i am stuck in the same problem. I dont understand how to modify Basic library example to make it works. My bme680 address is 0x77 that match Secondary address. I tried to add a Wire.begin but no success. 

    Community Moderator
    Community Moderator

    Have you tried following the suggestion in this comment above? That would mean for example to initialize the library with the secondary address instead of the primary by default:

    iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire);

    Otherwise it would be great if you could share more details about your setup, including hardware used, schematic, code snippet, etc.