Datasheet

Bosch Sensortec | BME680 Datasheet
15 | 50
Modifications reserved |Data subject not change without notice | Printed in Germany
Document number: BST-BME680-DS001-00 Revision_1.0_072017
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.