WT32-ETH01 WLED Flasher
WLED for the WT32-ETH01 with Ethernet on first boot
- Released
- WT32-ETH01 (ESP32)
- macOS
The WT32-ETH01 is an ESP32 board with Ethernet built in (a LAN8720 chip). Stock WLED expects Wi-Fi for its first setup, and on this board the Wi-Fi often can't be reached. I built WLED with Ethernet turned on from first boot, so the board picks up an address over DHCP as soon as you plug in a cable.
The repo has the prebuilt WLED 0.16.0-alpha images and a short script that flashes them from a Mac with esptool. The PlatformIO override I built with is in there too, if you want to compile it yourself.
Features
Ethernet on first boot
The build sets WLED_USE_ETHERNET and WLED_ETH_DEFAULT=1, so the Ethernet port comes up on first boot and gets an address over DHCP. No Wi-Fi setup needed.
Prebuilt firmware
The bootloader, partition table, and WLED 0.16.0-alpha image are all checked in. You can flash a board without installing a build toolchain.
Flash script
flash.sh takes the serial port as its argument, waits for you to press Enter, then runs esptool at 460800 baud to write the three images at 0x1000, 0x8000, and 0x10000. It finishes by printing the next steps, including the LED pin change.
DOUT flash mode
The script writes in DOUT mode at 40 MHz. Flash this board with the wrong mode and it boot loops with "flash read err, 1000".
Build it yourself
platformio_override.ini adds a wt32_eth01 environment to WLED. Clone WLED, copy the file in, and run pio run -e wt32_eth01. The override also turns off the relay and button pins.
Wiring and troubleshooting notes
The README covers wiring a USB-to-TTL adapter, entering boot mode with GPIO0 grounded, moving the LED data pin off GPIO16, and what to check when esptool can't connect or there's no Ethernet activity after flashing.
Release history
1 milestone since December 2025.
- Milestone
December 2025
Ethernet-enabled WLED for the WT32-ETH01
Initial releaseLatest- Prebuilt WLED 0.16.0-alpha firmware with Ethernet on by default
- flash.sh for flashing from macOS with esptool
- platformio_override.ini for building the firmware from source
- DOUT flash mode for the WT32-ETH01 flash chip
FAQ
What hardware do I need?
A WT32-ETH01 board, a USB-to-TTL adapter (CP2102, CH340, or FTDI) and a Mac with Python 3 and esptool. You can install esptool with brew install esptool or pip install esptool.
How do I put the board in boot mode?
Run a jumper wire from GPIO0 (IO0) to GND, then power cycle the board or press EN/RST. Keep GPIO0 grounded until flashing finishes. After that, pull the jumper and power cycle again so it boots into WLED.
Why do I have to change the LED data pin?
WLED uses GPIO16 for LED data by default, and on this board GPIO16 conflicts with Ethernet. In Config, LED Preferences, switch it to GPIO2 (the one I recommend), GPIO4, or GPIO14, then save and reboot.
How do I find the board on my network?
Plug in Ethernet and it gets an address over DHCP. Open that IP in a browser, or try http://wled.local.
The board boot loops with "flash read err, 1000". What happened?
It was flashed with the wrong flash mode. Reflash with --flash_mode dout. flash.sh already uses it.
Can I build the firmware myself?
Yes. Install PlatformIO, clone WLED, copy platformio_override.ini into the WLED folder, and run pio run -e wt32_eth01. The build output goes to .pio/build/wt32_eth01/.
WT32-ETH01 WLED Flasher
WLED for the WT32-ETH01 with Ethernet on first boot