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