---
title: "Interfacing ESP32 with W5500 discussion on Arduino Forum"
url: "https://maker.wiznet.io/jakelee/projects/interfacing-esp32-with-w5500-discussion-on-arduino-forum/"
markdown_url: "https://maker.wiznet.io/jakelee/projects/interfacing-esp32-with-w5500-discussion-on-arduino-forum/md"
type: "UCC: User Created Content"
author: "bdpak"
author_url: "https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "bdpak"
original_url: "https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018"
published: "2025-08-13"
language: "en"
hardware: ["Espressif ESP32", "WIZnet W5500"]
likes: 0
views: 4675
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# 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)

Original author: bdpak (source: https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018)

## Components

- **Espressif ESP32** x 1 ([docs](https://www.espressif.com/en/products/socs/esp32))
- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))
- Software: **Arduino IDE** ([docs](https://www.arduino.cc/en/software))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## 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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com). 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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

---

### Troubleshooting Process

**Suggested Alternative Library (Juraj):**
Juraj recommended using the `EthernetESP32` library with ESP32 web server examples available for simpler setup [Arduino Forum+1](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**DHCP vs Static IP Clarification:**
Juraj confirmed that the `HelloServer` example works with static IPs as well, not just DHCP [Arduino Forum+1](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

**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](https://forum.arduino.cc/t/interfacing-esp32-with-w5500-ethernet-module/1363018?utm_source=chatgpt.com).

---

## Key Takeaways

| Issue Highlighted | Resolution Summary |
| --- | --- |
| Incomplete network setup | Static IP setup on both host and ESP32 or using a DHCP server |
| Web server not responding | Include HTTP server code in the sketch |
| Wiring & code errors | Don’t wire RST pin, use `SPI.begin()` instead of typo, add library |
| Final success | Achieved Ethernet + web server working via DHCP-configured router |

---

Source: https://maker.wiznet.io/jakelee/projects/interfacing-esp32-with-w5500-discussion-on-arduino-forum/
