WT32 reset module

Hi everyone,

I’m working on a project using WT32-ETH01 running WLED, communicating via LAN with a static IP. I’ve run into a strange issue:

I ordered over 20 WT32 modules, and some of them don’t initialize their LAN/network connection properly on power-up. When this happens, the Ethernet port LEDs stay off and there’s no network connection. If I power cycle the module a few times, eventually it starts working normally and the LAN LEDs light up.

After some testing, I found that manually resetting the module (by shorting the EN and GND pins briefly) makes it boot correctly and the LAN starts working every time. So it doesn’t seem like the hardware is faulty — it just needs a reset right after power-up.

To automate this, I tried adding a simple auto-reset routine in PlatformIO (inside wled_main.cpp):

The problem is:

  • When the LAN doesn’t light up at power-on, the reset code doesn’t fix it (still no LAN).

  • When the LAN initializes correctly, the code gets stuck in a continuous reset loop — it keeps rebooting repeatedly even though it’s supposed to reset only once.

It seems the timing or initialization sequence isn’t correct for the WT32’s Ethernet PHY.

Has anyone encountered this issue or found a reliable workaround to make the LAN initialize properly on first power-up? For now, due to my project timeline, I just need a quick solution that can reliably reset the module once after power-up so it can reconnect to the network automatically.
I’d appreciate any suggestions on how to stabilize Ethernet startup or trigger a proper one-time reset after boot.

Thanks in advance!

After executing ESP.restart() the variable hasReset will always be set to false!
When the ESP resets, everything in the memory is cleared. It’s the same as powering up for the first time.

That’s because your code does probably not get executed. That’s also why your LAN is not configured properly. It looks like the ESP hangs / crashes before.

I don’t know why this happen but it feels to me that your power supply might be the reason.