Shop OBEX P1 Docs P2 Docs Learn Events
Parallax Sells a BME680 Environment sensor but no SPIN — Parallax Forums

Parallax Sells a BME680 Environment sensor but no SPIN

It's curious that Parallax made a BME680 board but didn't provide a SPIN/PASM driver for it.

I think it would be hard to make something to sell that leaves out 90% of its user base.

For a C coder BOSCH provides a driver out of the box and just required adding some interface functions to make it work.

For SPIN or PASM that would be a different story. SPIN until recently didn't have floating point which is what the driver was coded for but also provides a fixed-point setup that leaves out the environment sensor if used.

In any case this is a nice product that provides a lot of feature function that can't be used by the SPIN community.

Mike

Comments

  • JonnyMacJonnyMac Posts: 9,102

    I was able to get some basics working, but with Bosch's "Use C or we don't support you" approach, I wasn't able to fully flesh it out. That was before floats were added to Spin2, so I may try again -- but it will be for the P2. Yes, I did try their fixed point routines -- I could never get the outcome to match their examples.

  • iseriesiseries Posts: 1,492

    One other thing. I was using the P2 RTC module and found that the interrupt pin was tied to the I2C clock pin.

    That didn't make sense to me as the board uses up all 8 GPIO pins and so using one of the other 6 pins would have work just fine.

    Now I have to disable I2C to check the alarm with pullups enabled. Using another pin would have made it easy to use.

    Mike

  • iseriesiseries Posts: 1,492

    @JonnyMac , Yes I went down that rabbit hole with the BME280 when it first came out. Not fun.

    Mike

  • VonSzarvasVonSzarvas Posts: 3,448
    edited 2024-04-05 09:59

    @iseries said:
    One other thing. I was using the P2 RTC module and found that the interrupt pin was tied to the I2C clock pin.

    That didn't make sense to me as the board uses up all 8 GPIO pins and so using one of the other 6 pins would have work just fine.

    Now I have to disable I2C to check the alarm with pullups enabled. Using another pin would have made it easy to use.

    Mike

    I can share some insight...

    • The IO pins use only P56/P57 when the P2 RTC module is connected to the upper accessory port.
    • That was the design requirement, so that the module need not take up an entire bank of IO's.
    • Sure it takes some extra code, but it saves pins and I believe Chip wanted it like that due to his standalone-system hardware developments that are exciting but yet to be released in public.
    • In the P56/57 position, when used on the P2-EC the LEDs are shared; when used on the P2-EC32MB the PSRAM CLK and CE pins are shared.
    • One approach is to read the RTC only at system power-up, use the interrupt pin at power-up only for calibration against the more-accurate P2 oscillator, and then put the RTC to sleep (but still keeping time) and use a P2 counter to keep time for the executing P2 code. Perhaps repeating the process (of RTC wakeup-calibrate-read-sleep) once or twice per day to re-sync and account for possible temperature changes/ re-calibration, special date/time moments, etc...

    Tip -- you might consider removing the SDA pull-up resistor anyway and make use of the Smart pullups where needed, and push-pull for the I2C bus. Doing that will increase the battery standby life from maybe a month to about 18 months. Might be handy for your outdoor system if that's going to be unpowered for long periods. (caveat: Those numbers are just from memory-- meant to be indicative of the standby life gain only). SDA resistor is the one closest to the IO header pin marked 0.

  • iseriesiseries Posts: 1,492

    @VonSzarvas , Funny none of that is mentioned in the writeup for this device. Sounds like it would be a selling factor for its use although I seem to remember sharing pins with the micro SD and Flash not working out so well.

    I think if you wanted to share a number of devices on one pin you would have put a STEMMA QT or QWiic connector on the board as it is small enough and works with multiple devices from several manufacturers.

    Mike

  • Life is funny indeed.

Sign In or Register to comment.