The long awaited BME680 from Bosch gives you all the environmental sensing you want in one small package. This little sensor contains temperature, humidity, barometric pressure, and VOC gas sensing capabilities. All over SPI or I2C at a great price!
Like the BME280 & BMP280, this precision sensor from Bosch can measure humidity with ±3% accuracy, barometric pressure with ±1 hPa absolute accuracy, and temperature with ±1.0°C accuracy. Because pressure changes with altitude, and the pressure measurements are so good, you can also use it as an altimeter with ±1 meter or better accuracy!
The BME680 takes those sensors to the next step in that it contains a small MOX sensor. The heated metal oxide changes resistance based on the volatile organic compounds (VOC) in the air, so it can be used to detect gasses & alcohols such as Ethanol, Alcohol and Carbon Monoxide, and perform air quality measurements. Note it will give you one resistance value, with overall VOC content, but it cannot differentiate gasses or alcohols.
Please note this sensor, like all VOC/gas sensors, has variability and to get precise measurements you will want to calibrate it against known sources! That said, for general environmental sensors, it will give you a good idea of trends and comparisons. Adafruit recommend that you run this sensor for 48 hours when you first receive it to "burn it in," and then 30 minutes in the desired mode every time the sensor is in use. This is because the sensitivity levels of the sensor will change during early use, and the resistance will slowly rise over time as the MOX warms up to its baseline reading.
For your convenience they've pick-and-placed the sensor on a PCB with a 3.3V regulator and some level shifting, so it can be easily used with your favorite 3.3V or 5V microcontroller. All of the pins of the BME680 are available on standard 0.100?/ 2.54mm pitch headers for use with a breadboard. Should you wish to avoid soldering, it now also includes Stemma QT connectors (SparkFun Qwiic compatible). Using these handy connectors you can simply plug in the sensor, no soldering required!
This detailed tutorial will get you going with code for both Arduino and CircuitPython, schematics, wiring diagrams, Fritzing objects and more
TECHNICAL DETAILS
Revision History:
As of August 6, 2020 Adafruit have updated this sensor to be STEMMA QT compatible - that means there's now an easy way to plug-and-play this sensor without any soldering! The physical shape has changed but the pinout is identical to the non-QT earlier version.
Product Dimensions: 18.0mm x 16.5mm x 2.8mm / 0.7" x 0.6" x 0.1"
Product Weight: 3.0g / 0.1oz
BME680 Datasheet