Bosch Sensortec | BME680 Datasheet
1 | 50}
Modi fi cations reserved |Dat a subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
BME680 Datasheet
Document revision
1.1
Document release date
April 2019
Document number
BST-BME680-DS001-01
Technical reference code(s)
0 273 141 229; 0 273 141 312
Notes
Data and descriptions in this document are subject to change without
notice. Product photos and pictures are for illustration purposes only and
may differ from the real product appearance.
Bosch Sensortec | BME680 Datasheet
2 | 50}
Modi fi cations reserved |Dat a subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
BME680
Low power gas, pressure, temperature & humidity sensor
The BME680 is a digital 4-in-1 sensor with gas, humidity, pressure and temperature measurement based on
proven sensing principles. The sensor module is housed in an extremely compact metal-lid LGA package with a
footprint of only 3.0 × 3.0 mm² with a maximum height of 1.00 mm (0.93 ± 0.07 mm). Its small dimensions and its
low power consumption enable the integration in battery-powered or frequency-coupled devices, such as
handsets or wearables.
Typical applications
Indoor air quality
Home automation and control
Internet of things
Weather forecast
GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
Indoor navigation (change of floor detection, elevator detection)
Outdoor navigation, leisure and sports applications
Vertical velocity indication (rise/sink speed)
Target Devices
Handsets such as mobile phones, tablet PCs, GPS devices
Wearables
Home weather stations
Smart watches
Navigation systems
Gaming, e.g. flying toys
IOT devices
Bosch Sensortec | BME680 Datasheet
3 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Key features
Package 3.0 mm x 3.0 mm x 0.93 mm metal lid LGA
Digital interface I²C (up to 3.4 MHz) and SPI (3 and 4 wire, up to 10 MHz)
Supply voltage VDD main supply voltage range: 1.71 V to 3.6 V
VDDIO interface voltage range: 1.2 V to 3.6 V
Current consumption 2.1 µA at 1 Hz humidity and temperature
3.1 µA at 1 Hz pressure and temperature
3.7 µA at 1 Hz humidity, pressure and temperature
0.0912 mA for p/h/T/gas depending on operation mode
0.15 µA in sleep mode
Operating range -40+85 °C, 0100% r.H., 3001100 hPa
Individual humidity, pressure and gas sensors can be independently enabled/disabled
The product is RoHS compliant, halogen-free, MSL1
Key parameters for gas sensor
Response time 󰇛 󰇜 < 1 s (for new sensors)
Power consumption < 0.1 mA in ultra-low power mode
Output data processing direct indoor air quality (IAQ) index output
Key parameters for humidity sensor
Response time 󰇛 󰇜 ~8 s
Accuracy tolerance ±3% r.H.
Hysteresis ±1.5% r.H.
Key parameters for pressure sensor
RMS Noise 0.12 Pa, equiv. to 1.7 cm
Offset temperature coefficient ±1.3 Pa/K, equiv. to ±10.9 cm at 1 °C temperature change
Bosch Sensortec | BME680 Datasheet
4 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Table of contents
1. Specification 7
1.1 General Electrical Specification ...............................................................................................................................................7
1.2 Gas sensor specification............................................................................................................................................................8
1.3 Humidity sensor specification ................................................................................................................................................ 10
1.4 Pressure sensor specification.................................................................................................................................................11
1.5 Temperature sensor specification ......................................................................................................................................... 12
2. Absolute maximum ratings 13
3. Sensor usage 14
3.1 Sensor modes ........................................................................................................................................................................... 14
3.2 Sensor configuration................................................................................................................................................................ 15
3.2.1 Quick start............................................................................................................................................................................... 15
3.2.2 Sensor configuration flow.................................................................................................................................................... 16
3.3 Measurement flow .................................................................................................................................................................... 17
3.3.1 Temperature measurement................................................................................................................................................. 17
3.3.2 Pressure measurement ....................................................................................................................................................... 17
3.3.3 Humidity measurement........................................................................................................................................................ 17
3.3.4 IIR filter .................................................................................................................................................................................... 18
3.3.5 Gas sensor heating and measurement............................................................................................................................ 18
3.4 Data readout .............................................................................................................................................................................. 19
3.4.1 Gas resistance readout ....................................................................................................................................................... 19
3.5 Output compensation .............................................................................................................................................................. 19
4. Software and use cases 21
4.1 BSEC software.......................................................................................................................................................................... 21
4.2 Indoor-air-quality....................................................................................................................................................................... 23
5. Global memory map and register description 24
Bosch Sensortec | BME680 Datasheet
5 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.1 General remarks ....................................................................................................................................................................... 24
5.2 Memory map.............................................................................................................................................................................. 25
5.3 Register description ................................................................................................................................................................. 26
5.3.1 General control registers ..................................................................................................................................................... 26
5.3.2 TEMPERATURE, PRESSURE AND RELATIVE HUMIDITY CONTROL REGISTERS 27
5.3.4 DATA REGISTERS 32
5.3.5 STATUS REGISTERS 33
6. Digital interfaces 35
6.1 Interface selection .................................................................................................................................................................... 35
6.2 I²C Interface ............................................................................................................................................................................... 35
6.2.1 I²C WRITE 36
6.2.2 I²C RE AD 36
6.3 SPI interface .............................................................................................................................................................................. 37
6.3.1 SPI WRITE 37
6.3.2 SPI READ 38
6.4 Interface parameter specification.......................................................................................................................................... 38
6.4.1 General interface parameters ............................................................................................................................................ 38
6.4.2 I²C timings............................................................................................................................................................................... 39
6.4.3 SPI TIMINGS 40
7. Pin-out and connection diagram 41
7.1 Pin-out ......................................................................................................................................................................................... 41
7.2 Connection diagrams............................................................................................................................................................... 42
7.3 Package dimensions................................................................................................................................................................ 43
7.4 Landing pattern recommendation ......................................................................................................................................... 44
7.5 Marking ....................................................................................................................................................................................... 45
7.5.1 Mass production devices..................................................................................................................................................... 45
7.5.2 Engineering samples............................................................................................................................................................ 45
7.6 Soldering guidelines and reconditioning recommendations ........................................................................................... 46
7.7 Mounting and assembly recommendations........................................................................................................................ 46
7.8 Environmental safety ............................................................................................................................................................... 47
7.8.1 RoHS ....................................................................................................................................................................................... 47
7.8.2 Halogen content .................................................................................................................................................................... 47
Bosch Sensortec | BME680 Datasheet
6 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.8.3 Internal package structure................................................................................................................................................... 47
8. Legal disclaimer................................................................................................................................................................. 48
8.1 Engineering samples ............................................................................................................................................................... 48
8.2 Product use................................................................................................................................................................................ 48
8.3 Application examples and hints ............................................................................................................................................. 48
9. Document history and modifications................................................................................................................. 49
Bosch Sensortec | BME680 Datasheet
7 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
1. Specification
If not stated otherwise,
all values are valid over the full voltage range,
all minimum/maximum values are given for the full accuracy temperature range
minimum/maximum values of drifts, offsets and temperature coefficients are ±3 values over lifetime,
typical values of currents and state machine timings are determined at 25 °C,
minimum/maximum values of currents are determined using corner lots over complete temperature range, and
minimum/maximum values of state-machine timings are determined using corner lots over 0+65 °C temperature
range.
Besides the general electrical specifications, the following tables are separated for the gas, pressure, humidity and
temperature functions of the BME680.
1.1 General Electrical Specification
Table 1: Electrical parameter specification
OPERATING CONDITIONS BME680
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Supply Voltage
Internal Domains1
VDD
ripple max. 50 mVpp
1.71
1.8
3.6
V
Supply Voltage
I/O Domain
VDDIO
1.2
1.6
3.6
V
Sleep current
IDDSL
0.15
1
µA
Standby current
(inactive period of
normal mode)
IDDSB
0.29
0.8
µA
Current during
humidity
measurement
IDDH
Max value at 85 °C
340
450
µA
Current during
pressure
measurement
IDDP
Max value at -40 °C
714
849
µA
Current during
temperature
measurement
IDDT
Max value at 85 °C
350
µA
Start-up time
tstart up
Time to first communication
after both VDD > 1.58 V and
VDDIO > 0.65 V
2
ms
Power supply
rejection ratio (DC)
PSRR
full VDD range
±0.01
±5
%r.H./V
Pa/V
Standby time
accuracy
Δtstandby
±5
±25
%
1
The power effi ciency, performance and heat dissipation scales wi th the appl ied suppl y vol tage. The BME680 i s opti mi zed for 1.8 V.
Bosch Sensortec | BME680 Datasheet
8 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
1.2 Gas sensor specification
Table 2 lists the gas sensor specification. All the parameters are deduced from lab measurements under controlled
environmental conditions, which are compliant to the ISO16000-29 standard Test methods for VOC detectors”. Detailed
procedure to measure the gas sensor is available in the Application Note: Measurement Instructions for Lab Environment.
Referring to Chapter 4, a software solution (BSEC: Bosch Software Environmental Cluster) is available for the BME680. The
software is carefully engineered to seamlessly work with the 4-in-1 integrated sensors inside the BME680. Based on an
intelligent algorithm, the BSEC provides an indoor air quality (IAQ) output. In principle, this output is in an index that can have
values between 0 and 500 with a resolution of 1 to indicate or quantify the quality of the air available in the surrounding. Table
4 lists the IAQ system specification. The detailed classification and color coding of the IAQ index is described in Table 4.
Furthermore, the BSEC solution supports different operation modes for the gas sensor to address the necessary power
budget and update rate requirements of the end-application.
Unless mentioned otherwise, the specifications are deduced from new sensors that have been operated for at least five days
mainly in ambient air and consequently have the same history (i.e. same power mode and exposed to the same environment).
Besides ethanol (EtOH) as a target test gas, the sensors are also tested with breath-VOC (b-VOC). The b-VOC mixture, as
listed in Table 5, represents the most important compounds in an exhaled breath of healthy humans. The values are derived
from several publications on breath analysis studies. The composition does not contain species which would chemically react
to ensure that the mixture is stable for at least 6 months. Furthermore, the composition is also limited to species which can
be manufactured in one mixture.
Table 2: Gas sensor parameter specification
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Operational range1
-40
85
°C
10
95
% r.H.
Supply Current during
heater operation
IDD
Heater target temperature
320 °C, constant operation
(VDD 1.8 V, 25°C)
9
12
13
mA
Peak Supply Current
IPeak
Occurs within first ms of
switching on the hotplate
15
17
18
mA
Average Supply
Current
(VDD 1.8 V, 25°C)
IDD, IAQ
Ultra-low power mode
0.09
mA
Low power mode
0.9
mA
Continuous mode
12
mA
Response time2
(brand-new sensors)
τ33-63%
Ultra-low power mode
92
s
τ33-63%
Low power mode
1.4
s
τ33-63%
Continuous mode
0.75
s
Resolution of gas
sensor resistance
measurement
0.05
0.08
0.11
%
Noise in gas sensor
resistance (RMS)
NR
1.5
%
1 The sensors are electrically operable within this range. Actual performance may vary
2 Response ti me of unsol dered, brand -new sensors extracted from the sensors’ resi stance change in response to a 0. 660 ppm st ep of EtOH and a 0.515 ppm step of b-VOC at 20 °C, 50%
r.H. and atmospheric pressure.
Bosch Sensortec | BME680 Datasheet
9 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Table 3: IAQ system parameter specification
3
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Accuracy status4
AXIAQ
Android compatible
0
3
IAQ Resolution
IAQrs
1
IAQ Range
IAQrg
0
500
Sensor-to-sensor
deviation5
IAQS2S
All operation modes
±15%
±15
Durability to
siloxanes6,7,8
IAQS2S
Sensor-to-sensor deviation
±15%
±15
IAQdri f t
Drift at low & high
concentrations
±1%
±4
Table 4: Indoor air quality (IAQ) classification and color-coding
9
IAQ Index
Air Quality
0 50
good10
51 100
average
101 150
little bad
151 200
bad
201 300
worse2
301 500
very bad
Table 5: bVOC mixture with Nitrogen as carrier gas
Molar fraction
Compound
Production tolerance
Certified accuracy
5 ppm
Ethane
20 %
5 %
10 ppm
Isoprene /2-methyl-1,3 Butadiene
20 %
5 %
10 ppm
Ethanol
20 %
5 %
50 ppm
Acetone
20 %
5 %
15 ppm
Carbon Monoxide
10 %
2 %
3
IAQ parameters onl y appl y for the combi nation of BME680 together wi th the Bosch Sof t ware Envi ronmental Cluster (BSEC) sol ution (availabl e separatel y, see Chapter 4)
4
The accuracy status is equal to zero during the power-on stabi l ization times of the sensor and is equal to 3 when the sensor achieves best performance
5
Test ed wi th 0.690 ppm of EtOH at 540 °C, 2080% r. H. and atmospheri c pressure. Condition is valid after the calibration peri od of the BSEC al gorithm.
6
Si l oxanes are present i n a typical indoor environment and can i n principle perturb the metal-oxi de-based gas sensor performance.
7
220 hours of 700 mg/m3 of octamethyl cyclotetrasiloxane (D4) i n ambi ent conditions (i.e. 20 °C and 50% r.H. ) si mulates the amount of siloxanes i n a t ypical i ndoor envi ronment over more
than 10 years.
8
Test ed wi th 0.515 ppm of b-VOC at 20 °C and 50% r. H. usi ng cont inuous operation mode for 220 hours of 700 mg/m3 of octamethylcyclotetrasiloxane (D4).
9
Accordi ng to t he guidelines i ssued by the German Federal Environmental Agency, exceedi ng 25 mg/m3 of total VOC l eads to headaches and further neurot oxi c impact on health.
10
The BSEC software aut o-cal ibrates the low and high concentrations appl ied during testing to IAQ of 25 and 250, respect i vel y.
Bosch Sensortec | BME680 Datasheet
10 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
1.3 Humidity sensor specification
Table 6: Humidity parameter specification
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Operating Range11
-40
25
85
°C
0
100
% r.H.
Full accuracy range
0
65
°C
10
90
% r.H.
Supply Current
IDD, H
1 Hz forced mode,
temperature and humidity
measurement
2.1
2.8
µA
Absolute Accuracy
AH
2080 % r.H., 25 °C,
including hysteresis
±3
% r.H.
Hysteresis12
HH
109010 % r.H., 25°C
±1.5
% r.H.
Nonlinearity13
NLH
1090 % r.H., 25°C
1.7
% r.H.
Response time to
complete 63% of step14
τ0-63%
N2 (dry) 90 % r.H., 25°C
8
s
Resolution
RH
0.008
% r.H.
Noise in humidity
(RMS)
NH
Highest oversampling
0.01
% r.H.
Long-term stability
Hstab
1090 % r.H., 25°C
0.5
% r.H./
year
11
When exceedi ng the operat i ng range (e.g. for sol derin g), humidity sensing perf ormance i s temporarily degraded and reconditioning is recommended as described i n Sect i on 7.7. Operating
range onl y for non-condensi ng environment.
12
For hysteresi s measurement the sequence 0103050709070503010 % r.H. i s used. The hysteresi s is defined as the maximum difference between measurements at of
the same humi dity up / down branch and the averaged curve of both branches.
13
Non-l i near contributions to the sensor dat a are corrected during the cal culat ion of the relative humidity by the compensation for mulas described in Section 3. 5.
14
The ai r-f l ow in direction to the vent -hol e of the devi ce has to be di mensi oned i n a way that a suf ficient air exchange inside to out si de wi l l be possi bl e. To obser ve effects on the response
ti me-scal e of the devi ce an air-flow vel ocity of approximately 1 m/s is needed.
Bosch Sensortec | BME680 Datasheet
11 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
1.4 Pressure sensor specification
Table 7: Pressure parameter specification
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Operating temperature
range
TA
operational
-40
25
85
°C
full accuracy
0
65
Operating pressure
range
P
full accuracy
300
1100
hPa
Supply current
IDD,LP
1 Hz forced mode,
pressure and
temperature, lowest
power
3.1
4.2
µA
Temperature coefficient
of offset15
TCOP
2540 °C, 900 hPa
±1.3
Pa/K
±10.9
cm/K
Absolute accuracy
pressure
Ap, ful l
300‒1100 hPa
0‒65°C
±0.6
hPa
Relative accuracy
pressure
Arel
700900hPa,
25‒40 °C, at constant
humidity
±0.12
hPa
Arel
900‒1100hPa
25‒40 °C, at constant
humidity
±0.12
hPa
Resolution of
pressure output data
RP
Highest oversampling
0.18
Pa
Noise in pressure
NP, ful lBW
Full bandwidth, highest
oversampling
1.4
Pa
11
cm
Reduced bandwidth, highest
oversampling
0.2
Pa
1.7
cm
Solder drift
Minimum solder height 5m
-0.5
1.2
+2.0
hPa
Long-term stability16
Pstab
per year
±1.0
hPa
Possible sampling rate
fsampl e_P
Lowest oversampling,
see chapter 3.3.2
157
182
Hz
15
When changi ng temperature from 25 °C to 40 °C at constant pressure / al titude, the measured pressure / al titude will change by (1TCOP).
16
Long-term stabi lity is speci fied in the full accuracy operating pressure range 065 °C
Bosch Sensortec | BME680 Datasheet
12 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
1.5 Temperature sensor specification
Table 8: Temperature parameter specification
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Operating temperature
range
TA
operational
-40
25
85
°C
Supply current
IDD,T
1 Hz forced mode,
temperature measurement
only
1.0
µA
Absolute accuracy
temperature17
AT,25
25 °C
±0.5
°C
AT,ful l
065 °C
±1.0
°C
Output resolution
RT
API output resolution
0.01
°C
RMS noise
NT
Lowest oversampling
0.005
°C
17
Temperat ure measured by the i nt ernal temperature sensor. This temperat ure value depends on the PCB temperature, sensor el emen t sel f-heating and ambient temperature and is typically
above ambi ent temperature.
Bosch Sensortec | BME680 Datasheet
13 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
2. Absolute maximum ratings
The absolute maximum ratings are determined over the complete temperature range using corner lots. The values are
provided in Table 9.
Table 9: Absolute maximum ratings
Parameter
Condition
Min
Max
Unit
Voltage at any supply pin
VDD and VDDI O pin
-0.3
4.25
V
Voltage at any interface pin
-0.3
VDDIO + 0.3
V
Storage temperature
65% r.H.
-45
+85
°C
Pressure
0
20 000
hPa
ESD
HBM, at any pin
±2
kV
Machine model
±200
V
Condensation
No power supplied
Allowed
Bosch Sensortec | BME680 Datasheet
14 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
3. Sensor usage
3.1 Sensor modes
The sensor supports low-level power modes: sleep and forced mode. These modes can be selected using the mode<1:0>
control register (see Section 5.3.1.3). The key differences between the modes are summarized in Table 10.
After a power-up sequence, the sensor automatically starts in sleep mode. If the device is currently performing a
measurement, execution of mode switching commands is delayed until the end of the currently running measurement period.
It is important to note that, further mode change commands or other write commands to the control registers are ignored until
the mode change command has been executed. All control registers should be set to the desired values before writing to the
mode register.
Table 10: Low-level operation modes
Operation mode
mode<1:0>
Key features
Sleep
00
No measurements are performed
Minimal power consumption
Forced mode
01
Single TPHG cycle is performed
Sensor automatically returns to sleep mode afterwards
Gas sensor heater only operates during gas measurement
In forced mode, temperature, pressure, humidity and gas conversion are performed sequentially. Such a measurement cycle
is abbreviated as TPHG (Temperature, Pressure, Humidity and Gas) in the following descriptions. Up to 10 temperature set-
points and heating durations for the gas sensor hot plate can be stored in the sensor registers. In the following, these set-
points and the corresponding measurements are identified as G0 G9.Figure 1 illustrates the handling of these measurement
sequences and the gas sensor hot plate is heated for the forced mode.
Figure 1: Sequence of ADC and gas sensor heater operation
Bosch Sensortec | BME680 Datasheet
15 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
3.2 Sensor configuration
3.2.1 Quick start
The sensor is configured by writing to a set of control registers (see Chapter 5 for a detailed list of all available registers and
their descriptions). This section illustrates, with the help of a basic step-by-step example, how to configure the sensor for
simple forced mode measurements with a single heater set-point. For a more detailed description of the measurement flow,
please refer to Section 3.3.
In this example, the sensor will be configured to use 2x oversampling for its temperature measurements , 16x oversampling
for the pressure signal, and 1x oversampling for humidity. Moreover, the gas sensor hot plate will be configured to be heated
for 100 ms at 300 °C before the gas measurement is performed.
First, the user must configure the oversampling settings for temperature, pressure and humidity by setting the control
registers osrs_t<2:0> and osrs_h<2:0>, respectively. Supported settings range from 16x oversampling down to 0x, which is
equivalent to skipping the corresponding sub-measurement. See Section 5.3.2 for further details.
1. Set humidity oversampling to 1x by writing 0b001 to osrs_h<2:0>
2. Set temperature oversampling to 2x by writing 0b010 to osrs_t<2:0>
3. Set pressure oversampling to 16x by writing 0b101 to osrs_p<2:0>
It is highly recommended to set first osrs_h<2:0> followed by osrs_t<2:0> and osrs_p<2:0> in one write command (see
Section 3.3).
Next, the user shall set at least one gas sensor hot plate temperature set-point and heating duration. Up to 10 heating
duration can be configured through the control registers gas_wait_x<7:0>, where x ranges from 0 to 9. See Section 5.3.3 for
definition of register content. The corresponding heater set-points are stored in the registers res_heat_x<7:0>. Section 3.3.5
explains how to convert the target heater temperature, e.g. 300 °C, into a register code. For forced mode operation, the used
heater set point is selected by setting the control register nb_conv<3:0> to the heater profile to be used, e.g. to use
gas_wait_0<7:0> and res_heat_0<7:0>, nb_conv<3:0> shall be set to 0x0. Finally, gas functionality shall be enabled by
setting the run_gas_l bit to 1.
4. Set gas_wait_0<7:0> to 0x59 to select 100 ms heat up duration
5. Set the corresponding heater set-point by writing the target heater resistance to res_heat_0<7:0>
6. Set nb_conv<3:0> to 0x0 to select the previously defined heater settings
7. Set run_gas_l to 1 to enable gas measurements
Now, a single forced mode measurement with the above settings can be triggered by writing 0b01 to mode<1:0>. For more
details on data readout, please see Section 5.3.1.3.
8. Set mode<1:0> to 0b01 to trigger a single measurement.
Bosch Sensortec | BME680 Datasheet
16 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
3.2.2 Sensor configuration flow
Picture 2 illustrates which control registers must be set. For details on the individual control registers, please refer to
Chapter 5. Moreover, details on the measurement flow for the individual modes can be found in Section 3.3.
Picture 2: Sensor configuration flow
Forced Mode
Select oversampling for T, P and H
Set osrs_x<2:0>
Select IIR filter for t emperature sensor
Set filter<2:0>
Enable gas coversion
Set run_gas to 1
Select index of heat er set -point
Set nb_conv <3:0> (indexing is zero-based)
Define heat er-on t ime
Convert duration to register code
Set gas_wait_x<7:0> (time base unit is ms)
Set heat er t emperature
Convert temperature to register code
Set res_heat_x<7:0>
Set mode t o forced mode
Set mode<1:0> to 0b01
Bosch Sensortec | BME680 Datasheet
17 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
3.3 Measurement flow
Referring to Figure 1, the BME680 measurement period consists of a temperature, pressure and humidity measurement
with selectable oversampling. Moreover, it contains a heating phase for the gas sensor hot plate as well as a measurement
of the gas sensor resistance.
After the measurement period, the pressure and temperature data can be passed through an optional IIR filter, which removes
short-term fluctuations. For humidity and gas, such a filter is not needed and has not been implemented.
3.3.1 Temperature measurement
Temperature measurement can be enabled or skipped. Skipping the measurement is typically not recommended since
temperature information is used to compensate temperature influences in the other parameters. When enabled, several
oversampling options exist. The temperature measurement is controlled by the osrs_t<2:0> setting which is detailed in
Section 5.3.2.2. For the temperature measurement, oversampling is possible to reduce the noise. The resolution of the
temperature data depends on the IIR filter (see Section 5.3.2.4) and the oversampling setting:
When the IIR filter is enabled, the temperature resolution is 20 bit
When the IIR filter is disabled, the temperature resolution is 16 + (osrs_t 1) bit, e.g. 18 bit when osrs_t is set to ‘3’
3.3.2 Pressure measurement
Pressure measurement can be enabled or skipped. When enabled, several oversampling options exist. The pressure
measurement is controlled by the osrs_p<2:0> setting which is detailed in S ection 5.3.2. For the pressure measurement,
oversampling is possible to reduce noise. The resolution of the pressure data depends on the IIR filter (see Section 5.3.2.4)
and the oversampling setting:
When the IIR filter is enabled, the pressure resolution is 20 bit
When the IIR filter is disabled, the pressure resolution is 16 + (osrs_p 1) bit, e.g. 18 bit when osrs_p is set to ‘3’
3.3.3 Humidity measurement
The humidity measurement can be enabled or skipped. When enabled, several oversampling options exist. The humidity
measurement is controlled by the osrs_h<2:0> setting, which is described in detail in Section 5.3.2.1. For the humidity
measurement, oversampling is possible to reduce noise. The resolution of the humidity measurement is fixed at 16 bit ADC
output.
Bosch Sensortec | BME680 Datasheet
18 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
3.3.4 IIR filter
The environmental pressure is subject to many short-term changes, caused external disturbances. To suppress disturbances
(e.g. slamming of door or wind blowing into the sensor) in the output data without causing additional interface traffic and
processor work load, the BME680 features an internal IIR filter (see Section 5.3.2.4). It effectively reduces the bandwidth of
the temperature and pressure output signals and increases the resolution of the output data to 20 bit, noting that the humidity
and gas values inside the sensor does not fluctuate rapidly and does not require low pass filtering. The output of a next
measurement step is filtered using the following formula:
󰇟󰇠 󰇟 󰇠󰇛 󰇜 

󰇟 󰇠 is the data coming from the current filter memory, and is the data coming from current ADC acquisition.
󰇟󰇠 denotes the new value of filter memory and the value that will be sent to the output registers.
The IIR filter can be configured to different filter coefficients, which slows down the response to the sensor inputs. Note that
the response time with enabled IIR filter depends on the number of samples generated, which means that the data output
rate must be known to calculate the actual response time.
When writing to the register filter, the filter is reset. The next ADC values will pass through the filter unchanged and become
the initial memory values for the filter. If temperature or pressure measurements are skipped, the corresponding filter memory
will be kept unchanged even though the output registers are set to 0x80000. When the previously skipped measurement is
re-enabled, the output will be filtered using the filter memory from the last time when the measurement was not skipped. If
this is not desired, please write to the filter register in order to re-initialize the filter.
3.3.5 Gas sensor heating and measurement
The operation of the gas sensing part of BME680 involves two steps:
1. Heating the gas sensor hot plate to a target temperature (typically between 200 °C and 400 °C) and keep that
temperature for a certain duration of time.
2. Measuring the resistance of the gas sensitive layer.
Up to 10 different hot plate temperature set points can be configured by setting the registers res_heat_x<7:0>, where x =
0…9 .The internal heater control loop operates on the resistance of the heater structure. Hence, the user first needs to
convert the target temperature into a device specific target resistance before writing the resulting register code into the sensor
memory map.
The following code will calculate register code that to be written to res_heat_x<7:0>. Nevertheless, it is recommended to use
the sensor API available on github (Chapter 4) for a friendlier user experience.
var1 = ((double)par_g1 / 16.0) + 49.0;
var2 = (((double)par_g2 / 32768.0) * 0.0005) + 0.00235;
var3 = (double)par_g3 / 1024.0;
var4 = var1 * (1.0 + (var2 * (double) target_temp));
var5 = var4 + (var3 * (double)amb_temp);
res_heat_x = (uint8_t)(3.4 * ((var5 * (4.0 / (4.0 + (double)res_heat_range)) * (1.0/(1.0 +
((double)res_heat_val * 0.002)))) - 25));
where
par_g1, par_g2, and par_g3 are calibration parameters,
target_temp is the target heater temperature in degree Celsius,
amb_temp is the ambient temperature (hardcoded or read from temperature sensor),
var5 is the target heater resistance in Ohm,
res_heat_x is the decimal value that needs to be stored in register, where xcorresponds to the temperature profile
number between 0 and 9,
res_heat_range is the heater range stored in register address 0x02 <5:4>, and
res_heat_val is the heater resistance correction factor stored in register address 0x00 (signed, value from -128 to
127).
Bosch Sensortec | BME680 Datasheet
19 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Table 11: Variable names and register addresses for res_heat_x calculation
Variable name
Register address (LSB / MSB)
par_g1
0xED
par_g2
0xEB/0xEC
par_g3
0xEE
res_heat_range
0x02 <5:4>
res_heat_val
0x00
For each of the 10 temperature set-points, the heating duration must be specified. Referring to Figure 1, the heating phase
starts after the temperature, pressure and humidity measurements are complete. This means there is no heating in parallel
to these measurements, which is desirable to minimize undesired cross-influences between the various sensor components.
The heating duration is specified by writing to the corresponding gas_wait_x<7:0> control register. Heating durations
between 1 ms and 4032 ms can be configured. In practice, approximately 20–30 ms are necessary for the heater to reach
the intended target temperature.
3.4 Data readout
The procedure goes as follows, the new_data_x bit (see Section 5.3.5.1) can be checked to see if a new data is generated.
If gas measurements are performed the gas_valid_r (see Section 5.3.5.5) and heat_stab_r (see Section 5.3.5.6) status bits
of the respectively field should be checked to ensure that the gas measurement was successful. If heat_stab_r is zero, it
indicates that either the heating time was not sufficient to allow the sensor to reach to configured target temperature or that
the target temperature was too high for the sensor to reach.
After the uncompensated values of temperature, pressure and humidity have been read, the actual humidity, pressure and
temperature need to be calculated using the compensation parameters stored in the device. Please refer to the BME6xy API
for more details.
3.4.1 Gas resistance readout
Readout of gas resistance ADC value and calculation of gas resistance consists of 3 steps
1. Read gas ADC value (gas_r) and gas ADC range (gas_range_r) (see Section 5.3.4)
2. Read range switching error from register address 0x04 <7:4> (signed 4 bit)
3. Convert ADC value into gas resistance in ohm
The conversion is done as follows:
var1 = (1340.0 + 5.0 * range_switching_error) * const_array1[gas_range];
gas_res = var1 * const_array2[gas_range] / (gas_r - 512.0 + var1);
3.5 Output compensation
The BME680 output consists of the ADC output values. However, each sensing element behaves differently. Therefore, the
actual humidity, pressure and temperature must be calculated using a set of calibration parameters. This is implemented in
the BME6xy API.
Bosch Sensortec | BME680 Datasheet
20 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Table 12: List of gas ranges and corresponding constants used for the resistance calculation
gas_range
Constants (to be integrated in the driver)
const_array1
const_array2
0
1
8000000
1
1
4000000
2
1
2000000
3
1
1000000
4
1
499500.4995
5
0.99
248262.1648
6
1
125000
7
0.992
63004.03226
8
1
31281.28128
9
1
15625
10
0.998
7812.5
11
0.995
3906.25
12
1
1953.125
13
0.99
976.5625
14
1
488.28125
15
1
244.140625
Bosch Sensortec | BME680 Datasheet
21 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
4. Software and use cases
4.1 BSEC software
BME680 sensor is intended to be used together with Bosch Software Environmental Cluster (BSEC) solution and BME6xy
sensor API to unlock its full potential. The BSEC software features intelligent algorithms which enable use cases such as
indoor-air-quality monitoring using the BME680.
Bosch Sensortec BSEC software is available as a closed source binary which will be made available via a Software License
Agreement (SLA) on the Bosch Sensortec website (https://www.bosch-sensortec.com/bst/products/all_products/BSEC).
Sensor API covers basic sensor communication and data compensation functions and is available as open-source code from
Github (https://github.com/BoschSensortec/BME680_driver).
The key features of the hardware-software system are:
Calculation of ambient air temperature outside of the device (e.g. phone)
Calculation of ambient relative humidity outside of the device
Calculation of indoor air quality (IAQ) level outside of the device
Moreover, the software algorithms handle humidity compensation, baseline as well as long-term drift correction of the gas
sensor signal.
Different power modes for the gas sensor and corresponding data rates are supported by the software solution:
Ultra low power (ULP) mode that is designed for battery-powered and/or frequency-coupled devices over extended
periods of time. This mode features an update rate of 300 seconds and an average current consumption of <0.1 mA
Low power (LP) mode that is designed for interactive applications where the indoor-air-quality is tracked and
observed at a higher update rate of 3 seconds with a current consumption of <1 mA
Continuous (CONT) mode provides an update rate of 1 Hz and shall only be used for use cases that incorporate
very fast events or stimulus
Table 13: BSEC gas sensor power-modes
BSEC power mode
Update rate
Average current consumption
Ultra-low power mode (ULP)
3.3 mHz
0.09 mA
Low power mode (LP)
0.33 Hz
0.9 mA
Continuous mode (for testing purposes
only)
1 Hz
12 mA
BSEC is available in two main variants called solutions: IAQ and ALL solution.
IAQ solution is intended for customers wishing to measure indoor-air-quality, temperature, humidity, and pressure in
embedded devices. IAQ solution can be downloaded from the Bosch Sensortec website (https://www.bosch-
sensortec.com/bst/products/all_products/BSEC).
ALL solution contains the same features as IAQ solution but also includes more complex ambient temperature and humidity
estimation algorithms that will improve temperature and humidity performance in devices that contain many dynamic heat
sources in their design. Such devices are, for example, smartphones containing displays, flashlights, large batteries and
powerful microprocessors. As these advanced algorithms require tailoring to optimize them to a given customer design,
please contact your local Bosch Sensortec representative for support.
The following table describes the available outputs of BSEC. Full descriptions of the outputs and the available interfaces are
available in the integration guide shipped together with the BSEC software.
Bosch Sensortec | BME680 Datasheet
22 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Table 14: BSEC outputs
Output
Included in
solution
Description
IAQ
ALL
Raw pressure
Raw data from sensor API bypassed to BSEC output
Raw temperature
Raw data from sensor API bypassed to BSEC output
Raw relative humidity
Raw data from sensor API bypassed to BSEC output
Raw gas resistance
Raw data from sensor API bypassed to BSEC output
Sensor-compensated
temperature
Temperature which is compensated for internal cross-
influences caused by the BME sensor
Sensor-compensated relative
humidity
Relative humidity which is compensated for internal cross-
influences caused by the BME sensor
Ambient temperature
Ambient temperature after compensating the influence of
device (where BME680 is integrated in) heatsources
Ambient relative humidity
Ambient relative humidity after compensating influence of
device (where BME680 is integrated in) heatsources
IAQ (0-500)
Indoor-air-quality
Accuracy status
Accuracy status of IAQ, ambient termpature/humidity
Stabilization time status
Indicates if the sensor is undergoing initial stabilization during
its first use after production
Run in status
Indicates when the sensor is ready after after switch-on
Bosch Sensortec | BME680 Datasheet
23 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
4.2 Indoor-air-quality
BME680 is a metal oxide-based sensor that detects VOCs by adsorption (and subsequent oxidation/reduction) on its
sensitive layer. Thus, BME680 reacts to most volatile compounds polluting indoor air (one exception is for instance CO2). In
contrast to sensors selective for one specific component, BME680 is capable of measuring the sum of VOCs/contaminants
in the surrounding air. This enables BME680 to detect e.g. outgassing from paint, furniture and/or garbage, high VOC levels
due to cooking, food consumption, exhaled breath and/or sweating.
As a raw signal, BME680 will output resistance values and its changes due to varying VOC concentrations (the higher the
concentration of reducing VOCs, the lower the resistance and vice versa). Since this raw signal is influenced by parameters
other than VOC concentration (e.g. humidity level), the raw values are transformed to an indoor air quality (IAQ) index by
smart algorithms inside BSEC.
The IAQ scale ranges from 0 (clean air) to 500 (heavily polluted air). During operation, the algorithms automatically calibrate
and adapt themselves to the typical environments where the sensor is operated (e.g., home, workplace, inside a car, etc.).
This automatic background calibration ensures that users experience consistent IAQ performance. The calibration process
considers the recent measurement history (typ. up to four days) to ensure that IAQ ~ 25 corresponds to typical goodair
and IAQ ~ 250 indicatestypical pollutedair.
Bosch Sensortec | BME680 Datasheet
24 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5. Global memory map and register description
5.1 General remarks
Communication with the device is performed by reading from and writing to registers. Registers have a width of 8 bits. If I2C
is used, 8-bit addressing is utilized. If SPI is used, 7-bit address is only available for register access. For details on the
interface, consult Chapter 6.
In SPI mode complete memory map is accessed using page 0 and page 1. Register spi_mem_page is used for page selection.
After power-on, spi_mem_page is in its reset state and page 0 (0x80 to 0xFF) will be active. Page 1 (0x00 to 0x7F) will be
active on setting spi_mem_page to 1.
Global memory map consists of calibration registers, control registers, data registers, status registers and reserved registers.
There are, however, several registers which are reserved. Accordingly, they should not be written to and no specific value is
guaranteed when they are read.
Table 15: Memory map page selection
Digital Interface
Register address range
Register spi_mem_page
Memory Page
I2C
0x00 to 0xFF
Not Applicable
Not Applicable
SPI
0x80 to 0xFF
0 (default; power on state)
Page 0
SPI
0x00 to 0x7F
1
Page 1
Bosch Sensortec | BME680 Datasheet
25 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.2 Memory map
The memory map is given in Table 16, noting that not all reserved registers are depicted.
Table 16: Memory map
Register name
I2C
SPI
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit2
Bit 1
Bit 0
Reset stat e
Adr
Adr
Pg
status
73h
73h
1
spi_mem_page
01h
Reset
E0h
60h
0
reset<7:0>
00h
Id
D0h
50h
0
chip_id<7:0>
61h
Config
75h
75h
1
filter<2:0>
spi_3w_en
00h
Ctrl_meas
74h
74h
1
osrs_t<2:0>
osrs_p<2:0>
mode<1:0>
00h
Ctrl_hum
72h
72h
1
spi_3w_int_en
osrs_h<2:0>
00h
Ctrl_gas_1
71h
71h
1
run_gas
nb_conv<3:0>
00h
Ctrl_gas_0
70h
70h
1
heat_off
00h
Gas_wait_x
6Dh…64h
6Dh…64h
1
gas_wait_9<7:0> downto gas_wait_0<7:0>
00h
Res_heat_x
63h…5Ah
63h…5Ah
1
res_heat_9<7:0> downto res_heat_0<7:0>
00h
Idac_heat_x
59h…50h
59h…50h
1
idac_heat_9<7:0> downto idac_heat_0<7:0>
00h
gas_r_lsb
2Bh
2Bh
1
gas_r<1:0>
gas_valid_r
heat_stab_r
gas_range_r
00h
gas_r_msb
2Ah
2Ah
1
gas_r<9:2>
00h
hum_lsb
26h
26h
1
hum_lsb< 7:0>
00h
hum_msb
25h
25h
1
hum_msb<7:0>
80h
temp_xlsb
24h
24h
1
temp_xlsb<7:4>
0
0
0
0
00h
temp_lsb
23h
23h
1
temp_lsb< 7:0>
00h
temp_msb
22h
22h
1
temp_msb<7:0>
80h
press_xlsb
21h
21h
1
press_xlsb< 7:4>
0
0
0
0
00h
press_lsb
20h
20h
1
press_lsb< 7:0>
00h
press_msb
1Fh
1Fh
1
press_msb<7:0>
80h
eas_status_0
1Dh
1Dh
1
new_data_0
gas_measuring
measuring
gas_meas_index _0<3: 0>
00h
Registers
Color/Type
Reserved
Do not change
Sta tus register
Rea d only
Da ta register
Rea d only
Control register
Rea d/write
Bosch Sensortec | BME680 Datasheet
26 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3 Register description
5.3.1 General control registers
5.3.1.1 SPI 3 wire interrupt enable spi_3w_int_en
Register Name
Address
Content<bit position>
Description
ctrl_hum
0x72
spi_3w_int_en <6>
New data interrupt can be enabled if the device is in
SPI 3 wire mode and pi_3w_int_en=1.
The new data interrupt is then indicated on the SDO
pad.
5.3.1.2 SPI 3 wire enable spi_3w_en
Register Name
Address
Content<bit position>
Description
config
0x75
spi_3w_en<0>
Enable SPI 3 wire mode
5.3.1.3 Mode Selection mode
The operation modes of the sensor can be controlled by the register mode as specified below.
Register Name
Address
Content<bit position>
Description
ctrl_meas
0x74
mode<1:0>
Select sensor power mode as shown in the following
table
mode<1:0>
Mode
00
Sleep mode
01
Forced mode
5.3.1.4 SPI memory map page selection spi_mem_page
In SPI mode complete memory page is accessed using page 0 & page 1. Register spi_mem_page is used for page selection.
After power-on, spi_mem_page is in its reset state and page 0(0x00 to 0x7F) will be active. Page1 (0x7F to 0xFF) will be
active on setting spi_mem_page. Please refer Table 15 for better understanding.
Register Name
Address
Content<bit position>
Description
status
0x73(Page 0/1)
spi_mem_page <4>
Selects memory map page in SPI mode
Bosch Sensortec | BME680 Datasheet
27 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.1.5 Reset reset
Writing 0xB6 to this register initiates a soft-reset procedure, which has the same effect like power-on reset. The default
value stored in this register is 0x00.
Register Name
Address
Content<bit position>
Description
reset
0x60 (Page 0 in SPI mode)
0xE0 in I2C
reset<7:0>
Resets the device
5.3.1.6 Chip id chip_id
Register Name
Address
Content<bit position>
Description
Id
0x50(Page 0 in SPI mode)
0xD0 in I2C
chip_id<7:0>
Chip id of the device
5.3.2 Temperature, pressure and relative humidity control registers
5.3.2.1 Humidity sensor over sampling control – osrs_h
Register Name
Address
Content<bit position>
Description
ctrl_hum
0x72
osrs_h<2:0>
Controls over sampling setting of humidity
sensor as described in the following table
osrs_h<2:0>
Humidity oversampling
000
Skipped (output set to 0x8000)
001
oversampling ×1
010
oversampling ×2
011
oversampling ×4
100
oversampling ×8
101, Others
oversampling ×16
5.3.2.2 Over sampling setting Temperature data osrs_t
Register Name
Address
Content<bit position>
Description
ctrl_meas
0x74
osrs_t<7:5>
Temperature oversampling settings as shown
in the following table
osrs_t<2:0>
Temperature oversampling
000
Skipped (output set to 0x8000)
001
oversampling ×1
010
oversampling ×2
011
oversampling ×4
100
oversampling ×8
101, Others
oversampling ×16
Bosch Sensortec | BME680 Datasheet
28 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.2.3 Over sampling setting Pressure data osrs_p
Register Name
Address
Content<bit position>
Description
ctrl_meas
0x74
osrs_p<4:2>
Pressure oversampling settings as shown in
the following table
osrs_p<2:0>
Pressure oversampling
000
Skipped (output set to 0x8000)
001
oversampling ×1
010
oversampling ×2
011
oversampling ×4
100
oversampling ×8
101, Others
oversampling ×16
5.3.2.4 IIR filter control filter
IIR filter applies to temperature and pressure data but not to humidity and gas data. The data coming from the ADC are
filtered and then loaded into the data registers. The temperature and pressure result registers are updated together at the
same time at the end of the measurement. IIR filter output resolution is 20 bits. The result registers are reset to value 0x80000
when the temperature and/or pressure measurements have been skipped (osrs_x=”000). The appropriate filter memory is
kept unchanged (the value from the last measurement is kept). When the appropriate OSRS register is set back to nonzero,
then the first value stored to the result registers are filtered.
Register Name
Address
Content<bit position>
Description
config
0x75
filter<4:2>
IIR filter settings as shown in the following
table
filter<2:0>
Filter coefficient
000
0
001
1
010
3
011
7
100
15
101
31
110
63
111
127
Bosch Sensortec | BME680 Datasheet
29 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.3 Gas control registers
The sensor can have 10 programmable gas sensor heater set-points. A set-point consists of a target heater resistance,
heater-on time and optionally an initial heater current.
5.3.3.1 Heater current - idac_heat_x
BME680 contains a heater control block that will inject enough current into the heater resistance to achieve the requested
heater temperature. There is a control loop which periodically measures heater resistance value and adapts the value of
current injected from a DAC.
The heater operation could be speeded up by setting an initial heater current for a target heater temperature by using
register idac_heat_x<7:0>. This step is optional since the control loop will find the current after a few iterations anyway. The
current injected to the heater in mA can be calculated by: (idac_heat_7_1 + 1) / 8, where idac_heat_7_1 is the decimal
value stored in idac_heat<7:1> (unsigned, value from 0 to 127).
Heater set-
point
Register name
Address
Content
Description
0...9
idac_heat_x
x is from 0 to 9
0x50…0x59
idac_heat_x<7:0>
x is from 0 to 9
idac_heat of particular heater
set point
5.3.3.2 Target heater resistance - res_heat_x
Target heater resistance is programmed by user through res_heat_x<7:0> registers. The definition of res_heat_x is given in
Section 3.3.5.
Heater set-point
Register name
Address
Content
Description
0...9
res_wait_x
x is from 0 to 9
0x5A…0x63
res_heat_x<7:0>
x is from 0 to 9
Decimal value that needs to be
stored for achieving target
heater resistance
Bosch Sensortec | BME680 Datasheet
30 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.3.3 Gas Sensor wait time - gas_wait_x
Referring to Figure 1, the time between the beginning of the heat phase and the start of gas sensor resistance conversion
depends on gas_wait_x setting as mentioned below.
Heater set-point
Register name
Address
Content
Description
0...9
gas_wait_x
x is from 0 to 9
0x64…0x6D
gas_wait_x<5:0>
x is from 0 to 9
64 timer values with
1 ms step sizes, all zeros
means no wait
0...9
gas_wait_x
x is from 0 to 9
0x64…0x6D
gas_wait_x<7:6>
x is from 0 to 9
Please refer to the table below
for settings
gas_wait_x<7:6>
Gas sensor wait time multiplication factor
00
1
01
4
10
16
11
64
5.3.3.4 Heater off - heat_off
Register Name
Address
Content<bit
position>
Description
ctrl_gas_0
0x70
heat_off <3>
Turn off current injected to heater by setting bit to
one
Bosch Sensortec | BME680 Datasheet
31 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.3.5 Heater profile selection - nb_conv
nb_conv is used to select heater set-points of the sensor. The different heater set-points are described in the sections above.
Register Name
Address
Content<bit position>
Description
ctrl_gas_1
0x71
nb_conv<3:0>
Indicates index of heater set point that will be
used in forced mode as describe in below table
nb_conv<3:0>
Heater profile set-point
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
5.3.3.6 Run Gas - run_gas
Register Name
Address
Content<bit position>
Description
ctrl_gas_1
0x71
run_gas<4>
The gas conversions are started only in
appropriate mode if run_gas = 1’
Bosch Sensortec | BME680 Datasheet
32 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.4 Data registers
In this section, the data registers for the temperature, pressure, humidity and gas sensors are explained. Shadowing
registers are utilized to buffer the data and to ensure stable data in case an update of the data registers occurs
simultaneously with the serial interface reading out.
5.3.4.1 Pressure data
Register Name
Address
Content<bit position>
Description
press_msb
0x1F
press_msb<7:0>
Contains the MSB part [19:12] of the raw
pressure measurement output data.
press_lsb
0x20
press_lsb<7:0>
Contains the LSB part [11:4] of the raw pressure
measurement output data
press_xlsb
0x21
press_xlsb<7:4>
Contains the XLSB part [3:0] of the raw pressure
measurement output data. Contents depend on
pressure resolution controlled by oversampling
setting.
5.3.4.2 Temp data
Register Name
Address
Content<bit position>
Description
temp_msb
0x22
temp_msb<7:0>
Contains the MSB part [19:12] of the raw
temperature measurement output data.
temp_lsb
0x23
temp_lsb<7:0>
Contains the LSB part [11:4] of the raw
temperature measurement output data.
temp_xlsb
0x24
temp_xlsb<7:4>
Contains the XLSB part [3:0] of the raw
temperature measurement output data. Contents
depend on temperature resolution controlled by
oversampling setting.
5.3.4.3 Humidity data
Register Name
Address
Content<bit position>
Description
hum_msb
0x25
hum_msb<7:0>
Contains the MSB part [15:8] of the raw humidity
measurement output data.
hum_lsb
0x26
hum_lsb<7:0>
Contains the LSB part [7:0] of the raw humidity
measurement output data.
5.3.4.4 Gas resistance data
Register Name
Address
Content<bit position>
Description
gas_r_msb
0x2A
gas_r<7:0>
Contains the MSB part gas resistance [9:2] of the
raw gas resistance.
gas_r_lsb
0x2B
gas_r<7:6>
Contains the LSB part gas resistance [1:0] of the
raw gas resistance.
5.3.4.5 Gas resistance range
Register Name
Address
Content<bit position>
Description
gas_r_lsb
0x2B
gas_range_r<3:0>
Contains ADC range of measured gas resistance.
Bosch Sensortec | BME680 Datasheet
33 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.5 Status registers
5.3.5.1 New data status
The measured data are stored into the output data registers at the end of each TPHG conversion phase along with status
flags and index of measurement.
Register Name
Address
Content<bit position>
Description
meas_status_0
0x1D
new_data_0<7>
New data flag
5.3.5.2 Gas measuring status
Measuring bit is set to “1 only during gas measurements, goes to “0 as soon as measurement is completed and data
transferred to data registers. The registers storing the configuration values for the measurement (gas_wait_shared,
gas_wait_x, res_heat_x, idac_heat_x, image registers) should not be changed when the device is measuring.
Register Name
Address
Content<bit position>
Description
meas_status_0
0x1D
gas_measuring<6>
Gas measuring status flag
5.3.5.3 Measuring status
Measuring status will be set to ‘1’ whenever a conversion (temperature, pressure, humidity and gas) is running and back to
‘0’ when the results have been transferred to the data registers.
Register Name
Address
Content<bit position>
Description
meas_status_0
0x1D
measuring<5>
Measuring status flag
5.3.5.4 Gas Measurement Index
User can program a sequence of up to 10 conversions by setting nb_conv<3:0>. Each conversion has its own heater
resistance target but 3 field registers to store conversion results. The actual gas conversion number in the measurement
sequence (up to 10 conversions numbered from 0 to 9) is stored in gas_meas_index register.
Register Name
Address
Content<bit position>
Description
meas_status_0
0x1D
gas_meas_index_0<3:0>
Gas measurement index
Bosch Sensortec | BME680 Datasheet
34 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
5.3.5.5 Gas valid status
In each TPHG sequence contains a gas measurement slot, either a real one which result is used or a dummy one to keep
a constant sampling rate and predictable device timing. A real gas conversion (i.e., not a dummy one) is indicated by the
gas_valid_r status register.
Register Name
Address
Content<bit position>
Description
gas_r_lsb
0x2B
gas_valid_r<5>
Gas valid bit
5.3.5.6 Heater Stability Status
Heater temperature stability for target heater resistance is indicated heat_stab_x status bits.
Register Name
Address
Content<bit position>
Description
gas_r_lsb
0x2B
heat_stab_r<4>
Heater stability bit
Bosch Sensortec | BME680 Datasheet
35 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
6. Digital interfaces
The sensor supports the C and SPI digital interfaces, where it acts as a slave for both protocols. The I²C interface supports
the Standard, Fast and High Speed modes. The SPI interface supports both SPI mode ‘00’ (CPOL = CPHA = 0’) and mode
‘11’ (CPOL = CPHA = ‘1’) in 4-wire and 3-wire configuration.
The following transactions are supported:
Single byte write
multiple byte write (using pairs of register addresses and register data)
single byte read
multiple byte read (using a single register address which is auto-incremented)
6.1 Interface selection
Interface selection is done automatically based on CSB (chip select) status. If CSB is connected to VDDI O, the I²C interface is
active. If CSB is pulled down, the SPI interface is activated. After CSB has been pulled down once (regardless of whether
any clock cycle occurred), the I²C interface is disabled until the next power-on-reset. This is done in order to avoid
inadvertently decoding SPI traffic to another slave as I²C data. Since the device startup is deferred until both VDD and VDDI O
are established, there is no risk of incorrect protocol detection because of the power-up sequence used. However, if I²C is to
be used and CSB is not directly connected to VDDIO but is instead connected to a programmable pin, it must be ensured that
this pin already outputs the VDDIO level during power-on-reset of the device. If this is not the case, the device will be locked
in SPI mode and not respond to I²C commands.
6.2 C Interface
For detailed timings, please review Table 18 . All modes (standard, fast, high speed) are supported. SDA and SCL are not
pure open-drain. Both pads contain ESD protection diodes to VDDIO and GND. As the devices does not perform clock
stretching, the SCL structure is a high-Z input without drain capability.
Picture 3: SDI/SCK ESD schematic
The 7-bit device address is 111011x. The 6 MSB bits are fixed. The last bit is changeable by SDO value and can be changed
during operation. Connecting SDO to GND results in slave address 1110110 (0x76); connection it to VDDI O results in slave
address 1110111 (0x77), which is the same as BMP280’s I²C address. The SDO pin cannot be left floating; if left floating, the
I²C address will be undefined.
Bosch Sensortec | BME680 Datasheet
36 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
The I²C interface uses the following pins:
SCK: serial clock (SCL)
SDI: data (SDA)
SDO: Slave address LSB (GND = ‘0’, VDDIO = 1’)
CSB must be connected to VDDI O to selectC interface. SDI is bi-directional with open drain to GND: it must be externally
connected to VDDIO via a pull up resistor. Refer to Chapter 7 for connection instructions.
The following abbreviations will be used in the I²C protocol figures:
S Start
P Stop
ACKS Acknowledge by slave
ACKM Acknowledge by master
NACKM Not acknowledge by master
6.2.1 I²C write
Writing is done by sending the slave address in write mode (RW = ‘0’), resulting in slave address 111011X0 (‘Xis determined
by state of SDO pin. Then the master sends pairs of register addresses and register data. The transaction is ended by a stop
condition. This is depicted in Picture 4.
Start RW ACKS ACKS ACKS
1 1 1 0 1 1 X 0 1 0 1 0 0 0 0 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
ACKS ACKS Stop
1 0 1 0 0 0 0 1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Register data - address A0h
Register address (A0h)
Register address (A1h)
S
Slave Address
Control byte
Data byte
Control byte
Data byte
P
Register data - address A1h
Picture 4:C multiple byte write (not auto-incremented)
6.2.2 I²C read
To be able to read registers, first the register address must be sent in write mode (slave address 111011X0). Then either a
stop or a repeated start condition must be generated. After this the slave is addressed in read mode (RW = 1’) at address
111011X1, after which the slave sends out data from auto-incremented register addresses until a NOACKM and stop
condition occurs. This is depicted in Picture 5, where register 0xF6 and 0xF7 are read.
Start RW ACKS ACKS
1 1 1 0 1 1 X 0 1 1 1 1 0 1 1 0
Start RW ACKS ACKM NOACKM Stop
1 1 1 0 1 1 X 1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Control byte
Data byte
Data byte
Register address (F6h)
S
Slave Address
P
S
Slave Address
Register data - address F7h
Register data - address F6h
Picture 5:C multiple byte read
Bosch Sensortec | BME680 Datasheet
37 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
6.3 SPI interface
The SPI interface is compatible with SPI mode ‘00(CPOL = CPHA = ‘0’) and mode ‘11’ (CPOL = CPHA = 1’). The automatic
selection between mode 00and ‘11’ is determined by the value of SCK after the CSB falling edge.
The SPI interface has two modes, namely 4-wire and 3-wire mode. However, the protocol is the same for both. The 3-wire
mode is selected by setting ‘1to the register spi3w_en. The pad SDI is used as a data pad in 3-wire mode.
The SPI interface uses the following pins:
CSB: chip select, active low
SCK: serial clock
SDI: serial data input; data input/output in 3-wire mode
SDO: serial data output; hi-Z in 3-wire mode
For more connection instructions, please refer to Chapter 7.
CSB is active low and has an integrated pull-up resistor. Data on SDI is latched by the device at SCK rising edge and SDO
is changed at SCK falling edge. Communication starts when CSB goes to low and stops when CSB goes to high; during
these transitions on CSB, SCK must be stable. The SPI protocol is shown in It is important to note that Picture 6. For timing
details, please review Table 19.
CSB
SCK
SDI
RW
AD6
AD5
AD4
AD3
AD2
AD1
AD0
DI5
DI4
DI3
DI2
DI1
DI0
DI7
DI6
SDO
DO5
DO4
DO3
DO2
DO1
DO0
DO7
DO6
tri-state
Picture 6: SPI protocol (shown for mode ‘11in 4-wire configuration)
It is important to note that in the SPI mode, only 7 bits of the register addresses are used; the MSB of register address is not
used and replaced by a read/write bit (RW = 0’ for write and RW = ‘1’ for read). For example, address 0xF7 is accessed by
using SPI register address 0x77. On the one hand, the byte 0x77 is transferred for write access, and on the other hand, the
byte 0xF7 is transferred for read access.
6.3.1 SPI write
Writing is done by lowering CSB and sending pairs control bytes and register data. The control bytes consist of the SPI
register address (= full register address without bit 7) and the write command (bit7 = RW = ‘0’). Several pairs can be written
without raising CSB. The transaction is ended by a raising CSB. The SPI write protocol is depicted in Picture 7.
Start
RW RW Stop
0 1 1 1 0 1 0 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 1 1 1 0 1 0 1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Control byte
CSB
=
1
Data byte
Register address (F5h)
Data register - adress F5h
Register address (F4h)
CSB
=
0
Control byte
Data byte
Data register - address F4h
Picture 7: SPI multiple byte write (not auto-incremented)
Bosch Sensortec | BME680 Datasheet
38 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
6.3.2 SPI read
Reading is done by lowering CSB and first sending one control byte. The control bytes consist of the SPI register
address (= full register address without bit 7) and the read command (bit 7 = RW = ‘1’). After writing the control
byte, data is sent out of the SDO pin (SDI in 3-wire mode); the register address is automatically incremented. The
SPI read protocol is depicted in Picture 8.
Start
RW Stop
1 1 1 1 0 1 1 0 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
CSB
=
1
Data byte
Data register - address F7h
Register address (F6h)
CSB
=
0
Control byte
Data byte
Data register - address F6h
Picture 8: SPI multiple byte read
6.4 Interface parameter specification
6.4.1 General interface parameters
Table 17: Interface parameters
Parameter
Symbol
Condition
Min
Typ
Max
Unit
Input low level
Vi l _si
VDDIO=1.2 V to 3. 6V
20
%VDDIO
Input high level
Vi h_si
VDDIO=1.2 V to 3.6 V
80
%VDDIO
Output low level I2C
Vol _SDI
VDDIO=1.62 V, Iol =3 mA
20
%VDDIO
Output low level I2C
Vol _SDI_1. 2
VDDIO=1.20 V, Iol =3 mA
23
%VDDIO
Output low level SPI
Vol _SDO
VDDIO=1.62 V, Iol =1 mA
20
%VDDIO
Output low level SPI
Vol _SDO_1.2
VDDIO=1.20 V, Iol =1 mA
23
%VDDIO
Output high level
Voh
VDDIO=1.62 V, Ioh =1 mA (SDO, SDI)
80
%VDDIO
Output high level
Voh_1.2
VDDIO=1.20 V, Ioh =1 mA (SDO, SDI)
60
%VDDIO
Pull-up resistor
Rpul l
Internal CSB pull-up resistor to VDDI O
70
120
190
k
I2C bus load capacitor
Cb
On SDI and SCK
400
pF
Bosch Sensortec | BME680 Datasheet
39 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
6.4.2 I²C timings
For I²C timings, the following abbreviations are used:
S&F mode” = standard and fast mode
HS mode” = high speed mode
Cb = bus capacitance on SDA line
All other naming refers to I²C specification 2.1 (January 2000).
The I²C timing diagram is in Picture 9. The corresponding values are given in Table 18
tHDDAT
tf
tBUF
SDI
SCK
SDI
tLOW
tHDSTA
tr
tSUSTA
tHIGH
tSUDAT
tSUSTO
Picture 9: I2C timing diagram
Table 18: I2C timings
Parameter
Symbol
Condition
Min
Typ
Max
Unit
SDI setup time
tSU;DAT
S&F Mode
HS mode
160
30
ns
ns
SDI hold time
tHD;DAT
S&F Mode, Cb≤100 pF
S&F Mode, Cb≤400 pF
HS mode, Cb≤100 pF
HS mode, Cb≤400 pF
80
90
18
24
115
150
ns
ns
ns
ns
SCK low pulse
tLOW
HS mode, Cb≤100 pF
VDDIO = 1.62 V
160
ns
SCK low pulse
tLOW
HS mode, Cb≤100 pF
VDDIO = 1.2 V
210
ns
The above-mentioned I2C specific timings correspond to the following internal added delays:
Input delay between SDI and SCK inputs: SDI is more delayed than SCK by typically 100 ns in Standard and Fast
Modes and by typically 20 ns in High Speed Mode.
Output delay from SCK falling edge to SDI output propagation is typically 140 ns in Standard and Fast Modes and
typically 70 ns in High Speed Mode.
Bosch Sensortec | BME680 Datasheet
40 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
6.4.3 SPI timings
The SPI timing diagram is in Picture 10, while the corresponding values are given in Table 19. All timings apply both to 4-
and 3-wire SPI.
CSB
SCK
T_setup_csb
T_low_sck
T_high_sck
T_hold_csb
SDI
T_setup_sdi
T_hold_sdi
SDO
T_delay_sdo
Picture 10: SPI timing diagram
Table 19: SPI timings
Parameter
Symbol
Condition
Min
Typ
Max
Unit
SPI clock i/p frequency
F_spi
0
10
MHz
SCK low pulse
T_low_sck
20
ns
SCK high pulse
T_high_sck
20
ns
SDI setup time
T_setup_sdi
20
ns
SDI hold time
T_hold_sdi
20
ns
SDO output delay
T_delay_sdo
25 pF load, VDDIO=1.6 V min
30
ns
SDO output delay
T_delay_sdo
25 pF load, VDDIO=1.2 V min
40
ns
CSB setup time
T_setup_csb
20
ns
CSB hold time
T_hold_csb
20
ns
SPI clock input
frequency
F_spi
0
10
MHz
Bosch Sensortec | BME680 Datasheet
41 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7. Pin-out and connection diagram
7.1 Pin-out
The pin numbering of BME680 is performed in the untypical clockwise direction when seen in top view and counter-clockwise
when seen in bottom view. Picture 11 and Table 20 give a detailed description and illustration of the input/output pins.
Picture 11: Top (left) and bottom (right) views of the chip with input/output pins
Table 20: Pin description
Pin
Name
I/O type
Description
Connection
SPI 4W
SPI 3W
I2C
1
GND
Supply
Ground
GND
2
CSB
In
Chip select
CSB
CSB
VDDIO
3
SDI
In/Out
Serial data input
SDI
SDI/SDO
SDA
4
SCK
In
Serial clock input
SCK
SCK
SCL
5
SDO
In/Out
Serial data output
SDO
DNC
GND for
default
address
6
VDDIO
Supply
Digital / Interface supply
VDDIO
7
GND
Supply
Ground
GND
8
VDD
Supply
Analog supply
VDD
Bosch Sensortec | BME680 Datasheet
42 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.2 Connection diagrams
For the I2C connection, it is recommended to use 100 nF for C1 and C2. Moreover, the value for the pull-up resistors R1 and
R2 should be based on the interface timing and the bus load; a normal value is 4.7 k. Finally, a direct connection between
CSB and VDDIO is required. Similarly for the 4- and 3-wire SPI connections, it is suggested to use 100 nF for C1 and C2.
Picture 12: Connection diagrams for (a) I2C, (b) 4-wire SPI, and (c) 3-wire SPI
(a) (b) (c)
Bosch Sensortec | BME680 Datasheet
43 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.3 Package dimensions
Picture 13: Package dimensions for top, bottom and side view
Bosch Sensortec | BME680 Datasheet
44 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.4 Landing pattern recommendation
For the design of the landing pattern, the dimensions shown in Picture 14: Recommended landing pattern (top view;
dimensions are in milli-meters) are recommended. It is important to note that areas marked in red are exposed PCB metal
pads.
In case of a solder mask defined (SMD) PCB process, the land dimensions should be defined by solder mask
openings. The underlying metal pads are larger than these openings.
In case of a non-solder mask defined (NSMD) PCB process, the land dimensions should be defined in the metal
layer. The mask openings are larger than these metal pads.
1
2
4
3
8
7
5
6
Soldier stop
Landing pattern
1.50
3.00
0.40
0.60
0.20
0.40
0.60
1.50
3.00
0.10
Picture 14: Recommended landing pattern (top view; dimensions are in milli-meters)
Bosch Sensortec | BME680 Datasheet
45 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.5 Marking
7.5.1 Mass production devices
Table 21: Marking of mass production parts
Marking
Symbol
Description
CCC
Lot counter: 3 alphanumeric digits, variable
to generate mass production trace-code
T
Product number: 1 alphanumeric digit, fixed
to identify product type, T = S” or E
Sis associated with the product BME680
(part number 0 273 141 229)
E is associated with the product BME680
(part number 0 273 141 312)
L
Sub-contractor ID: 1 alphanumeric digit,
variable to identify sub-contractor (L = P”)
7.5.2 Engineering samples
Table 22: Marking of engineering samples
Marking
Symbol
Description
XX
Sample ID: 2 alphanumeric digits,
variable to generate trace-code
N
Eng. Sample ID: 1 alphanumeric digit, fixed
to identify engineering sample,
N = * or eorE
CC
Counter ID: 2 alphanumeric digits,
variable to generate trace-code
Bosch Sensortec | BME680 Datasheet
46 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.6 Soldering guidelines and reconditioning recommendations
The moisture sensitivity level of the BME680 sensors corresponds to JEDEC Level 1, see also:
IPC/JEDEC J-STD-020C Joint Industry Standard: Moisture/Reflow Sensitivity Classification for non-hermetic Solid
State Surface Mount Devices
IPC/JEDEC J-STD-033A Joint Industry Standard: Handling, Packing, Shipping and Use of Moisture/Reflow
Sensitive Surface Mount Devices
The sensor fulfils the lead-free soldering requirements of the above-mentioned IPC/JEDEC standard, i.e. reflow soldering
with a peak temperature up to 26C. The minimum height of the solder after reflow shall be at least 50 µm. This is required
for good mechanical decoupling between the sensor device and the printed circuit board (PCB).
Picture 15: Soldering profile
7.7 Mounting and assembly recommendations
This HSMI-document provides all the necessary instructions to handle, solder and mount the environmental sensor BME680.
Following the reported guidelines is very important to prevent the damage of the sensor and the resultant loss of warranty.
Bosch Sensortec | BME680 Datasheet
47 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
7.8 Environmental safety
7.8.1 RoHS
The BME680 sensor meets the requirements of the EC restriction of hazardous substances (RoHS) directive, see also:
Directive 2011/65/EU of the European Parliament and of the Council of 8 June 2011 on the restriction of the use of certain
hazardous substances in electrical and electronic equipment.
7.8.2 Halogen content
The BME680 is halogen-free. For more details on the analysis results please contact your Bosch Sensortec representative.
7.8.3 Internal package structure
Within the scope of Bosch Sensortec’s ambition to improve its products and secure the mass product supply, Bosch
Sensortec qualifies additional sources (e.g. 2nd source) for the packaging and processing of the BME680.
While Bosch Sensortec took care that all of the technical packages parameters are described above are 100% identical for
all sources, there can be differences in the chemical content and the internal structural between the different package sources.
However, as secured by the extensive product qualification process of Bosch Sensortec, this has no impact to the usage or
to the quality of the BME680 product.
Bosch Sensortec | BME680 Datasheet
48 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
8. Legal disclaimer
8.1 Engineering samples
Engineering Samples are marked with an asterisk (*) or (e) or (E). Samples may vary from the valid technical
specifications of the product series contained in this data sheet. They are therefore not intended or fit for resale
to third parties or for use in end products. Their sole purpose is internal client testing. The testing of an engineering
sample may in no way replace the testing of a product series. Bosch Sensortec assumes no liability for the use
of engineering samples. The Purchaser shall indemnify Bosch Senso rtec from all claims arising from the use of
engineering samples.
8.2 Product use
Bosch Sensortec products are developed for the consumer goods industry. They may only be used within the
parameters of this product data sheet. They are not fit for use in life -sustaining or security sensitive systems.
Security sensitive systems are those for which a malfunction is expected to lead to bodily harm or significant
property damage. In addition, they are not fit for use in products which interact with motor vehicle sys tems.
The resale and/or use of products are at the purchaser’s own risk and his own responsibility. The examination of
fitness for the intended use is the sole responsibility of the Purchaser.
The purchaser shall indemnify Bosch Sensortec from all third party claims arising from any product use not
covered by the parameters of this product data sheet or not approved by Bosch Sensortec and reimburse Bosch
Sensortec for all costs in connection with such claims.
The purchaser must monitor the market for the purchased products, particularly with regard to product safety, and
inform Bosch Sensortec without delay of all security relevant incidents.
8.3 Application examples and hints
With respect to any examples or hints given herein, any typical values stated here in and/or any information
regarding the application of the device, Bosch Sensortec hereby disclaims any and all warranties and liabilities of
any kind, including without limitation warranties of non-infringement of intellectual property rights or copyrights of
any third party. The information given in this document shall in no event be regarded as a guarantee of conditions
or characteristics. They are provided for illustrative purposes only and no evaluation regarding infringement of
intellectual property rights or copyrights or regarding functionality, performance or error has been made.
Bosch Sensortec | BME680 Datasheet
49 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
9. Document history and modifications
Rev.
Chapter
Description of modifications
Date
1.0
Initial release
July 2017
1.1
5.2 - Fixed typo
7.5.2 - Added new technical reference code
April 2019
Bosch Sensortec | BME680 Datasheet
50 | 50}
Modi fi cations reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-01 Revi si on_1. 1_042019
Bosch Sensortec GmbH
Gerhard-Kindler-Straße 9
72770 Reutlingen / Germany
www.bosch-sensortec.com
Modifications reserved | Printed in Germany
Preliminary - specifications subject to change without notice
Document number: BST-BME680-DS001-01
Revision_1.1_042019