Arduino Atmega 2560 with ethernet W5500 module

If you want to connect the Arduino Atmega2560 with ethernet, there are various options. The easiest might be to get a shield. The regular Arduino shield should fit on the Arduino Mega as well. there are 3 versions of the shield: with an ENC28J60, with a W5100 and with a W5500.
The shields are fairly expensive, it is cheaper to get an ethernet module. These are also available as ENC28J60, W5100 and W5500.

With prices all in the same range (currently around 2.60 Euro), it is best to get a W5500, the most modern chip of the range, that definitely needs less memory than the ENC28J60.

To connect it to an Arduino Mega2560, one only needs 7 connections as shown in the image below.

The SPI connections can be best taken from the ICSP connector  and the chipselect from Pin 10.
Connections on the W5500 module are equally simple as they are usually printed on the module:
SCS is the chipselect that goes to pin 10
SCLK is the clock signal that goes to SCK on the 6 pin header.

When using the W5500, the ‘old’ Ethernet library is not usable anymore. You need to use the Adafruit Ethernet2 library or the WIZ_Ethernet_Library that supports the W5100, W5200 and W5500

4 thoughts on “Arduino Atmega 2560 with ethernet W5500 module”

  1. We’d almost forget with all the ESP8266 and ESP32 muscle power around!

    Maybe good to point out that the W devices basically have the entire IP tack in hardware, are therefor less flexible for really, really low level stuff (almost never used, we’re talking sniffers etc), but have a small memory and code footprint. The ENC’s are almost “modems”, very low level and require everything to be done in software, leading to a substantial memory (RAM and FLASH) footprint. They used to be cheaper than the W’s.

    1. Very true Jeroen. Nowadays though hardly a price difference anymore between the ENC module and the W5x modules. On a regular 328 based Arduino there isnt really much space left when using the ENC28J60, but still enough to use MQTT and read a few pins. Not using DHCP but an assigned IP number can save some more space. Yet, the ENC28J60 is a lovely chip. Can easily use it on an old Raspi or a Raspi Zero as well to create wired internet access

  2. Hi, I like your blog but regarding the Mega2560 and the W55oo shouldn’t the official Arduino Ethernet 2 library be used? Even the Adafruit library you referenced says it is deprecated.

    1. Thank you for the info. At the time of writing though the Adafruit library was not deprecated, only happened 5 months ago.
      Anyway,I linked to the new library now.
      TheWiznet libraryis old indeed, but I mention it because it supports all three modules

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: