Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 2 FirstFirst 1 2
Results 26 to 35 of 35

Thread: Adafruit BMP390 over I2C with Wire.h on Teensy 3.6 ok but not for Teensy 4.1

  1. #26
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,196
    Quote Originally Posted by Wez View Post
    I have been laughing at the solution to this, i spent a reasonable amount of time altering and changing the delay40; and looking for any changes.............
    I just never thought to comment it out !!

    Thank you and much appreciated, i will follow up on my Adafruit post with the answer for others.
    Yeah - know the feeling. Glad its working for you.

  2. #27
    Junior Member
    Join Date
    Dec 2020
    Posts
    10
    I also successfully tested
    • Arduino Uno with BMP390
    • Teensy 3.6 with BMP388
    • Teensy 4.1 with BMP390


    with no delay in Adafruit_BMP3XX.cpp:
    Click image for larger version. 

Name:	2021-01-07 16_59_11-Adafruit_BMP3XX.cpp.png 
Views:	21 
Size:	24.7 KB 
ID:	23141

    Thank you very much for the support here!


    Just two questions:
    1. I recognized that some hex values (not the temperature, pressure, altitude) are not identical between the three PLCs. What is the reason for that?
    2. Is there any follow up (i.e. bug report) with this "knowledge"?

  3. #28
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,196
    As you probably noticed LadyAda requested a PR for them to evaluate so I just sent them a PR: https://github.com/adafruit/Adafruit_BMP3XX/pull/14.

    EDIT: Quick up the Adafruit Library has been updated.
    Last edited by mjs513; 01-09-2021 at 09:27 AM.

  4. #29
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    9,206
    good Work... I will be picking my Sparkfun one up probably in the next hour.

  5. #30
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,196
    Quote Originally Posted by KurtE View Post
    good Work... I will be picking my Sparkfun one up probably in the next hour.
    Great - another data point. Just hooked up my DFRobot BMP388 to a Teensy 4.0 and its working without a problem. Just got it last night but was distracted with LittleFS again.

    EDIT: Think I put back the delay(40) correctly as a second test point and with the DFRobot BMP388 it works with and without the delay(40);

  6. #31
    Senior Member
    Join Date
    Jan 2013
    Location
    San Francisco Bay Area
    Posts
    645
    I ordered some boards of the one I posted earlier. I'll report back if they work on a teensy 4.1.

  7. #32
    Senior Member
    Join Date
    Jan 2013
    Location
    San Francisco Bay Area
    Posts
    645
    Just wanted to provide an update. I had a 3.6 beta board, but not a 4.x board to test.

    So far I've only tried the bmp390 board on a LC, but the boards I ordered work well:
    http://www.diymalls.com/MP390-Barome...ature%20Sensor
    I'd probably get the Adafruit or Sparkfun for a single one, but if you need 5 or 10, the price is pretty good.

    Highly recommend the driver KurtE recommended. It's been working for the BMP390 and it's much more complete. There's also no delay used anywhere except for a reset call:
    https://github.com/MartinL1/BMP388_DEV

    Here are a list of the examples:
    BMP388_ESP32_HSPI_Normal
    BMP388_ESP32_I2C_Normal_DefinedPins
    BMP388_ESP8266_I2C_Normal_DefinedPins
    BMP388_I2C_Forced
    BMP388_I2C_Forced_Interrupt
    BMP388_I2C_Normal
    BMP388_I2C_Normal_FIFO
    BMP388_I2C_Normal_Interrupt
    BMP388_I2C_Normal_Interrupt_FIFO
    BMP388_SPI_Forced
    BMP388_SPI_Forced_Interrupt
    BMP388_SPI_Normal
    BMP388_SPI_Normal_FIFO
    BMP388_SPI_Normal_Interrupt
    BMP388_SPI_Normal_Interrupt_FIFO
    BMP388_SPI_Normal_Multiple

  8. #33
    Senior Member
    Join Date
    Dec 2016
    Posts
    121
    Quote Originally Posted by linuxgeek View Post
    Highly recommend the driver KurtE recommended. It's been working for the BMP390 and it's much more complete. There's also no delay used anywhere except for a reset call:
    https://github.com/MartinL1/BMP388_DEV

    Here are a list of the examples:
    BMP388_ESP32_HSPI_Normal
    BMP388_ESP32_I2C_Normal_DefinedPins
    BMP388_ESP8266_I2C_Normal_DefinedPins
    BMP388_I2C_Forced
    BMP388_I2C_Forced_Interrupt
    BMP388_I2C_Normal
    BMP388_I2C_Normal_FIFO
    BMP388_I2C_Normal_Interrupt
    BMP388_I2C_Normal_Interrupt_FIFO
    BMP388_SPI_Forced
    BMP388_SPI_Forced_Interrupt
    BMP388_SPI_Normal
    BMP388_SPI_Normal_FIFO
    BMP388_SPI_Normal_Interrupt
    BMP388_SPI_Normal_Interrupt_FIFO
    BMP388_SPI_Normal_Multiple
    The martinL1 library works for me to.

  9. #34
    Junior Member
    Join Date
    Sep 2017
    Posts
    3
    Not to hijack this thread, but someone may want to be aware that running an Adafruit BMP388 and BMP390 at the same time on a Teensy 4.1 with the Adafruit demo script (bmp3xx_simpletest), it will give a false or bad pressure for one of the two pressure sensors when run at the same time. If run via I2C by themselves, each sensors will work just fine. A bug is open on github, however I'm wondering if it is some issue with Wire on the Teensy 4.1 itself.

    https://github.com/adafruit/Adafruit_BMP3XX/issues/18

    Example Output:
    Code:
    BMP388 Sensor #1 using &Wire  0x76 
    Temperature = 26.56 *C
    Pressure = 1012.74 hPa
    Approx. Altitude = 3.88 m
    
    BMP390 Sensor #2  using &Wire1 0x77
    Temperature = 27.25 *C
    Pressure = 958.15 hPa   <===========[WRONG PRESSURE REPORTED]
    Approx. Altitude = 468.74 m

  10. #35
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,196
    Quote Originally Posted by Jerry View Post
    Not to hijack this thread, but someone may want to be aware that running an Adafruit BMP388 and BMP390 at the same time on a Teensy 4.1 with the Adafruit demo script (bmp3xx_simpletest), it will give a false or bad pressure for one of the two pressure sensors when run at the same time. If run via I2C by themselves, each sensors will work just fine. A bug is open on github, however I'm wondering if it is some issue with Wire on the Teensy 4.1 itself.

    https://github.com/adafruit/Adafruit_BMP3XX/issues/18

    Example Output:
    Code:
    BMP388 Sensor #1 using &Wire  0x76 
    Temperature = 26.56 *C
    Pressure = 1012.74 hPa
    Approx. Altitude = 3.88 m
    
    BMP390 Sensor #2  using &Wire1 0x77
    Temperature = 27.25 *C
    Pressure = 958.15 hPa   <===========[WRONG PRESSURE REPORTED]
    Approx. Altitude = 468.74 m
    Reading the issue on github that you referenced it doesn't appear to be a I2C problem but a library issue. Since they are using the lib for the two different sensors. ladyada came back and said:
    you cannot run two of these at the same time... no ETA on when it would be changed/fixed
    So you could try running the library that @KurtE mentioned for the BMP388 and the Adafruit one for the BMP390 and see if that helps:

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •