Hi,
I have encountered a strange behavior of BME680 multivariable sensor(s) (as it happened to all 3 pieces I have). The sensor is correctly supplied (3,3 V, no voltage sags, both VDD and VDDIO pins shorted together, low impedance GND connection) and interfaced via I2C (communication 100% correct).
When I measure temperature, humidity and pressure the sensor triggers correctly and the response obtained via I2C is very accurate. But when gas sensing feature is enabled (via RUN_GAS bit in CTRL_GAS_1 register) the sensor behaves in a strange way. The 0th gas sensor heater set point is used, heater temperature and heating time registers contain:
GAS_WAIT_0 10111110
RES_WAIT_0 11010000
When MODE bit in CTRL_MEAS register is set to 1 the sensor correctly sets MEASURING flag in MEAS_STATUS_0 register to 1. But then, after approx. 11 ms some registers are set to 11111111 and then, after another 3,8 ms (it is the fastest time graduation I was able to obtain to log register states) gas-related registers are reset to 0. Here is the log of gas-sensing-related registers:
CTRL_GAS_1
IDAC_HEAT_0
GAS_R_LSB
GAS_WAIT_0
RES_WAIT_0
CTRL_MEAS
MEAS_STATUS_0
----
10000
0
100
10111110
11010000
100101
100000
--
10000
0
100
10111110
11010000
100101
100000
--
11111111
11111111
11111111
11111111
11111111
11111111
0
--
0
0
100
0
0
0
0
--
0
0
100
0
0
0
0
I was also monitoring the sensor supply current using a wideband current clamp probe and a scope but no current jump, related to heater turn-on was registered.
Any idea what is happening ? Any help or suggestion would be highly appreciated.
Best regards,
Pawel