(PM2.5 + SHT30) and ENV III



  • Hello,
    Since the built-in temp/hum sensor of the PM2.5 module is not so accurate (probably due to the proximity with the main board) I am considering using the ENV III module to get the temp and humidity.

    I suppose that the modules use the same I2C address so there will be a conflict if I connect ENVIII to the I2C bus.

    My questios are:
    is there a way to disable the built-in SHT30? Is using PaHUB a solution to have the ENVIII connected while the PM2.5 module is also connected?

    Later edit:
    I am testing using UIFlow , PM2.5 module, PaHub and ENV III.
    While sometimes the app runs fine (only when the ENVIII is in PORT0 of the PaHUB), the values displayed seem to be from the built-in module.
    When I move the ENVIII sensor to another port, the app just crashes with the CRC error message
    0_1695913223086_2023-09-28_17-58-42.png

    0_1695913355997_20230928_164645_resize.jpg

    Thank you!



  • @dumitru,

    See https://docs.m5stack.com/en/product_i2c_addr
    I think you might have a clash either way:

    Depending on chip, ENV III (QMP6988) with PaHUB:
    Or ENVIII (SHT30) and the cradle base with the SHT30 in it.
    https://shop.m5stack.com/products/btc-standing-base-for-m5-core-with-sht30
    "Once M5Stack Core has been attached to BTC, it can not connect to an ENV Unit. This is to avoid I2C address conflict with built-in SHT30 sensor of BTC Base."

    ENV III UNIT
    0x44(SHT30)
    0x70(QMP6988)

    PM2.5
    0x40(SHT20)

    DLight UNIT
    0x23(BH1750FVI)

    M5Core
    0x75(IP5306)
    0x68(MPU6886)
    0x6C(SH200Q)
    0x10(BMM150)

    PaHUB UNIT
    0x70(TCA9548A)
    PaHUB2 UNIT
    0x70(PCA9548AP)

    You can confirm chip on ENV III from the sticker on the back. If conflict is with SHT30, try with Core out of the cradle.



  • @gavin67890 , thank you so much for your reply. Highly valuable information I totally missed when browsing the m5stack website. I was in a rush to get going and I was mixing up modules.
    The https://docs.m5stack.com/en/product_i2c_addr is especially valuable as I was struggling with those IDs.

    My kit was using the SHT30 built into the base, while I was reading the docs and trying the code for the one with the SHT20. Having the exact same physical look was the main cause for my misunderstanding.

    I really appreciate your help! Now I have everything up and running smoothly.

    Thank you!!!



  • There are 2 versions of the PM2.5, the old uses the SHT20 which I have just shouted at M5Stack to fix while the new has the SHT30 which conflicts with the ENV3 and ENV4