Micropython-ESP32-W5500 (Wiznet)
Micropython-ESP32-W5500 (Wiznet)
We found an interesting open-source project on GitHub called ESP32-Wiznet-W5500-MicroPython, created by @Ayyoubzadeh, that demonstrates how to connect an ESP32 and a WIZnet W5500 Ethernet module using MicroPython.
What this project does
It lets an ESP32 board use a W5500 (or W5100) Ethernet module to perform HTTP (non-SSL) requests using MicroPython.
The project includes modules for network interface control (wiznet5k, wiznet5k_dhcp, wiznet5k_dns, wiznet5k_socket) and a wrapper for HTTP requests (sma_esp32_w5500_requests)
Example code is provided (in main.py) showing how to initialize SPI, reset pins, connect to the network, make an HTTP GET request, and print the response.
The wiring for hardware connections is also documented. For example:
ESP32 → W5500 connections:
• 3V3 and GND
• GPIO5 (chip select / CS)
• GPIO18 (SPI CLK)
• GPIO23 (SPI MOSI)
• GPIO19 (SPI MISO)
• GPIO34 (reset)
Strengths & Limitations
Strengths / Useful aspects:
Provides a clear example for using the W5500 Ethernet module in the MicroPython environment.
Modular design—network interface, DHCP, DNS, and HTTP wrappers all separated.
Good starting point for hobbyists wanting to use wired networking in MicroPython projects.
Limitations / caution points:
It supports HTTP only, not HTTPS (SSL/TLS). For secure communication, the author points to a related SSL-capable version.
Real-world deployment might require adding error handling, timeouts, retries, and possibly certificate validation if upgraded to SSL.
There may be nuances in hardware wiring (noise, levels, reset sequencing) that require care in implementation.
🔗 Project link: ESP32-Wiznet-W5500-MicroPython on GitHub GitHub+1
👤 Created by: @Ayyoubzadeh
⚠️ Disclaimer: This project was created and shared publicly by @Ayyoubzadeh on GitHub. We are featuring it here to help inspire and inform the maker community — all credit belongs to the original author, and we do not claim ownership or rights over the code or the design.
