M5Stack Atom with M5Stack ENV Pro Unit with Temperature, Humidity, Pressure and Gas Sensor (BME688)

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!

2 Likes