---
title: "W5500-EMAC"
url: "https://maker.wiznet.io/Benjamin/projects/w5500-emac/"
markdown_url: "https://maker.wiznet.io/Benjamin/projects/w5500-emac/md"
type: "UCC: User Created Content"
author: "Juraj Andrássy"
author_url: "https://github.com/Networking-for-Arduino/W5500-EMAC"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Juraj Andrássy"
original_url: "https://github.com/Networking-for-Arduino/W5500-EMAC"
license: "GNU Lesser General Public License version 3 or later (LGPL3+)"
published: "2024-06-10"
language: "en"
tags: ["C/C++", "Internet of Things", "Arduino"]
hardware: ["WIZnet W5500", "Arduino Ethernet Shield 2"]
likes: 0
views: 1314
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# W5500-EMAC

> This project provides an Ethernet MAC driver for the W5500 chip, optimized for Arduino Mbed Core boards.

Original author: Juraj Andrássy (source: https://github.com/Networking-for-Arduino/W5500-EMAC)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))
- **Arduino Ethernet Shield 2** x 1 ([docs](https://docs.arduino.cc/hardware/ethernet-shield-rev2))
- 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/))

## Documents and links

- [WebServer.ino example](https://github.com/Networking-for-Arduino/W5500-EMAC/tree/master/examples/WebServer) (code)

## Article

This Arduino library uses [W5500 driver](https://github.com/njh/W5500MacRaw) by Nicholas Humfrey with some adaptation.

Arduino Giga should work with Arduino Ethernet 2 shield.

![](https://maker.wiznet.io/upload/ckeditor5/663775668%5F1718026976%2Epng)

Arduino Portenta H7 boards should work with MKR ETH shield.

![](https://maker.wiznet.io/upload/ckeditor5/663775668%5F1718026875%2Epng)

If you use a nodule with W5500, wire it to standard SPI pins of the board. On Nano pins 10 to 13. On Portenta pins 7 to 10. On Giga R1 use the SPI header and pin 10 as CS.

For Arduino Giga R1, the Ethernet library has to be copied from Mbed Portenta boards package. For Mbed Core Nano boards and RP2040 boards, Ethernet and SocketWrapper library have to be copied.

To use the driver include it in the sketch with the Portenta Ethernet library:

```cpp
#include <W5500EMAC.h>
#include <PortentaEthernet.h>
```

---

Source: https://maker.wiznet.io/Benjamin/projects/w5500-emac/
