Getting m5stack atom lite and the ENVIII setup?

Has anyone have this working with ESPHome builder / Home Assistant?

I have

  • M5Stack ATOM Lite
  • M5Stack EnvIII sensor (connected with HY2.0-4P Cable).
  • ESPHome builder 2025.6.3
  • HA Green running 2025.7 (also tested on 2025.6.x)

I can compile and install the config to the atom lite over USB connected to the HA Green. Once installed I can access the ATOM Lite via wifi

At the end of the install process I do get this error, with similar error if I access the logs over wifi

[11:47:31][C][i2c.idf:083]: I2C Bus:
[11:47:31][C][i2c.idf:084]:   SDA Pin: GPIO21
[11:47:31][C][i2c.idf:084]:   SCL Pin: GPIO22
[11:47:31][C][i2c.idf:084]:   Frequency: 50000 Hz
[11:47:31][C][i2c.idf:094]:   Recovery: bus successfully recovered
[11:47:31][I][i2c.idf:104]: Results from bus scan:
[11:47:31][I][i2c.idf:106]: Found no devices
[11:47:31][C][factory_reset.button:011]: Factory Reset Button 'Factory reset'
[11:47:31][C][factory_reset.button:011]:   Icon: 'mdi:restart-alert'
[11:47:31][C][sht3xd:049]: SHT3xD:
[11:47:31][D][sht3xd:052]:   Error reading serial number
[11:47:31][E][sht3xd:061]:   Communication with SHT3xD failed!
[11:47:31][E][component:088]:   Component sht3xd.sensor is marked FAILED: 

Would anyone see where I have gone wrong, I am assuming that the code snippet for the env sensor needs tweaking but I am unsure how to get the correct settings.

Yaml

esphome:
  name: air-test
  friendly_name: air-test
  min_version: 2025.6.0
  name_add_mac_suffix: true

# https://github.com/esphome/issues/issues/5294#issuecomment-2075784260
# https://github.com/esphome/issues/issues/5710#issuecomment-2063260398
#external_components:
#  - source:
#      type: git
#      url: https://github.com/mrtoy-me/esphome-my-components
#      ref: main
#    components: [ sht3xd ]

esp32:
  board: m5stack-atom
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa="

ota:
  - platform: esphome
    password: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: 10.1.1.5
    gateway: 10.1.1.1
    subnet: 255.255.255.0


button:
  - platform: safe_mode
    id: button_safe_mode
    name: Safe Mode Boot

  - platform: factory_reset
    id: factory_reset_btn
    name: Factory reset



# Example configuration entry for the ENV III sensor
i2c:
  sda: 21
  scl: 22
  scan: True
  id: bus_a

# Individual sensors
sensor:
  - platform: sht3xd
    temperature:
      name: "Temperature"
      id: temperature_sensor
    humidity:
      name: "Humidity"
      id: humidity_sensor
    address: 0x44
    update_interval: 60s

Does ‘factory reset’ wipe out all your settings?

Not something I have tried or needed to. It’s left over initial ESPHome build config

It looks like the Grove connection on that board is GPIO32 and GPIO26, not the pins you have chosen:

Also - check out the discussion re i2c and esp32 using the idf framework:

1 Like

Thank you this was it. I will eventually get the hang of groking all this information from datasheets to use properly

logs

INFO ESPHome 2025.6.3
INFO Reading configuration /config/esphome/air-test.yaml...
INFO Starting log output from /dev/ttyUSB1 with baud rate 115200
[20:15:42][D][sht3xd:097]: Got temperature=22.48°C humidity=54.58%
[20:15:42][D][sensor:098]: 'Temperature': Sending state 22.47921 °C with 1 decimals of accuracy
[20:15:42][D][sensor:098]: 'Humidity': Sending state 54.57847 % with 1 decimals of accuracy

Working yaml config.

esphome:
  name: air-test
  friendly_name: air-test
  min_version: 2025.6.0
  name_add_mac_suffix: true

esp32:
  board: m5stack-atom
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

ota:
  - platform: esphome
    password: "aaaaaaaaaaaaaaaaaaaaaaa"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: 10.1.1.5
    gateway: 10.1.1.1
    subnet: 255.255.255.0

# Example configuration entry for the ENV III sensor
i2c:
  sda: 26
  scl: 32
  scan: True
  id: bus_a
  frequency: 800kHz
  timeout: 10ms

# Individual sensors
sensor:
  - platform: sht3xd
    temperature:
      name: "Temperature"
      id: temperature_sensor
    humidity:
      name: "Humidity"
      id: humidity_sensor
    address: 0x44
    update_interval: 60s