Bosch Sensortec Community

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

    BME680_driver on Jetson Nano (arm A57)

    BME680_driver on Jetson Nano (arm A57)

    gfast2
    Member

    Hi Folks,

    Long story short ->

    I'd like to let this sensor (sitting on "CJMCU-680" breakout) up & running on a Jetson Nano through I2C. My very 1st milestone is use BME680_driver.

    Nothing really special. The breakout board choosed I2C Address 0x77. This should be the most "special" one I guess. 😄

    ---

    Through 

     

     

    i2cdetect -y -r 0

     

     

    I know the sensor is there, and I did got dump from i2cdump under this address as well. I can read some registers without changes. (To exclude possible hardware issue)

    ---

    I got many input from repo (Bus read / write functions): bsec_bme680_linux

    Could any one gives me a idea what can be wrong with my mini implementation? My Repo: Bosch_BME680_Jetson

    The current symptom is: It only read out the values as follow:

     

     

    Status: 128 Index: 255 T: 33.87 degC, P: 679.49 hPa, H 100.00 %rH

     

     

     

    17 REPLIES 17

    Vincent
    Community Moderator
    Community Moderator

    Good to know the sensor is working.  

    But this temperature inscreasing is not expected performance of the sensor even the GAS measurement is turnning on.  It is already increased 8 degrees which is too big here.  

    Please also check if you have component on board to generate extra heat on PCB level. 

    Hi @Vincent, Thanks a lot for the reply.

     

    After playing around with different drivers. I may slowly understand why every one want get BESEC library get compiled in their project. With a 3rd-party library (https://github.com/pimoroni/bme680), I read out my room enviroment T:22°C / H: 60%, with the official bme680_driver I successfully  compiled yesterday, I read out T:33°C / H: 36%. Yes you are right, the difference is far away from each other. 

    I moved the break out on my workbench around to make sure it won't gethering heat any how, but still experienced similar symptom from both drivers. May the break out some how not a geniue BME680 soldered? (Breakout: CJMCU-680)

    Thanks again.

    Vincent
    Community Moderator
    Community Moderator

    I checked the link you provided to me,  i don't think the BME680 is not wel soldered on the board which will cause your current issue of higher temperature.  

    What is your room temperature as reference here?  

    In general,  i will say 33 degrees from BME680 API looks bit higher than expectation.  

    I need more details from your setup up which includes picture of system,  position of BME680,  sensor read out raw value, all calibration parameters from sensor, for better understanding the root cause of this issue. 

     

    | What is your room temperature as reference here?  

    Real temperature: 22.5°C, parameter in code:

    gas_sensor.amb_temp = 15;

    ---

    | In general,  i will say 33 degrees from BME680 API looks bit higher than expectation.  

    I do agree.

    | I need more details from your setup up which includes picture of system,  position of BME680,  sensor read out raw value, all calibration parameters from sensor, for better understanding the root cause of this issue. 

    • picture of system: see attachment, 😄
    • BME680 will be placed just on that wooden table (nearly hanging by 4x wires), far away from any heat source (monitor / computer)
    • sensor read raw value: Please indicate some tip if any about how
    • calibration parameters: as above, here is a dump I made by "i2cdump -y 0 0x77" from the system.
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 21 aa 16 4d 23 00 47 22 00 00 01 f8 00 04 02 a0    !??M#.G"..??.???
    10: a0 00 40 ff 00 00 20 00 1f 7f 1f 10 00 80 00 50    ?.@... .????.?.P
    20: 61 90 76 68 c0 5d c2 80 00 00 6e a0 00 04 00 00    a?vh?]??..n?.?..
    30: 80 00 00 80 00 00 80 00 80 00 00 00 04 00 04 00    ?..?..?.?...?.?.
    40: 00 80 00 00 80 00 00 80 00 80 00 00 00 04 00 04    .?..?..?.?...?.?
    50: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 10 10 02 04 8c 08 00 00 0f 04 fe 16 9b 08 10 00    ??????..???????.
    80: 86 2e 89 56 35 11 7f 06 b1 c0 54 67 03 f0 03 89    ?.?V5?????Tg????
    90: 6c d7 58 00 3f 24 f8 fe 17 1e 00 00 8f fe 37 f2    l?X.?$????..??7?
    a0: 1e 7d 22 00 00 00 00 00 00 00 00 00 33 00 00 c0    ?}".........3..?
    b0: 00 54 00 00 00 00 60 02 00 01 00 50 1f 60 03 00    .T....`?.?.P?`?.
    c0: 04 00 8c ff 0f 00 00 00 02 11 00 00 00 00 00 00    ?.?.?...??......
    d0: 61 01 00 00 00 00 00 00 00 00 00 00 04 10 40 00    a?..........??@.
    e0: 00 3e 43 35 00 2d 14 78 9c c9 65 e9 e6 d5 12 50    .>C5.-?x??e????P
    f0: 00 00 02 04 8c 08 00 50 61 90 76 68 c0 5d c2 80    ..????.Pa?vh?]??

     

    Vincent
    Community Moderator
    Community Moderator

    From the picture you provided,  the BME680 is far away from the heat source.  so i will not expect any self heating which brings the temperature value upto 33 degrees.  

    You try the memory dump which is not easy for me to read through.  i'm sorry for that.  

    Did you start from register address 0x00?  

    Do you able to go little deep inside bme680.c?  during the initialize,  the bme680_init should try to read the calibration parameters.  if you can print out the value after that call,  it will be helpful for me to take deep look into the issue.  

    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