Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680: IAQ problem with nRF52840

    BME680: IAQ problem with nRF52840

    Miloslav
    Member

    Hello,

    I am using BME680 with nRF52840 (ARM Cortex M4 with FPU). IDE: Segger Embedded Studio. Compiler: gcc. Normal version of BSEC, Cortex M4F.

    Temperature and humidity metering works just fine. BSEC status is OK. But IAQ accuracy remains 0, IAQ remains 25, CO2 equivalent remains 500. Running LP mode. Tried to wait more than hour for sensor to initialize.

    Attached file bme_user.c is done according to provided bsec_iot_example.

    I found this example in community topic https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BME-680-IAQ-stuck-at-25-and-accuracy-alw...

    Attacehd file bme_user_modified.c is done according to community topic - It is adding bsec_update_subscription(), bsec_serialized_configurations_iaq - generic_33v_3s_4d and changing config_load()

    Am I missing anything? Could you please help?

    Thanks,

    Miloslav

    9 REPLIES 9

    Jet
    Occasional Contributor

    Hi Sir:

        Did you get the correct IAQ with bme_user_updated.c ?

        bsec_serialized_configurations_iaq according to your platform configuration must be loaded in config_load function.

      

    Hi Jet,

    No. Result was the same. 

    Temperature and humidity metering works just fine. BSEC status is OK. But IAQ accuracy remains 0, IAQ remains 25, CO2 equivalent remains 500. Running LP mode. Tried to wait more than hour for sensor to initialize.

     

    Jet
    Occasional Contributor

    Hi Sir:

        I checked bme_user_updated.c, didn't find anything is incorrect, but I have one point to doubt that your timestamp is not appropriate.

        It is not the system timestamp, only the variable value you created, probably it can not be used as BSEC timpstamp.

        I share my source code which is STM32fF411 platform, it is similar with your bme_user_updated.c.

        Hopefully, it helps you.

     

    Hi Jet,

    thanks for exampe code. It seems to be very similar to my code. I am still not able to run it succesfully.

    Problem should not be timestamp. Function "HAL_GetTick()" only returns number of elapsed miliseconds from the start of program.

    I use the same configuration file ".\BSEC_1.4.7.4\config\generic_33v_3s_4d\bsec_serialized_configurations_iaq.h"

    Do you have any other idea where the problem could be?

    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