Best Ethernet Modules for Arduino and ESP32: 13 W5500, W5100, ENC28J60 and LAN8720 Picks Compared (Buying Guide)

⚠️ Affiliate Disclosure: This post contains Amazon affiliate links. If you purchase through our links, we may earn a small commission at no extra cost to you. Every product below was checked against its live Amazon listing before publishing. Prices change often, so we don’t list them here. Tap any Buy Here button to see the current price on Amazon.
Ultimate Buying Guide

🌐 Best Ethernet Modules for Arduino and ESP32

13 W5500, W5100, ENC28J60 and LAN8720 modules and shields for reliable wired networking in IoT, home automation and data logging projects.

✅ 13 Picks Reviewed ✅ W5500, W5100, ENC28J60 ✅ LAN8720 RMII & PoE ✅ Honest Pros & Cons

Wi-Fi is convenient, but a wired Ethernet link is hard to beat for nodes that must stay online: Home Assistant sensors in a metal cabinet, Modbus gateways, energy loggers, and anything where interference or a busy router causes dropouts. Adding Ethernet to an Arduino, ESP32, STM32 or RP2040 usually means one of three chip families: WIZnet W5500/W5100 with a hardware TCP/IP stack over SPI, the low-cost Microchip ENC28J60, or a LAN8720 PHY for MCUs with a built-in Ethernet MAC.

This guide compares 13 modules, shields and boards, all checked against live Amazon listings. If you would rather buy a board with Ethernet already on it, see our ESP32 Ethernet and PoE boards guide. For the basics of shield wiring, read our introduction to the Arduino Ethernet shield and the Ethernet shield data-to-server tutorial.

💡 Reality check before you buy: Most of these are inexpensive generic modules, so expect some quality variation. Power is the number one failure: W5500 modules want a 3.3V supply with 200mA or more per their listings, which many Arduino 3.3V pins can’t supply. SPI modules (W5500, W5100, ENC28J60) work with almost any MCU, but the LAN8720 is an RMII PHY that only works with chips that have an Ethernet MAC, such as the original ESP32 or STM32F4, not an UNO, ESP32-S3 or ESP32-C3. The ENC28J60 runs TCP/IP in software, which is tight on an UNO. And none of these bare modules include PoE except the PoE-FeatherWing.
Table of Contents
  1. Quick Comparison: All 13 Ethernet Modules
  2. How to Choose an Ethernet Module
  3. Detailed Reviews: All 13 Ethernet Modules
  4. Which One for Which Job
  5. Ethernet Chip Comparison: W5500 vs W5100 vs ENC28J60 vs LAN8720
  6. Frequently Asked Questions
  7. Final Verdict: Best Ethernet Modules for Arduino and ESP32

🌐 Quick Comparison: All 13 Ethernet Modules

ProductChip / InterfaceWorks WithBest ForBuy
🥇 HiLetgo W5500 ModuleW5500 (SPI)ESP32, Arduino, STM32Best OverallBuy Here →
🛡️ Arduino Ethernet Shield 2WIZnet (per listing)Arduino UNO/MegaBest ShieldBuy Here →
2️⃣ HiLetgo W5500 (2 Pack)W5500 (SPI)ESP32, Arduino, STM32Best Value PackBuy Here →
📦 ACEIRMC W5500 (5 Pack)W5500 (SPI)ESP32, Arduino, STM32Bulk ProjectsBuy Here →
🔌 JESSINIE W5500 (2 Pack)W5500 (SPI)3.3V or 5V supply5V BoardsBuy Here →
🔹 DEVMO USR-ES1 W5500W5500 (SPI)ESP32, STM32Smallest W5500Buy Here →
🪙 HiLetgo ENC28J60ENC28J60 (SPI)Arduino AVR, PIC, STM32Budget / LegacyBuy Here →
⚡ Waveshare LAN8720 PHYLAN8720 (RMII PHY)ESP32, STM32 with MACESP32 Native EthernetBuy Here →
🔸 DWEII LAN8720 (2 Pack)LAN8720 (RMII PHY)ESP32, STM32 with MACSpare PHYsBuy Here →
💾 HiLetgo W5100 Shield + SDW5100Arduino UNO/MegaShield + SD CardBuy Here →
🧩 Arduino MKR ETH ShieldW5500Arduino MKR boardsMKR FamilyBuy Here →
🔋 Silicognition PoE-FeatherWingW5500 + 802.3at PoEFeather boardsPoE Powered NodesBuy Here →
🍓 Waveshare RP2040-ETHCH9120 (serial to Ethernet)Standalone RP2040Serial to TCPBuy Here →

