Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 ULP: how to measure temperature quicker than IAQ?

    BME680 ULP: how to measure temperature quicker than IAQ?

    biboc
    Member

    Hi,

    I'm running BME680 in ULP mode so I get all values every 5 minutes
    How can I get temperature value quicker? Like every minutes, but keeping in ULP to not use too much power

     

    Thanks,

    3 REPLIES 3

    Minhwan
    Community Moderator
    Community Moderator

    Hello biboc, 

     

    As mentioned in our documentation, we provide temperature information with 1/3 Hz ( every 3s) in ULP. 

    But, you can only get gas measurement every 5 minutes. 

    Minhwan_0-1618345416145.png

    Hence, I think now you can get temperature every 3 second if you are using our example code. 

    Please let me know if you have further questions.

    Thanks, 

     

    Thank you Minhwan for your answer, I didn't know the Quick Ultra-low Power mode (q-ULP)

    I found the example in https://github.com/BoschSensortec/BSEC-Arduino-library/blob/master/examples/basic_config_state_ULP_L...

    I see the chip is configured with "#include "config/generic_33v_3s_4d/bsec_iaq.txt"". Is the chip running in ULP or LP mode? How about the consumption?
    Low consumption is why I use ULP and not LP mode so I ha ve to keep it as small as possible

    I use it on ARM M0+ board but it should be ok with some code customizationWill it be possible to get temperature every minute instead of every three seconds?

    Thanks,

     

    Minhwan
    Community Moderator
    Community Moderator

    Hello biboc, 

     

    Yes, in your example, gas are in ULP mode, and temp is in LP mode which is to meet your requirements. 

    Since temp is in LP mode, you can get every 3s. That means you can get every 1 min. However, gas needs 5 mins. 

    bsec_virtual_sensor_t sensorList1[2] = {
    BSEC_OUTPUT_RAW_GAS,
    BSEC_OUTPUT_IAQ,
    };

    iaqSensor.updateSubscription(sensorList1, 2, BSEC_SAMPLE_RATE_ULP);

    bsec_virtual_sensor_t sensorList2[5] = {
    BSEC_OUTPUT_RAW_TEMPERATURE,
    BSEC_OUTPUT_RAW_PRESSURE,
    BSEC_OUTPUT_RAW_HUMIDITY,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
    };

    iaqSensor.updateSubscription(sensorList2, 5, BSEC_SAMPLE_RATE_LP);

    As long as your platform is in our list below url, then you can use our BSEC libary. You already got some value, so it means that you are using it 🙂 

    https://github.com/BoschSensortec/BSEC-Arduino-library/

    Thanks, 

    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