I have a custom board with Multitech xdot LoRA Chip and BME680 Sensor.
I can confirmed my board already deep sleeping, as measured from the development kit without BME. The total power consumption of the board now having 0.08mA draw (80uA), which is similiar to the sensor power consumption described in BME developer guide. Somewhere in this forum had seen people doing 0.15-0.18uA only.
My sensor reading is fine at the moment and I believe my bme680 is not sleeping yet..
I tried debuging sensor mode before and after setting sensor mode and in func bme680_bsec_trigger_measurement, the mode is always in FORCED mode.
Can the problem be the I2C Write or maybe I2C Read function? The Read should be correct as I'm getting the sensor values.. I'm not sure about the Write. Anyone had any experience in this?
In sleep mode, the BME680 consumes <1µA. In forced mode, the BME680 triggers the measurement of only one sample of temperature/pressure/humidity/gas (as configured by the user), then goes back to sleep mode. During the actual sensor measurements, the current consumption would be quite higher than you mentioned (see datasheet for full details). We also don't know if your measurement is an averaged current, or what is your BME680 configuration/data-rate.
Since you are measuring the total board current, we would recommend to measure the current consumption of each components, otherwise we couldn't conclude that the current is drawn by the BME680. You also pointed out that you are using I2C, which could lead to leakage current in your system. After power-up sequence, the BME680 automatically starts in sleep mode, this could be a useful reference before checking that the BME680 isn't going back to sleep.
Totally agree with you!
Currently I don't have my devkit with me, only integrated custom built pcb. Probably next week or two I'll go get a devkit to confirm the power draw and consumption at component basis.
In the meantime, you said BME680 power up in default in sleep mode? I tried remove bsec library and no i2c initialization.. My board total consumption is still 0.08mA.
Another thing is.. i tried to log bme680_get_sensor_mode(&_bme680), from init bsec & bme then run trigger measurement and so on.. the sensor mode always 0. Which mean in forced mode. it's not getting to sleep. I even tried to manually set the mode to sleep then print the result. But it is still 0.
Then I tried to change the updateSubscription, from ULP, to LP to Disabled, no changes in battery consumption also, same 0.08mA when board sleeping.
What can be wrong here? i2c write function not writing it correctly?