I had a requirement to have a USB powered sensor (due to the frequency of measurements). Having already been using the M5Stack as a Bluetooth Proxy for some blinds I thought I’d see whether this was an appropriate platform.
The answer was, of course, yes as there are a variety of sensors that simply plug into the Grove port and can be addressed by I2C.
In this case I went with the Env Pro with BME688 sensor which came with the connecting cable.
Picture of the sensor
Connect the Sensor to the M5Stack with the supplied cable.
Connect the M5Stack to you computer with USBC cable (has to be a data cable).
Open ESPHome and Add new device and prepare for first time use.
After you’ve got it added to HA then use the following yaml for a start.
esphome:
name: esphome-web-xxxxx
friendly_name: <Your_Friendly_Name>
min_version: 2024.11.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
i2c:
sda: 26
scl: 32
scan: true
id: bus_a
sensor:
- platform: bme680
address: 0x77
update_interval: 10s
temperature:
name: "Temperature"
pressure:
name: "Pressure"
humidity:
name: "Humidity"
There are some other bits on the sensor board like Air quality etc but this is the basic starting point. Hope this helps someone!