[M5Stack AtomPoE with Atom Lite attached] Basic ESPHome setup?

Hi2uAll!

I’m ordered and received a M5Stack AtomPoe (HY601742, W5500) component (with Atom Lite ESP32 module attached). Now I need an basic setup to get things working.

I found some basic information:

As mentioned in the above link, a setup for a PoE Device:

ethernet:
  ethernet:
  type: W5500
  clk_pin: GPIOXX # G22?
  mosi_pin: GPIOXX # G33
  miso_pin: GPIOXX # G23
  cs_pin: GPIOXX # G19
  interrupt_pin: GPIOXX #??
  reset_pin: GPIOXX #??

I found some basic setup:

ethernet:
  type: IP101
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  power_pin: GPIO5  
  phy_addr: 1

# Enable Home Assistant API
api:
  encryption:
    key: "MpjOHfRgTREDTh3wsqfMvOQmOmy7SN/nALAOXFNLMcQ="

Can I combine one another? Do I need power_pin and phy_addr?

I also found the setup of a pre configured ESP Home Atom Lite:

So I can use, right?

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

Can anyone please help me or has anyone a basic setup example?

Any help would be very appreciated!

I found working config for ATOM PoE+Atom Lite
But it’s very slow, because you need to set clock_speed: 20Mhz
ping is 700ms

ethernet:
  type: W5500
  clk_pin: GPIO22
  mosi_pin: GPIO33
  miso_pin: GPIO23
  cs_pin: GPIO19
  clock_speed: 20Mhz
1 Like

@klim123123 Thanks for your respond, it’s appreciated!
Can you share your full config of the ATOM PoE+Atom Lite?

substitutions:
  name: esphome-web-acc5c8
  friendly_name: AtomLITE-1

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp32:
  board: m5stack-atom
  framework:
    type: arduino

# Enable logging
logger:

ethernet:
  type: W5500
  clk_pin: GPIO22
  mosi_pin: GPIO33
  miso_pin: GPIO23
  cs_pin: GPIO19
  clock_speed: 20Mhz

i2c:
  sda: GPIO26
  scl: GPIO32
  scan: true
  id: bus_a

pca9554:
  - id: 'pca9554a_device'
    address: 0x27
  
switch:
  - platform: gpio
    name: "PCF9554A Pin #0"
    pin:
      pca9554: pca9554a_device
      # Use pin number 0
      number: 0
      # One of INPUT or OUTPUT
      mode:
        output: true
      inverted: false
binary_sensor:
  - platform: gpio
    name: "PCF9554A Pin #1"
    pin:
      pca9554: pca9554a_device
      number: 1
      mode:
        input: true
#        pullup: true

sensor:
- platform: kmeteriso
  temperature:
    name: Temperature
  internal_temperature:
    name: Internal temperature

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

# To have a "next url" for improv serial
web_server:
1 Like

@klim123123 Thank you so much! :+1:

Do you have the same problem with lagging and huge pings?
Please try to ping your device when it’s connected to ethernet.

I have the same module and the sort of the same config but the module is not showing up in my network. I’m I missing something?

 esp32:
  board: m5stack-atom
  framework:
    type: arduino   
 
 ethernet:
   type: W5500
   clk_pin: GPIO22
   mosi_pin: GPIO33
   miso_pin: GPIO23
   cs_pin: GPIO19
   clock_speed: 20Mhz

@ptrkp @klim123123 , sorry for the late response, lack of time to test/investigate anything. :roll_eyes:

@ptrkp, to try to answer your question, can you check your network router/setup if it is seen as present?

today, i tried again to test. tried everything: turn off logger, tried all variants with different clock_speed, manual ip address. always the same problem: lagging device with ping >900ms.
i tried Arduino code from m5stack github
it’s just works. with 1ms ping. ok, but i don’t need Arduino, i want ESPHome.
looks like something wrong with W5500 component in ESPHome.

No, it is not showing up.

Hi all,
I am curious if anyone managed to make this work?
I can run the same ethernet settings on a W5500 board (no PoE) but with the AtomPoE, is not connecting to the ethernet. Even if the logs say the connection is successful, there actually is not connection, the device can’t be reached via ping.

The output of the monitor for me are like these:

[20:36:17][W][ethernet:262]: Connection via Ethernet lost! Re-connecting...
[20:36:17][W][component:157]: Component ethernet set Warning flag: waiting for IP configuration
[20:36:21][D][esp-idf:000][sys_evt]: I (17853) esp_netif_handlers: eth ip: 192.168.11.25, mask: 255.255.255.0, gw: 192.168.11.1
[20:36:21]
[20:36:21][I][ethernet:247]: Connected via Ethernet!
[20:36:21][C][ethernet:492]:   IP Address: 192.168.11.25
[20:36:21][C][ethernet:493]:   Hostname: 'wt32-sc01-plus-eth'
[20:36:21][C][ethernet:494]:   Subnet: 255.255.255.0
[20:36:21][C][ethernet:495]:   Gateway: 192.168.11.1
[20:36:21][C][ethernet:500]:   DNS1: 0.0.0.0
[20:36:21][C][ethernet:501]:   DNS2: 0.0.0.0
[20:36:21][C][ethernet:513]:   MAC Address: 3C:84:27:<redacted>
[20:36:21][C][ethernet:514]:   Is Full Duplex: YES
[20:36:21][C][ethernet:515]:   Link Speed: 100
[20:36:21][W][component:170]: Component ethernet cleared Warning flag

When I try setting it up with DHCP, it gets into a Reconnecting… loop.

It is a really nice piece of device, having PoE and ethernet in such a small space, but there is something that I am missing.

Any suggestion is appreciated.
Thanks Alex.

There is no DNS address assigned?

I have some Atom Lites already deployed, and would be interested to add Ethernet to them with the AtomPOE. I don’t however have POE switches or injectors - would I continue to be able to power the Atom Lite + AtomPOE via the Atom Lite’s USB-C connector?