-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Arduino library for using the Bosch BME680 sensor which senses temperature, humidity and pressure. The BME680 is a tiny package and no hobbyist is going to be breadboarding this sensor directly, so one will be part of a breakout board. Here are some breakout board examples:
Supplier | Instructions | Comments |
---|---|---|
Sparkfun | Guide | 3V only, Qwiic System |
Bluedot | Guide | 3-5V |
Adafruit | Guide | 3-5V |
A complete description of the BME680 sensor can be found in the BME680 Datasheet.
In addition to these Wiki pages, the code itself contains Doxygen style comments. This is used to generate comprehensive program and library documentation and the output can be found at BME680 Doxygen documentation.
The BME680 allows the user to individually adjust the sampling rates for each sensor component (temperature, humidity, pressure and gas) as well as to set the inter-measurement delay time and the IIR filter sampling coeffient. Combining these settings allows very fine-grained control of measurement times and measurement accuracy as well as energy management.
The BME680 measures temperatures between -40°C and 85°C with a full accuracy range between 0°C and +65°C. The accuracy is ±0.5°c with a full resolution of 0.01°C. Since the temperature sensor in the small package is tied to the PCB board on which it is soldered in place and also has some self-heating, the temperature reading will usually be above ambient.
Non-condensing humidity between 0% and 100% is measured with an accuracy of ±3% at a maximum resolution of 0.008%.
The pressure sensor works in temperatures between -40°C and +85°C although the zone of full accuracy only goes from 0°C to +65°C. Pressure is measured between 300hPa and 1100hPa with an accuracy of ±1.0 hPa and a resolution of 0.2Pa
The gas sensor works by heating a small surface internally and measuring the resistance of the gas layer. This indicates the amount of volatile components in the air and can be used as an indirect indicator of air quality.
Overview
Installation
Class Instantiation
begin()
setOversampling()
setIIRFilter()
setGas()
getSensorData()
getI2CAddress()
waitForReadings()
measuring()
triggerMeasurement()
reset()
-none-
Modes
Sensors
Oversampling
IIR Filters
I2CDemo.ino
SPIDemo.ino
SoftSPIDemo.ino
TwoDevicesI2CDemo.ino
SDLoggerSPIDemo.ino
ESP32FeatherWiFiDemo.ino