Bosch BME680 Sensor


  • Hero Member

    I just created a sketch for controlling a BME680 sensor via I2C.
    For the ones who are interested in it, the sketch can be downloaded at:
    https://github.com/windkh/mysensors/tree/master/BME680Sensor

    First of all there is to say that this is still a beta version as the library supplied with the breakout-board did not work as expected. But luckily I found another one that seems to be working. I can't tell you how reliable the air quality values are, but I will compare it with my MQ-135 sensor values the next days.

    The pressure is, like on the BME280 ,an absolute value. The sketch calculates the sealevel pressure from it.

    I am using the breakout board from watterott which can be found here:
    https://github.com/watterott/BME680-Breakout

    One of the recommended libs has an error, which will hopefully be fixed in future. Maybe I will port the code to use that one in future:
    https://github.com/vicatcu/BME680_Breakout
    https://github.com/vicatcu/BME680_Breakout/issues/3

    Right now you have to download this library in order to be able to compiile the sketch:
    https://github.com/DFRobot/DFRobot_BME680
    The sketch is derived from one of the samples includes in that library.

    Wiring:
    I am using a standard Arduino Uno with Radio attached to the standard pins with the mysensors 2.0 lib.
    To connect the breakout-board you need 4 wires:

    Breakout --> Arduino
    GND - GND
    NC
    VCC - 3.3V
    SCL - A5
    SDA - A4
    SDO
    CS

    The chip supports SPI and I2C. I used SCL and SDA for I2C and left SDO and CS disconnected.

    The next steps will be making the air quality values useful by finding appropriate thresholds... stay tuned.


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.