Chips, interfaces and compatibility come from each Amazon listing. Ratings were checked on the live listing at the time of writing. Tap Buy Here to see the current price.

🔍 How to Choose an Ethernet Module

🧠

Hardware vs Software TCP/IP

W5500 and W5100 run TCP/IP in silicon, leaving your MCU free. The ENC28J60 needs a software stack, which uses lots of RAM and flash on small boards.

🔗

SPI vs RMII

SPI modules connect with 4 data wires plus power and work on nearly any board. A LAN8720 uses RMII (about 9 signals) and needs an MCU with an Ethernet MAC.

⚡

Power Budget

Budget at least 200mA at 3.3V for a W5500 and keep wires short. Modules that accept 5V input are easier on 5V Arduinos.

🛡️

Shield or Module

Shields plug onto UNO, Mega or MKR boards with no wiring. Bare modules suit ESP32, STM32, Pico and custom PCBs.

🔋

Need PoE?

If one cable for power and data matters, pick a PoE-capable board or add a PoE splitter in front of your node.

🏆 Detailed Reviews: All 13 Ethernet Modules

🥇 BEST OVERALL

HiLetgo W5500 SPI Ethernet Module

⭐ 4.0/5 · Hardware TCP/IP over SPI
W5500
WIZNET CHIP
SPI
3.3V TTL INTERFACE
200mA+
3.3V SUPPLY NEEDED
42
AMAZON RATINGS
Buy on Amazon →
HiLetgo W5500 SPI to LAN Ethernet network module

The WIZnet W5500 is the chip most makers should start with, and this HiLetgo board is the most-reviewed single W5500 module we found. It talks to your microcontroller over a 3.3V SPI interface and handles the TCP/IP stack in hardware, so even a small Arduino can serve web pages or publish MQTT without running a heavy software stack. The listing is clear that it wants an external 3.3V supply of more than 200mA, so don’t power it from a weak 3.3V pin. On ESP32 it works with recent Arduino core Ethernet support and with ESPHome’s SPI Ethernet option. It averages 4.0 stars from 42 ratings, a little lower than some picks, mostly reflecting the usual cheap-module quality spread.

✅ Pros
  • Hardware TCP/IP stack
  • Works with the standard Ethernet library
  • Small header footprint
❌ Cons
  • Needs a solid 3.3V supply
  • No mounting holes standard to shields
🎯 Verdict: The default wired network module for ESP32 and Arduino.

👉 Check Price on Amazon →

🛡️ BEST ARDUINO SHIELD

Arduino Ethernet Shield 2 [A000024]

⭐ 4.5/5 · Official Plug-In Shield
Official
ARDUINO BOARD
Plug-in
NO WIRING
RJ45
WIRED LAN
158
AMAZON RATINGS
Buy on Amazon →
Arduino Ethernet Shield 2 A000024

If you use an UNO or Mega, the official Ethernet Shield 2 is the least fiddly route to a wired network: it plugs straight onto the board and works with the Ethernet library that ships with the Arduino IDE. The listing describes it as a plug-and-play WIZnet networking module for web-enabled devices, data logging and cloud projects. Note that the listing text names the W5100 chip, while Arduino’s own documentation for Shield 2 lists the W5500; either way the standard Ethernet library supports it. It averages about 4.5 stars from 158 ratings, the second most-reviewed product in this guide.

✅ Pros
  • Genuine Arduino board
  • Zero wiring
  • Best documented option
❌ Cons
  • Shield form factor only
  • Costs more than bare modules
🎯 Verdict: The easiest wired network upgrade for an UNO or Mega.

👉 Check Price on Amazon →

💰 BEST VALUE PACK · ⭐ 4.2/5

3. HiLetgo W5500 Ethernet Module (2 Pack)

W5500 · 8 sockets · 32KB buffer · 27 ratings
Buy Here →
HiLetgo W5500 Ethernet LAN network module 2 pack

