WT32-ETH01 I2C Problem

Hello,
I have a WT32-ETH01 that i am trying to use for climate control in my broiler.
When i use the MCU for controlling relays, everything works fine but when i try to add
i2c bus, WT32-ETH01 takes about 1 min to boot after that i can only ping the MCU but WT32-eth01 loses connectivity with home assistant

Yaml code is as follow:

esphome:
  name: wt32-eth01
  friendly_name: WT32-ETH01

esp32:
  board: esp32dev
  framework:
    type: arduino

web_server:
  local: True
  port: 80

# While using Docker esphome mDNS cannot resolve IP
# since it's done by homeassistant
mdns:
  disabled: True

# Enable logging
logger:
  logs:
    component: ERROR

# Enable Home Assistant API
api:
  encryption:
    key: "Y8UtoZvKVPWDRl6mpHa84qCjs24LseEzEBP8gd/wUdQ="

ota:
  password: "622d911039ea35909f0e10463ffdb4e0"

# Ethernet Config
ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

  manual_ip:
    static_ip: 192.168.110.12
    subnet: 255.255.255.0
    gateway: 192.168.110.1
    dns1: 192.168.110.1

# i2c:
#   sda: 32
#   scl: 33
#   scan: true
#   id: bus_b
#   frequency: 1kHz  

switch:
  - platform: gpio
    name: Test_ETH01
    id: id_bc_test
    icon: mdi:lightbulb-on
    pin:
      number: 4
      inverted: True
    restore_mode: always_off

# Restarts MCU
button:
  - platform: restart
    name: Restart - ETH01

Looking at the datasheet for this device (PDF link): https://99tech.com.au/mx-m/mod/mod-wt32-eth01_datasheet_v1.1.pdf

Page 9, Table 2 is a list of the available I/O. GPIO32 and 33 (that you specified for your I2C component) seem to be used for other functions.

If the CFG Pin (GPIO32) is low it restarts the module. Page 12, Section 6.2.2

There is no documentation for the 485_EN pin (GPIO33). While this appears to be an enable pin for an RS485 line driver there is no indication if the pin can be re-used for other functions.

Try choosing other available GPIO for your I2C component, like GPIO14 & 15.

1 Like