The BlueDot BME680 Environmental and Gas Sensor not only allows you measure temperature, humidity, pressure and altitude with an Arduino, but with the integrated Metal Oxide (MOX) Gas Sensor you can measure volatile organic compounds (VOCs) in the air. The Metal Oxide-based sensor detects VOCs by adsorption on its sensitive layer and its resistance changes with the VOC concentration (the higher the VOC concentration, the lower the output resistance and vice-versa). The raw-signal is therefore a resistance value in ohms.
Volatile organic compounds are typically found in building materials, printers, solvents, paints, gasoline and many household products. The long-term exposure to VOCs can be harmful to our health and since we spend so much time indoors (homes and offices), it is important to find the source and reduce the concentration of VOCs in indoor environments.
The BME680 sensor is the most recent development from Bosch Sensortec, the world's leading manufacturer of MEMS (Micro Electromechanical Systems). Here are 5 features that make the BlueDot BME680 Environmental and Gas Sensor very easy to use:
The first step with the BME680 Weather Station is to solder the 6 pin header that comes along with the board. The easiest way to solder the board is to insert the header into a breadboard (long pins down) and solder the short pins to the board.
Connecting the BME680 on the I2C bus is very easy and is identical to the connection of the BME280 sensor. The first step is to connect the board to the power supply.
Great! Now we need to connect the sensor to the I2C bus. The I2C communication uses basically two wires. The clock signal is generated by the Arduino and transferred to the sensor through the SCL line. The Arduino can send commands to the sensor using the SDA line. Just as well, all data from the sensor goes back to the Arduino through the SDA line. Because of that, the SDA line is bidirectional.
We can also communicate with the BME680 sensor using the SPI protocol. Just like before, the first step is to connect the board to a power supply.
Unlike the I2C protocol, the SPI communication uses 4 different lines. All data from the sensor is transferred back to the Arduino through the SDO line (Serial Data Output), while all commands from the Arduino are transferred through the SDI (Serial Data Input) line. The clock signal is generated from the Arduino and sent through the SCK line (Serial Clock). Finally, the CS or Chip Select line is used to tell the sensor when the communication is starting or ending.
Not sure where the ICSP header is located? On the Arduino Uno it is the header on the far side of the board, close to the microcontroller.
We can also use the SPI communication without using the ICSP header, using regular digital pins instead. In this case, the communication is called Software-SPI.
The easiest way to start using your BME680 sensor is to download and install the BlueDot BME680 Library for Arduino. Just open the Arduino IDE and go to Sketch > Include Library > Manage Libraries... and search for the BlueDot BME680 Library on the Library Manager.
Alternatively, you can download the latest version of the library from the Github repository or just click on this link to get it directly from our Website!