WT32-ETH01 (LAN+WiFi) (Flash Tutorial)

**** UPDATED 22.01.2022 ****

I can’t find any useful tutorial, to bring WLED on the WT32-ETH01 Chip. I played around a couple hours and finally did it :smile: Maybe this tutorial will Help someone…


  • WT32-ETH01
  • USB → TTL Flasher
  • Wires


  • WLED BIN for the ESP32 (from WLED Github)
  • Bootloader BIN for ESP32 (from WLED Github)
  • CH430G Driver (for the USB->TTL Device) DOWNLOAD
  • ESP Flash Download Tool 3.x.x DOWNLOAD

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

2. Connect the flasher to your PC, and install the CH430G Driver. Then Reboot your Machine.

3. Start the ESP Download Tool…
Choose “Dev Mode” and “ESP32”

Now you load the Bootloader BIN File and enter @ “0x0
Then you load the WLED BIN File and enter @ 0x10000

Then you choose “DOUT” and set the COM Port of your USB->TTL Device (you can see it under the “Device Manager” of Windows). My Port was “COM 4”.

The “Detected Info” stays blank… even when it is connected… don’t worry!

4. Lets flash…

Hit the “Start” Button and when nothing happens, do the following:

  • Unplug the 5V Wire on the WT32-ETH01 and replug it after a second…

The “Detected Info” get filled and the flashing Progress start!

5. After the Flashing Progress, you are ready to go :slight_smile:
Disconnect all wires from the WT32-ETH01… Connect it to you (3.3V or) 5V Power input… Connect via WiFi at first and enable LAN Connection in WLED under Wifi Connection on the bottom :wink:
Config → Wifi Setup → At the Bottom Choose “ETH01”. Then everything is working!

…. if you flashed WLED and no „WLED-AP“ is shown (without Ethernet connected), then flash the normal ESP32 bin (without Ethernet) and then check if everything is working. You can then update over the WLED interface to the ESP32-Ethernet bin over Manual OTA.

Thank you Aircookie for the N1ce Cookie :kissing_heart: :kissing_heart: :kissing_heart:


In the Software it look like this:


Wow. I am working on this for days. I am using a usb to esp01 for the ttl. It only supply 3.3 volt…
I will order a CH430G strait away.
Hopefully it will do the trick!!!

Ouh, it works with 3.3v too…. I just wanted to have one straight line…. With your flasher, you maybe forget to bridge GND with one of the Pins ? And then dont forget to pull the 3.3v and reconnect it again (to rebbot the esp)

1 Like

I do not get it to work :hot_face:

When i enter the program i chose, developper mode and then esp32 downloadtool

The flash ends 100%, then i disconnect all wires and replug the 5 volt.
When i search in the wled app foor new lights. it does not show up…
Do you have any ideas?

1 Like

Does the wireless AP WLED-xxxx show up in your list of available wireless networks? If it does, you need to join that long enough to change the 2.4GHz wifi connection parameters (SSID / PWD). Also, it helps if you are also connected to the same 2.4GHz wifi (in case you are using a portable device like smartphone or tablet) - sometimes just switching to the 2.4GHz wifi on the portable device solves it for some people once they get the WLED wifi setup.

I got it fixed! I first flached with esp32 0.12. Then i got the wifi working.
I set a fixed ip adress.
Then i update to WLED 0.12-b_Ethernet.bin.

Thanks a lot

1 Like

Some feedback if someone sees the same: After a lot of different tries I had to change the programmer to get it to work. This board seems to require quite a bit of power and the programmer I used first wasn’t able to provide enough. For me it also works with the ESP01 programmer @RaffiBaffi is using.
You should be able to see this by looking at the LED on the board. If it get’s slightly dimmer now and then try a different power supply / programmer.

Just wondering how people are getting on with this board…

Anyone using it with Xlights?


1 Like

Just got a few of these to try.

Programming worked out fine using a simple FTDI USB-TTL Serial adapter supplying 3.3V.
As soon as I grounded out IO0, I was able to program directly from https://install.wled.me.

Definitely more power hungry in normal operation, I found I needed to use a small 5V supply after programming.
Need to go through one cycle of: connect to Local AP and program for home SSID, connect via SSID and turn on ETH01 feature using DHCP, power cycle and up it comes.

