Waveshare ESP32-S3-ETH issue

Hi, I try to use the ESP32-S3-ETH with a POE hat for the use of a soil moisture sensor.
First I tried to flash this with the ESPHome integration from HASS. That succeeded, and I had wireless connection.
I think I made an error with the configuration of the ethernet config. After I removed the wifi config and added the ethernet config, the device didn't react anymore to ESPhome.

Also the COM port disappeared after a while when I had the ESP connected. When I connected the ESP after a while, the com-port was active again. Flashing was still not possible by ESPhome, but only by esptool or web.esphome.io.

The last config I tried was the config below, which I saw on another topic on the HASS community.
Do I have a hardware failure? Or do I need to do other things with S3 devices than older ESP's?

esphome:
  name: moisture
  friendly_name: moisture
  platformio_options:
    board_build.arduino.memory_type: qio_opi
    board_build.flash_mode: dio
    upload_speed: 921600
    monitor_speed: 115200

esp32:
  board: esp32-s3-devkitc-1
  flash_size: 8MB
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_ESP32_S3_BOX_BOARD: "y"
  
psram:
  mode: octal
  speed: 80MHz

logger:
api:
  encryption:
    key: "xxx"
ota:
  - platform: esphome
    password: "xxx"
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Moisture Fallback Hotspot"
    password: "***********************"
captive_portal:

web_server:
  port: 80

uart:
  id: mod_bus
  tx_pin: GPIO33
  rx_pin: GPIO34
  baud_rate: 4800
  stop_bits: 1

modbus:
  id: modbus1
  send_wait_time: 200ms

modbus_controller:
  - id: soil_sensor
    address: 1
    modbus_id: modbus1
    setup_priority: -10

sensor:
  - platform: modbus_controller
    modbus_controller_id: soil_sensor
    name: "Soil Humidity"
    id: soil_humidity
    register_type: holding
    address: 0
    unit_of_measurement: "%"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: soil_sensor
    name: "Soil Temperature"
    id: soil_temperature
    register_type: holding
    address: 1
    unit_of_measurement: "°C"
    value_type: S_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

What's the status with that configuration, exactly?

I cannot tell from experience for your device, but I generally would not use platformio_options and sdkconfig_options unless I know exactly why they are needed...

Here is a snippet of my Waveshare ESP32-S3-ETH that I used a few months ago.
You're missing the Ethernet chip (W5500) setup.

esphome:
  name: bt-proxy1
  friendly_name: BT Proxy1

esp32:
  variant: esp32s3
  flash_size: 16MB
  framework:
    type: esp-idf   
psram:
  mode: octal
  speed: 80MHz
  
#Using with Ethernet so commenting out WIFI
#wifi:
  #ssid: SSID
  #password: WIFIPASSWORD
# Enable fallback hotspot in case wifi connection fails
  #ap:
    #ssid: "Bluetooth-Proxy Fallback Hotspot"
    #password: BTProxyPassword

ethernet:
  type: W5500
  clk_pin: GPIO13
  mosi_pin: GPIO11
  miso_pin: GPIO12
  cs_pin: GPIO14
  interrupt_pin: GPIO10
  reset_pin: GPIO9
 #clock_speed: 26.67MHz
....

Thanks!

I tried the config, but it looks like it is in some kind of a boot-loop or something.
For a while I see a COM-port, but after a while it disappears. And the ESP won't react to anything.

Also if I have disconnected the ESP for a while, and I click it back in, the COM port appears again.

Do you have other devices connected to your Esp?

Nope, just the ESP

"While" sounds suspicious here. Did you try another cable?

I swapped the cable, and the ESP kept his COM port for a longer time now.
But when it is visible, I can flash the ESP. I now did flash it with the new cable also.
But I don't get an IP-address. Wired or wireless.

Logging gives no output.
Also without baud_rate 0.

I also don't see the link led blinking (yellow) only the act(green) is blinking.
Network settings are correct and tested.

Using Python 3.14.2 environment at: C:\Users\taren\.platformio\penv\.espidf-5.5.4
INFO Build Info: config_hash=0xe2024b61 build_time_str=2026-05-25 19:10:55 +0200
INFO Successfully compiled program.
esptool v5.2.0
Connected to ESP32-S3 on COM6:
Chip type:          ESP32-S3 (QFN56) (revision v0.2)
Features:           Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency:  40MHz
USB mode:           USB-Serial/JTAG
MAC:                3c:0f:02:d7:86:70

Stub flasher running.
Changing baud rate to 460800...
Changed.

Configuring flash size...
Auto-detected flash size: 16MB
Flash will be erased from 0x00010000 to 0x00077fff...
Wrote 425712 bytes (263341 compressed) at 0x00010000 in 2.7 seconds (1281.9 kbit/s).
Hash of data verified.
SHA digest in image updated.
Flash will be erased from 0x00000000 to 0x00005fff...
Wrote 20768 bytes (13278 compressed) at 0x00000000 in 0.2 seconds (692.3 kbit/s).
Hash of data verified.
Flash will be erased from 0x00008000 to 0x00008fff...
Wrote 3072 bytes (132 compressed) at 0x00008000 in 0.0 seconds (870.1 kbit/s).
Hash of data verified.
Flash will be erased from 0x00009000 to 0x0000afff...
Wrote 8192 bytes (31 compressed) at 0x00009000 in 0.0 seconds (2332.7 kbit/s).
Hash of data verified.

Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO UART logging is disabled (baud_rate=0). Not starting UART logs.