Bosch Sensortec's BME680 and BME688 sensor API
BME680 is an integrated environmental sensor developed specifically for mobile applications and wearables where size and low power consumption are key requirements. Expanding Bosch Sensortec’s existing family of environmental sensors, the BME680 integrates for the first time high-linearity and high-accuracy gas, pressure, humidity and temperature sensors. It consists of an 8-pin metal-lid 3.0 x 3.0 x 0.93 mm³ LGA package which is designed for optimized consumption depending on the specific operating mode, long term stability and high EMC robustness. The gas sensor within the BME680 can detect a broad range of gases to measure air quality for personal well being. Gases that can be detected by the BME680 include Volatile Organic Compounds (VOC) from paints (such as formaldehyde), lacquers, paint strippers, cleaning supplies, furnishings, office equipment, glues, adhesives and alcohol.
- Air quality measurement
- Personalized weather station
- Context awareness, e.g. skin moisture detection, room change detection
- Fitness monitoring / well-being
- Warning regarding dryness or high temperatures
- Measurement of volume and air flow
- Home automation control (e.g. HVAC)
- GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
- Indoor navigation (change of floor detection, elevator detection)
- Altitude tracking and calories expenditure for sports activities
For more information, please refer to:
- BME680 Product page
- BME680 & BME688 Github page
- BME680 gas sensor design guide
- Knowledge base page
- Community support page
cd examples/forced_mode/
make
./forced_modeOutput example
./forced_mode
Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status
1, 79392299, 34.12, 101466.34, 23.68, 1387064.00, 0xa0
2, 79392451, 34.34, 101457.98, 23.72, 16913.32, 0xb0
3, 79392604, 34.89, 101462.57, 23.79, 15245.35, 0xb0
4, 79392756, 35.44, 101464.20, 23.85, 17728.53, 0xb0
5, 79392909, 35.86, 101458.32, 23.89, 20605.28, 0xb0
6, 79393062, 36.16, 101463.26, 23.90, 24279.21, 0xb0
7, 79393215, 36.41, 101467.37, 23.91, 27556.51, 0xb0
8, 79393363, 36.58, 101467.73, 23.89, 30910.41, 0xb0
9, 79393514, 36.74, 101460.72, 23.86, 34233.75, 0xb0
10, 79393666, 36.87, 101465.22, 23.83, 37746.98, 0xb0
11, 79393815, 36.96, 101461.39, 23.78, 41170.79, 0xb0
12, 79393967, 37.08, 101460.94, 23.74, 44153.16, 0xb0
13, 79394120, 37.15, 101464.67, 23.68, 48448.14, 0xb0cd examples/parallel_mode/
make
./parallel_modeOutput example
./parallel_mode
Print parallel mode data if mask for new data(0x80), gas measurement(0x20) and heater stability(0x10) are set
Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status, Gas index, Meas index
1, 79690039, 36.80, 101458.26, 24.46, 15590.74, 0xb0, 0, 4
2, 79690337, 36.77, 101465.91, 24.37, 407724.47, 0xb0, 1, 6
3, 79691675, 37.12, 101467.52, 23.78, 429800.62, 0xb0, 2, 16
4, 79695930, 37.61, 101471.03, 22.32, 513927.22, 0xb0, 3, 46
5, 79696525, 38.25, 101468.80, 22.22, 58115.78, 0xb0, 4, 51
6, 79697268, 38.69, 101472.42, 22.04, 57722.66, 0xb0, 5, 56
7, 79698012, 38.90, 101468.97, 21.85, 59493.38, 0xb0, 6, 61
8, 79698607, 39.24, 101469.76, 21.64, 26315.79, 0xb0, 7, 66cd examples/sequential_mode/
make
./sequential_modeOutput example
./sequential_mode
Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status, Profile index, Measurement index
1, 79762934, 41.91, 101471.10, 18.37, 5300550.00, 0xa0, 0, 0
2, 79763084, 41.28, 101471.51, 18.28, 4896593.00, 0xa0, 1, 1
3, 79763235, 40.77, 101482.89, 18.21, 4457018.50, 0xa0, 2, 2
4, 79763386, 40.38, 101478.95, 18.16, 4096000.00, 0xa0, 3, 3
5, 79763537, 40.10, 101472.23, 18.13, 3721944.50, 0xa0, 4, 4
6, 79763687, 39.91, 101479.33, 18.11, 3410491.25, 0xa0, 5, 5
7, 79763838, 39.74, 101476.79, 18.10, 3165378.75, 0xa0, 6, 6
8, 79763989, 39.61, 101469.60, 18.10, 2986511.00, 0xa0, 7, 7
9, 79764140, 39.50, 101468.59, 18.11, 2910124.25, 0xa0, 8, 8
10, 79764290, 39.41, 101472.56, 18.12, 2796859.00, 0xa0, 9, 9cd examples/self_test/
make
./self_testOutput example
./self_test
Self-test passed