Using the latest 0.13-b3 revisions as well as my own compiled versions.
So far it responds well to multi string/pins (although limited some by lack of usable pins).
Nice not to have to be on WiFi for programming.
One minor bug → seems the Link light stops working once you load WLED.
Activity flickers but Link stays off.
Not a major issue, just a minor nit.

Unfortunately, no exposure to XLights (yet).


Thought I would share my progress on this as well.

I used an old ESP8266 in place of the flasher, and I used the install webpage to flash it. (you should be able to use any ESP with a built in usb port)

Here is my connections: (RX and TX do NOT switch with this type of setup like they do with other flashers)
(ESP8266 → WT32-ETH01)
RX → RX0
TX → TX0
3.3v → 3.3V

Only on WT32-ETH01:

Only on ESP8266:
EN → GND (This will disable the processor on the ESP8266, and allow the serial communication to talk to the WT32-ETH01)

After getting the flash to work, I had a hard time getting the Ethernet Port to work properly. It turns out the default LED pin is 16, which conflicts with the Ethernet Port. This must be changed to an available port (2, 4, 12, 14, or 15), and then power cycle the WT32-ETH01.

I have been using the regular ESP32’s with X-Lights, and they have been working pretty well. (I have learned to disable Wi-Fi sleep, and that really helps with response times.) I’m excited to replace them all with this little board, and remove the extra AP’s I was using to get better signal. As I just got this working, I’m not sure how much better it works yet than the wireless.

1 Like

Thanks guys for some great help getting WLED flashed on my WT32-ETH01. I was looking for an ESP32 with built-in ethernet and this fit the bill. I am using the WT32-ETH01 to control 30 column by 17 row matrix I built with 1M LED 5V strips with 30 pixels/M. My previous controller was an ESP8266 on wifi and animations would be jerky (especially when scrolling text) due to the wifi bandwidth I believe. I followed etamremlap’s process for flashing above and it worked perfectly.
All that said, I have a new problem. Every once in a while the effect will stutter (best term I could come up with). Anyone else seeing this with this controller? Any ideas on how to fix it? I’ve tried different GPIO pins and differnt WLED releases but nothing seems to stop the stutter. The text flows much better now but the stutter is as distracting as the jerky animations.

What version(s) have you tried?
Most current is 0.13.0-b6.

I tried the current version and went back to 0.13.0-b5 as well. Same problem with both. I’m wondering if I need a resistor to condition the data line but I have no clue as to what value to use and if I should put it before or after the logic level shifter.

I’d stay with the current version (I think there’s a newest one out or soon).
As far as a resistor, definitely closest to the strip (if necessary) typically 220R0 or less.
What kind of level shifter?
How far is the MCU from the strip?
If close (less than 1m) have you tried without level-shifter at all?

The level shifter is a 4 channel IIC I2C logic level converter bi-directional module 3.3V to 5V shifter for Arduino. The MCU is about 10 feet from the first pixel and since it is a matrix there are no significant hops between strips. I haven’t tried it without the level shifter. I had the same set-up with an ESP8266 as the MCU (running WLED 0.13.0-b5) and, other than the jerky animations which I attribute to the wifi signal, it worked great - no stuttering. At first I thought it might be something with the xLights signal but I get the stuttering just running WLED effects like Candy Cane. With the Candy Cane effect you can see the stutter occur at ~3 and 7 seconds in the attached video.
Candy_Cane_Clip.zip (1.7 MB)

From the Compatible Hardware - WLED Project section:


I2C shifters are generally too slow for WLED, so don’t use them.

I would suggest you try with no levelshifter and the MCU close to the matrix.
Alternatively, get a proper shifter or try a sacrificial pixel.

1 Like

Ah, good info on the levelshifter, thanks! I started having problems last night with the WT32-ETH01 locking up frequently. I saw where others have had to put in a capacitor to eliminate reset problems on the board: WT32-ETH01 Hangs on Boot after power up which I am also noticing. I have a couple Ethernet DigQuads on order from Dr. Zzzs which I expect to receive in the mail today, I think for now I am just going to switch to a DigQuad for the matrix as I am seeing too many issues with the WT32-ETH01. After the holidays I will see if I can fix some of the issues I am having with this MCU. I really appreciate your ideas and feedback!