The same chip as our top pick in a two-pack, so you have a spare for a second node or for when you inevitably reverse the power leads. The listing highlights 8 independent sockets, Wake on LAN over UDP, high-speed SPI and 32KB of internal TX/RX buffer. About 4.2 stars from 27 ratings.

✅ Pros: Spare module included; full W5500 feature set.
❌ Cons: Still needs a strong 3.3V rail.
🎯 Verdict: Best buy if you are building two or more nodes.
📦 BEST BULK PACK · ⭐ 4.4/5

4. ACEIRMC W5500 SPI Ethernet Module (5 Pack)

W5500 · USR-ES1 style · 3.3V · 26 ratings
Buy Here →
ACEIRMC W5500 SPI Ethernet module 5 pack

A five-pack of compact W5500 boards for classrooms, sensor networks or anyone wiring up several nodes. The listing describes the USR-ES1 style module with a 3.3V TTL SPI interface and asks for at least 200mA of supply current. About 4.4 stars from 26 ratings.

✅ Pros: Lowest cost per node; compact.
❌ Cons: Pin pitch and layout differ from the HiLetgo board.
🎯 Verdict: Best for multi-node builds and labs.
🔌 BEST FOR 5V SUPPLY · ⭐ 4.8/5

5. JESSINIE W5500 Ethernet Module (2 Pack)

W5500 · 10/100Mbps · 3.3V or 5V supply · 13 ratings
Buy Here →
JESSINIE W5500 Ethernet network module 2 pack

This two-pack stands out because the listing says it supports either a 3.3V or a 5V supply, which is handy on 5V Arduino boards whose 3.3V pin can’t deliver enough current. It also lists 32KB of buffer, 10/100Mbps and 8 sockets. Highest rating in the W5500 group at about 4.8 stars, but from only 13 ratings.

✅ Pros: Flexible power input; 2 modules.
❌ Cons: Few reviews so far.
🎯 Verdict: Pick this when your board’s 3.3V rail is weak.
🔹 MOST COMPACT · ⭐ 4.2/5

6. DEVMO USR-ES1 W5500 Ethernet Module

W5500 · up to 80MHz SPI per listing · 8 ratings
Buy Here →
DEVMO USR-ES1 W5500 SPI to LAN Ethernet module

The USR-ES1 is a small W5500 board with the RJ45 jack and magnetics integrated, and the listing quotes a high-speed SPI interface up to 80MHz and hardware TCP/IP. It suits tight enclosures where the bigger blue modules won’t fit. About 4.2 stars, but from only 8 ratings.

✅ Pros: Very small; fast SPI.
❌ Cons: Limited reviews; 3.3V only.
🎯 Verdict: Best when space inside the enclosure is tight.
🪙 BUDGET PICK · ⭐ 4.3/5

7. HiLetgo ENC28J60 Ethernet Module

ENC28J60 · HR911105A jack · 25MHz crystal · 76 ratings
Buy Here →
HiLetgo ENC28J60 Ethernet LAN network module

The ENC28J60 is the classic low-cost Ethernet controller, here with a 25MHz crystal and an HR911105A jack with built-in isolation transformer per the listing. Unlike the W5500 it has no hardware TCP/IP stack, so your microcontroller runs one in software (libraries such as EtherCard or UIPEthernet), which eats RAM on an UNO. About 4.3 stars from 76 ratings, the most-reviewed bare module here.

✅ Pros: Cheap; huge amount of example code.
❌ Cons: Software stack uses lots of RAM and flash.
🎯 Verdict: Fine for simple projects, but a W5500 is easier.
⚡ BEST FOR ESP32 RMII · ⭐ 5.0/5

8. Waveshare LAN8720 Ethernet PHY Board

LAN8720 · RMII · Auto-MDIX · 5 ratings
Buy Here →
Waveshare LAN8720 Ethernet PHY board

The LAN8720 is a different kind of part: a 10/100 Ethernet PHY with a reduced-pin-count RMII interface and HP Auto-MDIX, per the listing. It only works with chips that have a built-in Ethernet MAC, such as the original ESP32 and many STM32F4/F7 parts, where it delivers faster, lower-overhead networking than SPI modules. It will not work with an UNO, ESP32-S3 or ESP32-C3. Waveshare’s board scores 5.0 stars, but from only 5 ratings.

