Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 - dynamic offset heat compensation

    BME680 - dynamic offset heat compensation


    we use the BME680 in an embedded device (A20 Allwinner, display, housing) .... 
    Due to heating effects in the device we need to use the temperature offset compensation of the bsec-library .... The heating due to backlight and mechanical design may be considered as constant as soon as the device is in operation for some time and the temperature inside the housing is more or less stable ....
    Our problem is the heating effect due to dynamic load on the A20 processor (depends on application, user interaction, ....) and we are not sure how to handle this the best way....
    Our current approch is to use the current measurement of the AXP209 powerchip used for power supply to calculate a dynamic offset somehow.... another possibility may be to use an averaged cpu-load to calculate the offset .....

    The question is, since this should be a common problem on many different embedded devices:
    Is there a common approach to handle this use case? Maybe there already exist a formula/algorithm to calculate the offset depending on some sort of current measurement or cpu-load?

    Best regards,

    2 REPLIES 2

    Community Moderator
    Community Moderator

    Unfortunately I personally don't have experience with estimating temperature influence based on CPU load, but I will try to share a few pointers coming to my mind and hopefully anyone more experience may provide further indications:

    • built-in temerature sensors: are there any other components on the PCB with built-in temperature sensors? These may not be very accurate, but temperature from the CPU itself may be valuable additional information to CPU-load?
    • follow the best practice for hardware integration: this may sound obvious to say but it can greatly help with the performance achieved when considering the distance kept from heating components, good air exchange with ambient air, to thermally decouple the sensor from other components, etc.
    • empirical estimation: based on the test setup available to you, I could picture a test where your assembled device is kept inside a controlled temperature chamber with only the minimal processes (and sensor) kept running until stabilization, then cycling through different CPU loads to measure the effective impact on the output?

    Thanks for the reply - 
    2) The hardware is already designed and more or less fixed - but our hardware designer fortunately considered the points you mentioned in your post 😉


    1+3) This is in fact what we are trying at the moment .... we operate the devices in a more or less stable temperature environment (with minimal processes) and increase the current consumption via CPU-stress tests .... and we log everything we consider as useable on the PCB (CPU-Load, CPU-temperature, current, BME temperature, ...)....

    The missing part is to find a formula for compensation ..... but we will try 😉