How I installed ESPHome on the wt32-eth01

But how many expander use and how many light ?

It’s really nice of you sharing it, but would you mind editing your post to format your yaml properly?

Just add this line before and after your code:

Your code

And it will look like this (much easier to read when it is real yaml):

Your code

Thank you for sharing your code, but, PLEASE use code tags:

No, it’s standard PoE (802.3at). I have a few of these as well, they work fine.

You can use as many expanders as you can assign i2c addresses - that’s 8 for the MCP23017. And then you can use i2c multiplexers like the TCA9548A. I use them for my lights as well, my biggest system has 7 additional i2c devices (2xMCP23017, 5xPCF8574) with a total of 48 relays (lights, blinds) and 24 digital inputs (light switches). I use

  sda: 2
  scl: 4

on my WT32-eth01. Works very well for me!

1 Like

do you notice any delays or so when having so much devices on one ESP?

No noticeable delay with the 7 GPIO expanders. And I’m running the bus only at 50kHz while it could be run at 400kHz.

But please share your config ESPHome… please
I use 8 x MCP23017

Hi. I only see small problem with dual click on my configuration ESP32 with 8xMCP23017. But now it works ok and accepted. I setup time for multiclick and looks good.

I use frequency 200KHz because on 50kHZ no working ok with dual click…

I do not use multi-click, I only have short and long button presses. And I do not use WiFi, this might save some CPU cycles.
My config is in no way special - just a regular i2c bus, the mcp hubs and the individual sensors/swtiches.
NB: My previous post was badly phrased, I do not use i2c multiplexers, but 7 i2c port exanders.

I also not use wifi.
Please share your config…

That’s the only relevant part:

  sda: 2
  scl: 4

  - id: 'mcp23017_hub'
    address: 0x20
  - id: 'mcp23017_hub_2'
    address: 0x24

  - id: 'pcf8574_1'
    address: 0x21
    pcf8575: False
  - id: 'pcf8574_2'
    address: 0x22
    pcf8575: False
  - id: 'pcf8574_3'
    address: 0x23
    pcf8575: False
  - id: 'pcf8574_4'
    address: 0x25
    pcf8575: False
  - id: 'pcf8574_5'
    address: 0x26

and then I use the regular GPIO assignments:

  - platform: gpio
      mcp23xxx: mcp23017_hub
      number: 0
      mode: OUTPUT
      inverted: yes
    id: light_output_0

Hello, I have wt32-eth01 - works ok, but if I disconnect ethernet, program inside wt32 works fine about 15 minute and then stop working. It is possible run program without ethernet? Seems like check connection to esphome and then reboot and not start if miss ethernet. (I dont use MQTT).

Try to set

  reboot_timeout: 0s

Perfect. It works :slight_smile:

1 Like

Hi folks!

Anyone willing to let me know the pinout of this device? I mean what do I write if I want to use IO5 for example and so on and so forth? For example I copied someone else’s code for i2c as sda: 33 and scl: 32 but no idea how that translated to the labeling on the board itself.

And is there an Analog pin?

So in the end do you have or know of a pinout that makes the connection between what is written on the board (ex: IO5) and what I need to input in yaml (ex: 31)?

Thank you so much!


You have IO5 here on the board, this translates to GPIO5 in your YAML (it’s a 1:1 mapping). What exactly is your question here?

The few pins that have a label like RxD or RS485_EN can be found in the datasheet - just use your favorite search engine to look for it.

Analog In or Out? Check any ESP32 pin overview to check which GPIO doubles as ADC or DAC pin.

1 Like

Hi, maybe you can help me… i already flashed the WT32-eth01 – V1.2 with tasmota en Neopool… i want to substitute my wifi esp32 solutio to control my pool… my problem now is, which rx / tx ports i have to use for the my ttl to modbus converter… on the normal esp32 there are RX0 and TX0 – working fine… here with the wt32 think i will try also to use the RX0 and TX0 ports which are also used for flashing… this ports i can „connect” to the neopool rx / tx via the tasmota module configuration… because gpio17 i have not in that configuration … which is explained as TXD and gpio5 as RXD…maybe someone already has used it… than i also have to connect the DS18x20 Temperature sensor… i will try gpio02 and 04…. and than i want to use a simple „switch” for getting a high water level information… which gpio would be good for this? thanks Oliver

If you use tasmota, you should ask in the tasmota forum. We are talking about ESPHome here, and for ESPHome I would advice you not to use RX0 and TX0 at all if you have enough other pins.