SparkFun
SparkFun Environmental Sensor - BME688 (Qwiic)
The SparkFun BME688 Environmental Sensor is a breakout that combines a gas scanning sensor with temperature, humidity, and barometric pressure sensing for...
Get notified when back in stock
- Uses I2C interface (Qwiic-enabled)
- I2C Addresses: 0x76 (Default) or 0x77
- 2x Qwiic Connectors
- Operating voltage range
- 1.71V - 3.6V
- Typically 3.3V if using the Qwiic cable
- Relative humidity
- Operating range: 0% to 100%
- Absolute Accuracy: ±3%RH
- Resolution: ±0.008%RH
- Temperature
- Operating range: -40°C to +85 °C
- Absolute Accuracy: ±1.0°C
- Resolution: 0.01°C
- Pressure
- Operating range: 300hPa - 1100hPa
- Absolute accuracy: ±60Pa (0°C to 65°C)
- Resolution: 0.18PA, highest oversampling
- Gas
- F1 score for H₂S scanning: 0.92
- Standard scan speed: 10.8 sec/scan
- Sensor-to-sensor deviation: ± 15% ± 15
- Typical current consumption (varies based on mode and active sensor)
- 2.1 µA to 18mA
- 0.15 µA (sleep mode)
- 3.9 mA in standard gas scan mode
- Schematic
- Eagle Files
- Hookup Guide
- Datasheet (BME688)
- BME AI-Studio Manual
- BME680 Arduino Library
-
Bosch Software Page:
- BME AI-Studio (Mac/Windows) (Download from software page)
- BME68x Arduino Library
- BME68x API
- BSEC2 Arduino Library
- BSEC2 API (Download from software page)
- BSEC2 Integration Guide
- Qwiic Connect System
- GitHub Hardware Repo
- Board Dimensions
Jargon buster
Plain-language definitions for the technical terms used above.
- API
- An API (application programming interface) is a defined set of commands or functions that lets one piece of software interact with another, such as a library, operating system, hardware driver or online service. When something offers API support, it means you can control or query it from your own code rather than only through its built-in menus or buttons.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- oversampling
- Taking many measurements and combining them to reduce noise and improve the stability of a reading. It matters when you want smoother current or power measurements, though it can make updates slower.
- PCB
- A printed circuit board (PCB) is a board, usually rigid, with etched copper tracks that connect electronic components together without loose wiring. Components are mounted on the board and signals route between them through the copper layout.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
Find this product in
Brands
SparkFun BME688 Qwiic Schematic
Schematic · 152.8 KB · Click any page to view full size
BME688 Datasheet
Datasheet · 2.0 MB · Click any page to view full size
BME AI-Studio Manual
User Guide · 4.5 MB · Click any page to view full size
SparkFun BME688 Qwiic Board Dimensions
Mechanical Drawings · 115.1 KB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 627.8 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Source Code
Open-source libraries, firmware & example projects for this product
Arduino library for the BME680 and BME688 sensors from Bosch Sensortec
4f37df6
about 1 year ago
· 8 commits
- examples Add esp-idf example using platformio. over 1 year ago
- src delayMicroseconds is an Arduino function over 1 year ago
- keywords.txt Added v1.1.40406 almost 5 years ago
- library.json Bumped version about 1 year ago
- library.properties Bumped version about 1 year ago
- LICENSE Added v1.1.40406 almost 5 years ago
- README.md Added v1.1.40406 almost 5 years ago
Arduino Library to access the Bosch BME680 - temperature, pressure, humidity and gas sensor
35b903c
almost 4 years ago
· 264 commits
- .github Update ci-compile.yml almost 4 years ago
- examples Update SDLoggerSPIDemo.ino over 4 years ago
- Images Changed links to reflect new "Zanduino" repository location over 5 years ago
- src Update Zanshin_BME680.cpp over 4 years ago
- .gitattributes Moved from "SV-Zanshin" to "Zanduino" over 5 years ago
- .gitignore Update .gitignore over 4 years ago
- keywords.txt Development v1.0.10 fixes to master (#35) over 5 years ago
- library.properties Changed links to reflect new "Zanduino" repository location over 5 years ago
- LICENSE Moved file about 6 years ago
Common Sensor API for the BME680 and BME688 sensors
80ea120
about 3 years ago
· 7 commits
- examples Updated to v4.4.8. Fixed an indexing bug while getting heater configuration. Fixed typos and minor bugs. about 3 years ago
- bme68x.c Updated to v4.4.8. Fixed an indexing bug while getting heater configuration. Fixed typos and minor bugs. about 3 years ago
- bme68x.h Updated to v4.4.8. Fixed an indexing bug while getting heater configuration. Fixed typos and minor bugs. about 3 years ago
- bme68x_defs.h Updated to v4.4.8. Fixed an indexing bug while getting heater configuration. Fixed typos and minor bugs. about 3 years ago
- LICENSE Updated to v4.4.8. Fixed an indexing bug while getting heater configuration. Fixed typos and minor bugs. about 3 years ago
- README.md Added BME68x Sensor API and examples. over 5 years ago
Arduino library to simplify using Bosch Sensortec's BSEC2 library
8bce678
about 1 month ago
· 37 commits
- examples Add esp-idf example using platformio. over 1 year ago
- src Fix millis() datatype. over 1 year ago
- extra_script.py extra_script: Include fpu-floatabi in LIBPATH about 1 year ago
- keywords.txt Regression feature release over 2 years ago
- library.json Bumped version about 1 year ago
- library.properties Bumped version about 1 year ago
- LICENSE.md v1.6.2400 about 3 years ago
- README.md Revise BSEC license agreement details in README about 1 month ago
5edfc65
about 4 years ago
· 30 commits
- Documents Fixed formatting of examples over 4 years ago
- Hardware File Cleanup about 4 years ago
- Test Sketches Fixed formatting of examples over 4 years ago
- .gitignore Initial commit - add docs over 4 years ago
- LICENSE.md Create LICENSE.md about 4 years ago
- README.md Update README.md about 4 years ago
Related Tutorials
Free guides on learn.littlebird.com.au