✅ Pros: Native MAC speed; good Waveshare docs.
❌ Cons: Many wires; only MAC-equipped MCUs.
🎯 Verdict: Best Ethernet for a classic ESP32 or STM32 build.
🔸 BUDGET RMII · ⭐ 3.9/5

9. DWEII LAN8720 Ethernet Board (2 Pack)

LAN8720 · single 3.3V supply · 5 ratings
Buy Here →
DWEII LAN8720 Ethernet PHY board 2 pack

A cheaper two-pack of generic LAN8720 boards. The listing notes an integrated 1.2V regulator, single 3.3V supply and Auto-MDIX. These boards are popular in ESP32 Ethernet tutorials, but they often need the clock wiring and GPIO0 handling done carefully. About 3.9 stars from 5 ratings, so treat it as a tinkerer’s option.

✅ Pros: Two PHYs per pack.
❌ Cons: Low rating from few reviews; clock setup can be tricky.
🎯 Verdict: For experienced builders on a budget.
💾 MOST REVIEWED · ⭐ 4.3/5

10. HiLetgo W5100 Ethernet Shield with SD Slot

W5100 · micro SD slot · plug-in shield · 249 ratings
Buy Here →
HiLetgo W5100 Ethernet shield with SD card slot for Arduino

The budget alternative to the official shield, and the most-reviewed product in this guide. It uses the WIZnet W5100, plugs straight onto an UNO or Mega with no soldering, and includes a micro SD slot (up to 2GB per the listing) for logging data or serving files from a small web server. About 4.3 stars from 249 ratings.

✅ Pros: Cheap; SD slot for logging.
❌ Cons: Older W5100 with fewer sockets than W5500.
🎯 Verdict: Best budget shield for UNO and Mega web servers.
🧩 BEST FOR MKR · ⭐ 4.9/5

11. Arduino MKR ETH Shield [ASX00006]

WIZnet W5500 · MKR form factor · 24 ratings
Buy Here →
Arduino MKR ETH Shield ASX00006

For Arduino MKR boards, this official shield adds an RJ45 port using the WIZnet W5500, per the listing, aimed at IoT, automation and data logging. It stacks cleanly and uses the standard Ethernet library. About 4.9 stars from 24 ratings.

✅ Pros: Official; stacks on MKR boards.
❌ Cons: Only fits the MKR family.
🎯 Verdict: The obvious choice if you build on MKR.
🔋 BEST WITH PoE · ⭐ 4.1/5

12. Silicognition PoE-FeatherWing

W5500 · isolated 802.3at PoE · 4 W out · 15 ratings
Buy Here →
Silicognition PoE-FeatherWing Ethernet with power over Ethernet

The only module here that also takes power over the network cable. The listing describes isolated IEEE 802.3at Class 1 PoE (Mode A and B) with 4 W of output, a WIZnet W5500 with Arduino, MicroPython and CircuitPython drivers, a built-in globally unique MAC address chip, and drop-in compatibility with the Ethernet FeatherWing. Pair it with a Feather ESP32 or RP2040 and a PoE switch. About 4.1 stars from 15 ratings.

✅ Pros: One cable for data and power; unique MAC.
❌ Cons: 4 W budget; Feather boards only.
🎯 Verdict: Best for single-cable sensor nodes.
🍓 ALL-IN-ONE BOARD · ⭐ 4.4/5

13. Waveshare RP2040-ETH Board

RP2040 · CH9120 TCP/IP · 14 GPIO · 8 ratings
Buy Here →
Waveshare RP2040-ETH Ethernet development board

Rather than a module, this is a small RP2040 board with an onboard Ethernet port. Per the listing it uses a CH9120 chip with an integrated TCP/IP stack, has 4MB of flash and 14 multi-function GPIOs, and is castellated for soldering onto a carrier. The CH9120 works like a serial-to-Ethernet bridge (TCP server or client), so it suits simple data links better than full web servers. About 4.4 stars from 8 ratings.

✅ Pros: Tiny; no wiring between MCU and Ethernet.
❌ Cons: CH9120 is less flexible than a W5500.
🎯 Verdict: Best compact Pico-style Ethernet node.

🧭 Which One for Which Job

🏠

ESPHome or Home Assistant node

HiLetgo W5500 on an ESP32 using ESPHome’s SPI Ethernet support.

🌡️

UNO web server and data logger

