Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BME680 ultra low power profile

    BME680 ultra low power profile

    NicoBosch
    New Poster

    Good morning,

    I'm integrating your BME680 in my custom board (esp32 and lora board).

    We wanto to use the sensor in the following two configurations using I2c in order to acquire T/H pressure and IAQ:

    1) ULP : 300 seconds . How can I know the sensor has finished to acquire data and is ready to be polled by the master (esp32) ? How is the pseudo state machine (FSM)  in this configuration? I see 100uA of consumption, this mean the sensor is always active and ready to be polled ?

    2) the sensor will be switched on every 20 minutes by the esp32  and then has to acquire data for the necessary time. How much is this time in order to get the internal heater working and having a goos measurements? when I have switched on the sensor which is the FSM for this configuration to get proper measurements?

    Hope you can help,  thanks in advance for support

    Nico

     

     

     

    8 REPLIES 8

    handytech
    Community Moderator
    Community Moderator

    @NicoBosch wrote:

    1) ULP : 300 seconds . How can I know the sensor has finished to acquire data and is ready to be polled by the master (esp32) ? How is the pseudo state machine (FSM)  in this configuration? I see 100uA of consumption, this mean the sensor is always active and ready to be polled ?


    You can find more about the measurement operation in the BME680's datasheet, chapter  "Sensor modes". A single measurement is triggered when setting the BME680 into forced mode. The BME680 autonomously returns into sleep mode once the measurement is over, thus sleep current is expected between measurements. It is therefore also possible to confirm the measurement is over by reading-out the current operation mode and waiting until the sensor goes back into sleep mode, as demonstrated in BSEC's example code.


    @NicoBosch wrote:

    2) the sensor will be switched on every 20 minutes by the esp32  and then has to acquire data for the necessary time. How much is this time in order to get the internal heater working and having a goos measurements? when I have switched on the sensor which is the FSM for this configuration to get proper measurements?


    Both sensor settings (including heater duration) and sleep duration are given by the BSEC library, and based on the support mode selected. In Ultra-Low-Power mode (ULP), you must wake-up to trigger a new measurement at the expected rate, every ~300s.

    Dear handytech,

    I dont understand really how it works .

    For the forced mode:

    Lets suppose my MCU wakes up every 20min and I use the sensor  the forcemode  followed by  sleep mode as in DS (Figure 1) . How can I wake up  the sensor from the sleep without interrupt pin in order to make it to measure a TPGH ? How the sensor is supposed to wake up if there is no interrupt pin?

    For the ULP:

    Do I have to send a command on I2C exactly every 300 second? so for example i wake up every 20min then i wait for 300 second and after 300 second I poll the sensor ? FRankly I can understand.

     If the sensor expects a command every 300sec by the master how it wakes up using I2C?

     

    Please remember i use the I2C interface and i have the low power requirement as constraint.

     

    Thanks

    nico

     

     

     

     

    handytech
    Community Moderator
    Community Moderator

    @NicoBosch wrote:

    For the forced mode:

    Lets suppose my MCU wakes up every 20min and I use the sensor  the forcemode  followed by  sleep mode as in DS (Figure 1) . How can I wake up  the sensor from the sleep without interrupt pin in order to make it to measure a TPGH ? How the sensor is supposed to wake up if there is no interrupt pin?


    Sleep mode simply means that the sensor is in a minimal power consumption mode, where no measurements are performed. The serial interface (I2C in your case) is still enabled and you can still communicate with the sensor. You just need to generate the appropriate I2C write transactions to enter forced mode and trigger a new measurement.


    @NicoBosch wrote:

    For the ULP:

    Do I have to send a command on I2C exactly every 300 second? so for example i wake up every 20min then i wait for 300 second and after 300 second I poll the sensor ? FRankly I can understand.

     If the sensor expects a command every 300sec by the master how it wakes up using I2C?


    Yes, you must meet BSEC timing requirements. BSEC uses timestamps as input/output which tells you when the next measurement is needed (i.e. when you will need to wake-up your MCU again). Therefore you would need to wake up every ~5min, trigger and read sensor data via I2C, process the data in BSEC, then go back to sleep.

    Thanks handytech,

    Now its clear the forced mode how it works.

    Could you please tell me how much seconds t takes for TPGH in force mode considering also the heater time to be ready  and the total average current in this time window?

    ULP:

    What do you mean about BSEC. Is it a fw library supplied by bosch?

    From what I know since I understood the sensor is still active in sleep mode, my MCU has simply to send a request every about 5 minuts but what you mean with :

    "BSEC uses timestamps as input/output which tells you when the next measurement is needed"

    Thansk again,

    Nicola

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist