Hi BSTRobin, Thank you for your quick repply, we are using the official drivers from Bosch: BoschSensortec/BME68x-Sensor-API: Common Sensor API for the BME680 and BME688 sensors (github.com) And the hardware was developped by us. Our config of the BME680 is as follows: rslt = bme68x_init(&gas_sensor); if (rslt == BME68X_OK) { bme68x_conf conf; conf.filter = BME68X_FILTER_OFF; conf.odr = BME68X_ODR_NONE; conf.os_hum = BME68X_OS_16X; conf.os_pres = BME68X_OS_1X; conf.os_temp = BME68X_OS_2X; rslt = bme68x_set_conf(&conf, &gas_sensor); bme68x_heatr_conf heatr_conf; heatr_conf.enable = BME68X_ENABLE; heatr_conf.heatr_temp = 300; heatr_conf.heatr_dur = 100; rslt = bme68x_set_heatr_conf(BME68X_FORCED_MODE, &heatr_conf, &gas_sensor); //Calculate delay period in microseconds meas_period = bme68x_get_meas_dur(BME68X_FORCED_MODE, &conf, &gas_sensor) + (heatr_conf.heatr_dur * 1000); } Every 3 seconds we set forced mode and read sensor data as follows: int8_t dataStatus = 0x00; int8_t rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &gas_sensor); gas_sensor.delay_us(meas_period, gas_sensor.intf_ptr); if(rslt == BME68X_OK) { uint8_t n_fields; struct bme68x_data data; rslt = bme68x_get_data(BME68X_FORCED_MODE, &data, &n_fields, &gas_sensor); if(rslt == BME68X_OK && n_fields) { dataStatus = data.status; /* Avoid using measurements from an unstable heating setup */ if(data.status & BME68X_GASM_VALID_MSK) { currentSensorsData.humidity = data.humidity; currentSensorsData.pressure = data.pressure / 100.0f; currentSensorsData.temperature = data.temperature; currentSensorsData.gasResistance = data.gas_resistance; } } } All this works fine for a long time, and for some sensors, after a couple of months they start to report really weird values and do not recover anymore, even after restarting or taking of the power completelly and trying to communicate with the BME680. We are using floating point data output #define BME68X_USE_FPU We are using an ATMEGA328PB, and i will share the parts of the schematics regarding the BME680 as son as i can, just need some time to collect that. Kind regards, João Ladeira
... View more