HiLetgo W5100 shield with its micro SD slot for logs.

🏭

Modbus TCP gateway on STM32

Waveshare LAN8720 on an STM32F4 with a native MAC.

🔋

Single-cable outdoor sensor

PoE-FeatherWing plus a Feather and a small PoE switch.

🎓

Classroom or multi-node network

ACEIRMC W5500 5 pack for one module per student.

📟

Serial device to the network

Waveshare RP2040-ETH as a compact serial-to-TCP bridge.

⚙️ Ethernet Chip Comparison: W5500 vs W5100 vs ENC28J60 vs LAN8720

FeatureW5500W5100ENC28J60LAN8720
TypeSPI controller with TCP/IP ⭐SPI controller with TCP/IPSPI MAC+PHY, no TCP/IPRMII PHY only
TCP/IP stackHardware ⭐HardwareSoftware on MCUSoftware on MCU (lwIP)
Sockets / buffer8 sockets, 32KB ⭐4 sockets, 16KBn/an/a
MCU supportAlmost any with SPI ⭐Almost any with SPIAlmost any with SPIOnly MCUs with Ethernet MAC
Wiring effortLow (SPI) ⭐Low or plug-in shieldLow (SPI)High (RMII + clock)
ThroughputGoodModerateLowerHighest on ESP32/STM32 ⭐

Highlighted cells mark the strongest option per row. Socket and buffer figures for W5500 come from the listings; W5100 figures are from WIZnet’s chip documentation.

❓ Frequently Asked Questions

Which is better, W5500 or ENC28J60?

For most projects the W5500. It handles TCP/IP in hardware and works with the standard Arduino Ethernet library, while the ENC28J60 needs a software stack that consumes much of an UNO’s RAM. The ENC28J60 only wins on price.

Can I use a W5500 with an ESP32?

Yes. Recent ESP32 Arduino core releases include SPI Ethernet support for the W5500, and ESPHome supports it as well. Wire it to an SPI bus, choose CS, interrupt and reset pins, and give it a solid 3.3V supply. Boards with Ethernet built in are covered in our ESP32 Ethernet boards guide.

Does the LAN8720 work with ESP32-S3 or ESP32-C3?

No. The LAN8720 is a PHY that needs an internal Ethernet MAC, which the original ESP32 has but the S3, C3 and C6 do not. For those chips, use an SPI module like the W5500.

Why does my Ethernet module keep resetting or dropping the link?

Usually power. Supply 3.3V from a regulator that can deliver at least 200mA, add a decoupling capacitor near the module, keep SPI wires short and share ground. Also make sure two devices on the network don’t use the same MAC address.

Can I power my microcontroller over the Ethernet cable?

Only with PoE hardware. The PoE-FeatherWing does it directly; otherwise add a PoE splitter that outputs 5V and feed it from a PoE switch or injector.

🏁 Final Verdict: Best Ethernet Modules for Arduino and ESP32

Our picks for each type of build:

🥇 Best Overall: HiLetgo W5500 SPI Ethernet Module
Buy Here →
🛡️ Best Arduino Shield: Arduino Ethernet Shield 2
Buy Here →
💾 Best Budget Shield: HiLetgo W5100 Shield with SD Slot
Buy Here →
⚡ Best for ESP32 RMII: Waveshare LAN8720 PHY Board
Buy Here →
🔋 Best with PoE: Silicognition PoE-FeatherWing
Buy Here →
📦 Best Bulk Pack: ACEIRMC W5500 (5 Pack)
Buy Here →

For most builds, a W5500 module is the sweet spot: hardware TCP/IP, broad library support and simple SPI wiring. UNO and Mega users get the easiest start with an Ethernet shield, while classic ESP32 and STM32 projects can reach full speed with a LAN8720 PHY. This guide continues our Ethernet and PoE for IoT series alongside PoE splitters and injectors, small PoE switches and ESP32 Ethernet and PoE boards. For more wireless and smart home hardware, see our Wi-Fi smart relay modules guide.

💬 Which Ethernet module are you using with your ESP32 or Arduino? Tell us about your wired IoT build in the comments below.

All Amazon links above use our affiliate tag (microlab05-20). Purchasing through them supports microcontrollerslab.com at no extra cost to you. Prices and availability change frequently, so always confirm the current price on Amazon before buying.

Leave a Comment