What is the BME680 response time for the temperature changes? The specs provide such for the gas sensor and for the humidity, but does not provide such for the temperature.
Solved! Go to Solution.
The temperature response time depends on a variety of factors pertaining to how the sensor is mounted and the environment around it and hence cannot be described as a precise number in the datasheet.
For example, if the heat source is from other components on the PCB, the temperature change is relatively slower compared to a change in the temperature of surrounding air. Most PCBs take longer to propogate heat changes, and hence alternatives for design including creating a small bridge to the sensor or by using a flex PCB. Housings or other hinderances can limit the flow of air around the sensor further increasing response time.
Completely agree on the above. Let me change a bit the question then - how does the BME680 temperature response time compares to BME280 if all factors are considered to be the same?
The question has emerged because I'm seeing severe lag difference in the temperature response time between BME280 and BME680 (BME680 being extremely slow). I suppose that the cause for this may be the PCB design, but before looking in that direction I need some additional information that doesn't seems to be published.
I know this is a bit of an older question, and here are my findings.
When compared to the BME280, the 680 responds exactly the same as long as you have the same "filter" setting.
It seems like the latest BSEC 2.x has a different default for this (the highest factor instead of filter OFF) and this option is not included by default in the
In order to make the response time fast, you need to add the following where you are setting up the BME680 (I have included the three other settings from the BSEC 2.x code):
bme68x_sensor_settings.os_hum = sensor_settings->humidity_oversampling; bme68x_sensor_settings.os_pres = sensor_settings->pressure_oversampling; bme68x_sensor_settings.os_temp = sensor_settings->temperature_oversampling; bme68x_sensor_settings.filter = BME68X_FILTER_OFF; // <-- Add this
You will find more details of the filter options in the bme68x_conf struct that the bme68x_sensor_settings is based on.
I hope this saves someone some time!