Connect you project to the cloud

  • Wiznet W5500 ethernet chip, the evolution of W5100
  • EEPROM memory with registered MAC address
  • 32Kb buffer and up to 8 simultaneous connections
  • Power down mode for energy saving
  • Software library with the same interface as the standard Arduino Ethernet library

The Ethernet Nanoshield allows to connect your project directly to the Internet. Some things you can do are:

  • Browse websites and services on the Internet.
  • Communicate with other devices on your local network.
  • Run a simplified web server on your Arduino or Alevino.
  • Send local data to the Internet, such as sensor data.
  • Send e-mails.

The Ethernet Nanoshield utilizes the W5500 chip from Wiznet, which is an Ethernet network controller and communicates with your project’s microcontroller over a SPI interface. This chip is a more modern version of the chip used by the official Arduino Ethernet Shield, featuring more memory (32Kb against 16Kb) and a greater number of simultaneous connections (8 against 4).

The programming is done using our Nanoshield_Ethernet library, which is compatible with the standard Ethernet library from Arduino, giving access to the same functions, besides a function for energy saving (power down mode).

A great advantage of the W5500 controller, in comparison to the other controllers available on the market, is that it has an internal TCP/IP protocol implementation (stack). This reduces significantly the tasks to be executed by the microcontroller, making the software faster and reducing the memory consumption. The 32Kbytes internal buffer allows one to store the sent and received data, while the microcontroller runs other tasks.

Another characteristic from the Ethernet Nanoshield is that it already comes with a MAC address on the EEPROM memory chip that is integrated to the board. This is a unique global address, which is registered exclusively for your board. This avoids address conflicts between your Ethernet Nanoshield and the other equipments on the network and you can also include it on a final product without having to buy MAC addresses from the registry entity.

Ethernet Nanoshield Features

!Connection with Arduino + Uno Base Board

The easiest way to use the Ethernet Nanoshield along with an Arduino is by using a Uno Base Board or L Uno Base Board. You only have to plug the boards and then upload our sample code in order to verify the operation (see the sample code section at the bottom of the page). This assembly can be used with the Arduino UNO, Arduino Mega R3, Arduino Duemilanove, among others (contact us if you have doubts about the compatibility with other versions). The figure below shows the final setup:

Connection to Arduino using the Uno Base Board (click on the image to zoom)

!Connection with Base Boarduino

It is also possible to connect the Ethernet Nanoshield directly to our Arduino-compatible board, the Base Boarduino. The connection is done in the same way it is done on the Base Board, as it is shown on the figure below. You only need to plug the boards and the load our sample code, in order to verify the operation (see the sample code section at the bottom of the page).

Connection with the Base Boarduino (click on the image to zoom)

!Direct connection with Arduino

The following schematics show how to connect the Ethernet Nanoshield directly to an Arduino UNO or Arduino Mega.

Connection using Arduino UNO (click on the image to zoom)

Connection using Arduino Mega (click on the image to zoom)


Ethernet Arduino Function
/INT D2 Interrupt output W5500 (optional)
/SCS D10# Chip Select W5500
SDI D11# Data line from SPI bus
SDO D12 Data line from SPI bus
SCLK D13 Clock line from SPI bus
SDA A4 Data line from I2C bus
SCL A5 Clock line from I2C bus
VCC VCC 5V Power supply input
VIN VIN External power supply input
GND GND Reference voltage (ground)
Pin description table


  • Implemented with the W5500 IC produced by Wiznet.
  • Stack Internal TCP/IP.
  • Supports 8 simultaneous sockets.
  • Supports the TCP, UDP, ICMP, IPv4 ARP, IGMP and PPPoE protocols.
  • 10BaseT/100BaseTX with auto negotiation and auto MDI/MDIX.
  • Internal 32Kbyte buffer for transmission and reception.
  • Status LEDs:
    • Board power supply indicator (PWR)
    • Full duplex or half duplex (DUPLEX)
    • 10/100 Speed (SPEED)
    • Network activity (Green LED on connector RJ-45)
    • Active Link (Yellow LED on connector RJ-45)
  • I2C EEPROM memory with 2Kbits and individual internal MAC address for each board.
  • Own 3V3 regulator, which does not add extra charge to the internal regulator on Arduino.
  • EEPROM voltage supply selection and I2C bus operating between 5V and 3V3 (using solder jumper)
  • Jumper for selecting the I2C address for the EEPROM.
  • Maximum speed of communication on the SPI interface of 14,3 Mbps.


Ethernet Nanoshield Block Diagram

Electrical characteristics

  • Power supply: can be done both through the VIN pin and through the VCC pin. The voltage interval for the VIN pin is from 7V to 12V (maximum limit of 20V); for the VCC pin the interval is from 4.5V to 5.5V (normal operating value of 5V). When there is power supply on the VIN and VCC pins simultaneously, the power supply on the VIN pin has higher priority and will be automatically selected to power the module. The EEPROM memory comes already factory-configured to be powered with 5V, using the voltage on the VCC pin.

  • Consumption: the maximum current consumption is approximately 125mA during the data transmission and approximately 70mA when the module is not transmitting data. When the power saving mode (power down) is activated over software, the communication is disabled and the consumption becomes lower, approximately 25mA.

  • Logic Levels: the SPI input pins (SDI, SCKL and /SCS) work at the logic levels of 5V or 3V3. The SPI output pings (SDO and /INT optionally) work at the logic level of 3V3 and are 100% compatible with the voltage levels accepted be Arduino. The I2C communication with the EEPROM memory comes factory-configured to operate with logic level 5V.

!Sample code

The Ethernet Nanoshield has the W5500 Wiznet chip and can be programmed in the same way as the Standard Ethernet Shield (W5100 chip). You only need to install the open code library Nanoshield_Ethernet, which we make available on GitHub, and change the line of code:




If you are using, on your program, any other library that uses the Ethernet.h, you will also need to change your code, so that it uses the Nanoshield_Ethernet.h.

Run the samples from our library to see how it works:

  • Nanoshield_Ethernet - Open-code Arduino Library for use with the Ethernet Nanoshield, including usage examples.

Previous Versions

  • Version 1.0 - Ethernet Nanoshield version 1.0 documentation.