Wiznet makers

jakelee

Published August 13, 2025 ©

5 UCC

0 VAR

0 Contests

0 Followers

0 Following

Original Link

Interfacing ESP32 with W5500 discussion on Arduino Forum

Trying to connect ESP32 to W5500 for an Ethernet web server using the Arduino IDE and the AsyncWebServer_ESP32_W5500 library (based on ESPAsyncWebServer)

COMPONENTS Hardware components

Espressif - ESP32

x 1


WIZnet - W5500

x 1

Software Apps and online services

Arduino - Arduino IDE

x 1


PROJECT DESCRIPTION

Forum Discussion Summary

Context & Goal (bdpak – March 12, 2025):
The user was working on connecting an ESP32 to a W5500 Ethernet module to run an Ethernet web server using the Arduino IDE and the AsyncWebServer_ESP32_W5500 library (based on ESPAsyncWebServer) Arduino Forum+1. Although the sketch compiled successfully and showed "Ethernet connected" in the serial monitor, the Ethernet connection failed on the PC side—it displayed a "trying to assign address" message without completing the connection Arduino Forum+1.


Troubleshooting Process

Suggested Alternative Library (Juraj):
Juraj recommended using the EthernetESP32 library with ESP32 web server examples available for simpler setup Arduino Forum+1.

Switch to Official ESP32 Ethernet Example:
The user updated to Arduino ESP32 version 3.1.1 and tried an official Ethernet example (ETH_W5500_Arduino_SPI.ino) using the ETH.h interface. It initialized the connection (ETH Started → ETH Connected) but repeatedly lost the IP address (ETH Lost IP) Arduino Forum+1.

Static IP Setup on Linux Mint (ledsyn):
It was suggested that the user configure IP addresses correctly—particularly for peer-to-peer setups, setting a compatible static IP on the PC instead of relying on DHCP Arduino Forum+1.

Success with Static IP on Host:
The user successfully assigned a static IP (192.168.2.232) to the Linux host. They were able to ping the ESP device, confirming basic network connectivity Arduino Forum+1.

Web Server Not Responding:
Despite successful ping, the web server was still unreachable via telnet (Connection refused). Juraj concluded that network setup was functioning, but the sketch did not include HTTP server functionality. The user needed to deploy a web server in code to respond on port 80 Arduino Forum+1.

Pin Wiring Issue Resolved:
After attempting the HelloServer.ino example from the EthernetESP32 repository, the user had wiring issues—particularly with the RST pin and a typo in code (Setup.begin() vs SPI.begin()). Juraj clarified that the W5500 RST pin should not be wired and pointed out the coding typo Arduino Forum+1.

Library Missing Fix:
The user had forgotten to install the EthernetESP32 library, resulting in compilation errors. After installing the library, the sketch compiled and uploaded successfully Arduino Forum+1.

DHCP vs Static IP Clarification:
Juraj confirmed that the HelloServer example works with static IPs as well, not just DHCP Arduino Forum+1.

Final Success with Router-Based DHCP Setup:
As a final step, the user set up a TP-Link Archer C6 router as a DHCP server. The ESP32 + W5500 module obtained an IP automatically, and the HTTP server came online and worked as expected Arduino Forum+1.


Key Takeaways

Issue HighlightedResolution Summary
Incomplete network setupStatic IP setup on both host and ESP32 or using a DHCP server
Web server not respondingInclude HTTP server code in the sketch
Wiring & code errorsDon’t wire RST pin, use SPI.begin() instead of typo, add library
Final successAchieved Ethernet + web server working via DHCP-configured router
Documents
Comments Write