How I installed ESPHome on the wt32-eth01

What do you mean with “I pulled the ic off”? All you need for flashing is a simple USB-TTL cable.

All markings match my board, including the WT32-S1 mark on the ESP’s shielding.

I ended up buying a usb ttl and was able to flash it :person_shrugging:

Thanks to everyone who posted here for helping me get my first WT32-ETH01 working. Here’s the code I now use as a starter for my WT32-ETH01 projects:

substitutions:
  device_name:              wt32-eth01-basic
  device_name_friendly:     WT32-ETH01-BASIC
  mqtt_location:            "Office"
  mqtt_device:              $device_name_friendly
  api_password: !secret     wt32_eth01_basic_api
  ota_password: !secret     wt32_eth01_basic_ota
  broker_address: !secret   broker_address
  led_gpio:                 GPIO5
  device_ip:                192.168.55.232
  network_gateway:          192.168.55.1
  network_subnet:           255.255.255.0

esphome:
  name:          $device_name
  friendly_name: $device_name_friendly

esp32:
  board: wt32-eth01
  framework:
    type: arduino

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16
  #Optional manual IP
  manual_ip:
    static_ip: $device_ip
    gateway: $network_gateway
    subnet: $network_subnet

# Enable the Home Assistant native API.
api:
  !include Components/Core/api.yaml

# Enable OTA updates.
ota:
  !include Components/Core/ota.yaml

# Enable logging.
logger:
  !include Components/Core/logger.yaml

# Enable I2C communication.
i2c:
  - !include Components/Core/i2c_esp32.yaml

# The text_sensor handles many MQTT publishing duties.
text_sensor:
  - !include Components/TextSensor/ethernet_info.yaml

# Enable MQTT publishing.
mqtt:
  !include Components/Core/mqtt.yaml

# The interval component handles many MQTT publishing duties.
interval:
  !include Components/Core/interval_ip.yaml

# Expose the node state for Home Assistant.
binary_sensor:
  !include Components/BinarySensors/status.yaml

I have one device running just this. It doesn’t really do anything. I have another which uses the Dallas 1-wire library to read temperature from a DS18B20 sensor.

Hi cubert.
I am planing to use the wt32-eth01 for windows and doors sensors. I adapted the binary sensor part of your code. i have some issues with my board it keep resetting.
Before i buy a new on, I just wonder if you use this code in your house and how reliable it is?
thanks for your help

One comment: I had trouble get it running with my USB programmer. Only after supplying real external 5V the WT32-ETH01 powered up correctly. (Programming went with USB-5V)

Hello,

I’m trying to install esphome in this esp32 but lan doesn’t seem to work. I notice my esp is esp32-eth01 v1.4. It’s different from wt32?

I put some images of connection too. the led seems to be always in red and doesn’t blink when i put some code.

my code:

esphome:
  name: ethergloop
  friendly_name: ethergloop
  platformio_options:
    upload_speed: 115200

esp32:
  board: esp32dev

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16  # Power control for Ethernet PHY

# Web server
web_server:
  port: 80

# Enable logging for debug info
logger:
  level: DEBUG

# API for Home Assistant integration
api:

# Over-the-air updates
ota:

# Optional: Move LED indicator to GPIO2 to avoid Ethernet conflict
status_led:
  pin: GPIO2

# Optional: Uptime sensor for diagnostics
sensor:
  - platform: uptime
    name: "Ethernet Uptime"
    update_interval: 60s


The error I get:

[10:11:43]rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[10:11:43]configsip: 0, SPIWP:0xee
[10:11:43]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[10:11:43]mode:DIO, clock div:1
[10:11:43]load:0x3fff0030,len:1184
[10:11:43]load:0x40078000,len:13160
[10:11:43]load:0x40080400,len:3036
[10:11:43]entry 0x400805e4
[10:11:44][W][esp-idf:000]: E (422) esp.emac: emac_esp32_init(349): reset timeout

[10:11:44][W][esp-idf:000]: E (423) esp_eth: esp_eth_driver_install(214): init mac failed

[10:11:44][E][ethernet:106]: ETH driver install error: (263) ESP_ERR_TIMEOUT
[10:11:44][E][component:113]: Component ethernet was marked as failed.

Hi Ricardo,

I seem to have bought the same type of boards.
I’m equally unable to get them to run, with identical errors as you have listed.

Tried multiple combinations of board & framework type & ethernet config, none seem to work.
cfr: When using wt32-eth01 as board and esp-idf as framework type, ethernet is not working on a WT32-ETH01 · Issue #5644 · esphome/issues · GitHub
cfr: esp32-eth01 lan problem · esphome/esphome · Discussion #4207 · GitHub
cfr: Ethernet Component — ESPHome

Also tried to delay boot, cfr

But that did nothing either.

I’m ordering new board from Aliexpress.
Now I’m going to make sure the text on the board reads WT32-ETH01 instead of ESP32-ETH01. Hopefully the text reflects a meaningful difference.

I have another similar board that I got working and I noticed that the wifi&BT module on the working board (i.e. the iron container with ESP32-WROOM-32 etched into it) also has a QR code etched in it.
The board that does not work does not have that.

Hopefully I can re-use the non working eth boards for wifi.
Let me know if you got cabled ethernet working after all. Thx.

br,
Ruben

1 Like

Hello Ruben,

This will work. Thanks for someone in Russia.

esphome:
  name: ventiladorsuite
  friendly_name: ventiladorsuite
  platformio_options:
    board_build.flash_mode: dio
    board_build.flash_size: keep

esp32:
  board: 'wt32-eth01'
  framework:
    type: arduino

# Enable Logging
logger:
  level: DEBUG

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_OUT
  phy_addr: 1
  power_pin: GPIO16

Hi Ricardo,

thanks for sharing your config.
Finally was able to test.

I did indeed help to get the Ethernet programmed.
And when starting the board it seemed ok (according to the logs).
However the board was very unstable in being reachable over Ethernet.
Most of the time it did not work.

In the mean time my newly ordered boards have arrived.
And when programming with the original config, i.e. clk_mode: GPIO0_IN,
the programming worked immediately and the board is stable when connected to Ethernet.

So still considering these specific boards that work with the GPIO0_OUT as rubbish.

br,
Ruben