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?
- Reliability
- 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 ------> 5VThen 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:
Zoomed in:
Zoomed in:
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-kit
match pretty closely… at least for my purposes. However there’s still some odd behavior; the WT32 module has a pin labeledGPIO1
but 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.So the
esp-wrover-kit
will work with ESPHome, but it’s not a proper/complete solution.