All Projects → Zanduino → BME680

Zanduino / BME680

Licence: GPL-3.0 license
Arduino Library to access the Bosch BME680 - temperature, pressure, humidity and gas sensor

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to BME680

arduino-bme280
💧 Arduino library for Bosch Sensortec BME280 – combined temperature, pressure, humidity sensor. The library allows using the sensor over I2C or SPI on any board that supports Arduino.
Stars: ✭ 25 (-16.67%)
Mutual labels:  i2c, temperature, spi, pressure, bosch, humidity
bsec bme680 linux
Read the BME680 sensor with the BSEC library on Linux (e.g. Raspberry Pi)
Stars: ✭ 78 (+160%)
Mutual labels:  sensor, bosch, iaq, bme680
Weather Shield
Barometric pressure, temperature, humidity and light sensing weather shield for Arduino.
Stars: ✭ 62 (+106.67%)
Mutual labels:  weather, temperature, humidity, sparkfun-products
embedded-sht
Embedded SHT Drivers for Sensirion Temperature and Humidity Sensors - Download the Zip Package from the Release Page
Stars: ✭ 53 (+76.67%)
Mutual labels:  i2c, sensor, temperature, humidity
bme280
Arduino and CMake library for communicating with the Bosch Sensortec BME280 environmental sensor.
Stars: ✭ 21 (-30%)
Mutual labels:  sensor, arduino-library, pressure
TempRa
Monitors the temperature, the humidity and the pressure in your room on Raspberry Pi.
Stars: ✭ 16 (-46.67%)
Mutual labels:  temperature, pressure, humidity
SHT31
Arduino library for the SHT31 temperature and humidity sensor
Stars: ✭ 26 (-13.33%)
Mutual labels:  sensor, temperature, humidity
homebridge-tion
Homebridge plugin to control Tion breezers
Stars: ✭ 32 (+6.67%)
Mutual labels:  sensor, temperature, humidity
EnviroMonitorStation
Arduino compatible software for ESP8266 based environmental monitoring station. Includes temperature, humidity, barometric pressure and PM2.5, PM10 dust monitoring
Stars: ✭ 71 (+136.67%)
Mutual labels:  sensor, temperature, humidity
SerialTransfer
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, or SPI
Stars: ✭ 273 (+810%)
Mutual labels:  i2c, arduino-library, spi
arduino-sht
Repository for Sensirion humidity and temperature sensor support on Arduino
Stars: ✭ 43 (+43.33%)
Mutual labels:  i2c, sensor, arduino-library
Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (+910%)
Mutual labels:  i2c, arduino-library, spi
Ha4iot
Open Source Home Automation system for .NET
Stars: ✭ 146 (+386.67%)
Mutual labels:  i2c, sensor, temperature
gfx demo
GFX Demo for Arduino and the ESP-IDF
Stars: ✭ 63 (+110%)
Mutual labels:  i2c, arduino-library, spi
Esp32 Mpu Driver
ESP32 full library for all MPU6000 MPU6050 MPU6500 MPU9150 MPU9250 with SPI and I2C support and more.
Stars: ✭ 111 (+270%)
Mutual labels:  i2c, sensor, spi
ArduinoWeatherOS
Arduino Uno, 433MhzRx and OS WMR86 Weather Station
Stars: ✭ 69 (+130%)
Mutual labels:  weather, pressure, humidity
awesome-embedded-swift
⚡️🛠🧰 A curated list for Embedded and Low-Level development in the Swift programming language.
Stars: ✭ 57 (+90%)
Mutual labels:  i2c, spi
433MHz Tx Rx
Arduino based 433MHz Tx and Rx combo using Manchester protocol
Stars: ✭ 27 (-10%)
Mutual labels:  weather, sensor
Homebridge Weather
OpenWeatherMap Plugin for Homebridge
Stars: ✭ 78 (+160%)
Mutual labels:  weather, temperature
SparkFun ATECCX08a Arduino Library
An Arduino library to use with the Microchip ATECCX08a Cryptographic Co-processors.
Stars: ✭ 26 (-13.33%)
Mutual labels:  arduino-library, sparkfun-products

License: GPL v3 Build Format Wiki Doxygen arduino-library-badge

BME680 library Bosch BME680

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 Image Instructions Comments
Sparkfun Guide The Sparkfun board has pinouts for both SPI and I2C, one interface along one edge and other on the opposing side. The board is designed as part of the SparkFun Qwiic Connect System that uses standardized plugs to daisy-chain I2C breakout boards together quickly. This package is designed to work with 3V systems and has no on-board 5V level shifting.
Bluedot Guide This was my initial BME680 breakout board, purchased locally in Germany where it is manufactured. It has on-board level shifting and is therefore able to run on both 3V and 5V systems. There are fewer pinouts on this board than on the Sparkfun one, several of the pins have different uses depending upon whether I2C or SPI is selected
Adafruit Guide This breakout board is the most compact of the three, with the pinouts having different uses depending upon which communications method (I2C or SPI) is used. As with the Bluedot breakout board above, the Adafruit breakout board has integrated level-shifting and can therefore be run on both 3V and 5V systems.

A complete description of the BME680 sensor can be found in the BME680 Datasheet.

Documentation and Examples

The detailed library description including installation instructions and descriptions of all functions plus further details is available on the BME680 Wiki pages. In addition, the code itself contains Doxygen style comments, which is used to generate comprehensive program and library documentation; this can be found at BME680 Doxygen documentation.

Sensing

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.

Temperature sensing

The BME280 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 and also has some self-heating as well the temperature reading will usually be above ambient to some degree.

Humidity sensing

Non-condensing humidity between 0% and 100% is measured with an accuracy of ±3% at a maximum resolution of 0.008%.

Pressure sensing

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

Environment gas sensing

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 means of measuring of air quality. The actual computation of "indoor air quality" is more complex than measuring the resistance, as the relative humidity, temperature, and element heating all play a role in determining that value. These calculations not only require the use of floating-point math, but are quite complex and memory-intensive and are not included in the library. If IAQ measurements are required, then the best solution is to use Bosch's BSEC software - but keep in mind that it won't run on most smaller Arduino platforms.

Zanshin Logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].