Hi, I would like to show how I installed EspHome on the WT32-ETH01 I bought from Aliexpress, for others to benefit.
I just used the normal Esphome dashboard and was suprised how easy it was.
I bought the WT32-ETH01 because I wanted to use ESPhome in combination with Ethernet.
A list of ethernet devices supported by ESPhome is here: Ethernet Component — ESPHome
Why Ethernet and not Wifi?
- Long distance possible
- The signal isn’t as easy disturbed as with wifi (for security applications)
- Don’t feel comfortable with having a ton of wifi devices in my home (EMF radiation)
Unfortunately the WT32-ETH01 doesn’t have a USB connection, so you need a CH340G Serial Converter USB to TTL converter. I thought this meant I needed to use a special seperate flashtool, but I was able to do it from the Esphome dashboard.
I used this one:
I found this forum post for the pin connections.
Here is another source (german) for the pins.
As the post says, this are the pin connections:
1. Connect your USB->TTL Flasher with your WT32-ETH01 (yes, RX and TX is crossed!!!)
USB->TTL //// WT32-ETH01
GND ------> GND
TX ------> RX0 (not RXD)
RX ------> TX0 (not RXD)
5V ------> 5V
Then only on the WT32-ETH01:
Connect the Pin “IO0” (next to RX0) and “GND” (next to IO0) together.
And only on the USB->TTL Flasher:*
Set the “Jumper” to S1 and 5V and not S1 and 3.3V
Note that it says that RX and TX are crossed and you connect to RX0 and TX0 not RXD and TXD.
So like this:
I am using MacOS and in terminal I installed the ESPhome Dashboard, so that I could run it locally. My Home Assistant is running on Raspberry Pi0 and this one isn’t capable of running Esphome, too little RAM.
So as it states on Getting Started with the ESPHome Command Line — ESPHome I used below commands.
# Install dashboard dependencies pip install tornado esptool esphome dashboard config/
Note these are only the dependencies for the dashboard, you have to have Esphome installed via terminal as well as described on Installing ESPHome Manually — ESPHome
Then I added a device, chose to skip the wifi step and edited the .yaml to this:
Note: each Ethernet device has its own pinouts as stated here: Ethernet Component — ESPHome
esphome: name: wt32 platform: ESP32 board: esp-wrover-kit ethernet: type: LAN8720 mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO0_IN phy_addr: 1 power_pin: GPIO16 # Enable logging logger: # Enable Home Assistant API api:
After that I chose Install and chose the “connected with this computer” option. Chose one of the serial devices showing up in Google Chrome and I was able to flash it. Note: at first I didn’t succeed, timeout error. I had to disconnect the USB from my Mac and then retry and it succeeded.
After that I removed the GND - IO1 connection jumper wire and added a Ethernet cable and checked my router, it was recognized, like below. Yeeeh.
Can’t tell anything about the reliability yet. But will try it for some projects. I found this:Home Assistant ESPHome Window Monitor . Which is quite an advanced project what I am not going to recreate, however it does report it being a good device.
Found below quote in this thread. Reporting that the selected board
esp-wrover-kit isn’t totally suitable as some GPIOs will not match.
EDIT Actually, it does appear that the GPIO from the wt32-01 and the
esp-wrover-kitmatch pretty closely… at least for my purposes. However there’s still some odd behavior; the WT32 module has a pin labeled
GPIO1but it appears to not be connected to any of the pins on the ESP32 module. Likewise, GPIO3 seems to be always high and i can’t seem to control it.
esp-wrover-kitwill work with ESPHome, but it’s not a proper/complete solution.