M5Stack ENV II HAT
| Sensors | SHT30 (temperature, humidity) and BMP280 (temperature, pressure); its BMM150 magnetometer has no driver |
|---|---|
| Connection | M5StickC HAT header: I2C on GPIO 0 (SDA) and GPIO 26 (SCL); SHT30 at 0x44, BMP280 at 0x76 |
Template
Section titled “Template”Paste this into the Board Template box on the node's Templates page, Preview and Apply. It sets the I2C pins as well as the sensors, so it only fits esp32 boards with this connector, and it works on top of the board's own template. See Add-on templates.
{"chip":"esp32","settings":{"I2C_Bus_2_SDA":0,"I2C_Bus_2_SCL":26,"SHT_I2c_Bus":2,"BMP280_I2c_Bus":2,"BMP280_I2c":"0x76"}}Verified on an M5StickC Plus with v5.0.0b5 (October 2026), on I2C bus 2 alongside the AXP192 on bus 3: the SHT30 and BMP280 both report.
- Apply the M5StickC Plus board template first (v5.0.0b5 or later). The HAT plugs into the header on top of an M5StickC or M5StickC Plus, not the GROVE port. This template puts I2C bus 2 on the HAT header, so the GROVE port keeps bus 1 for another add-on, and the AXP192 power chip stays on the software bus 3.
- The template names
"chip": "esp32"because it sets pins. Firmware before v5.0.0b3 requires a chip on every template anyway, so it works there too. - The SHT30 publishes
temperatureandhumidity; the BMP280 publishesbmp280_temperatureandbmp280_pressure. Use the SHT30’s temperature: in testing the BMP280 read about 1.5 °C warmer. - The ENV III HAT pairs the SHT30 with a QMP6988, which has no driver. On that HAT, leave out the two
BMP280settings and only the SHT30 reports (untested).