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_1_SDA":0,"I2C_Bus_1_SCL":26,"SHT_I2c_Bus":1,"BMP280_I2c_Bus":1,"BMP280_I2c":"0x76"}}Verified on an M5StickC Plus (October 2026): the SHT30 and BMP280 both report.
- Apply the M5StickC Plus board template first. The HAT plugs into the header on top of an M5StickC or M5StickC Plus, not the GROVE port. The template moves I2C bus 1 from the GROVE port (GPIO 32/33) to the HAT header, so the GROVE port has no I2C bus while it’s applied. I2C bus 2 stays on GPIO 21/22 for the board’s AXP192 power chip.
- 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).