IoT Projects
Dec 23, 2021

Ethernet Shield W5100

DESCRIPTION

This shield allows an Arduino to establish a wired Ethernet connection to a network and is compatible with Uno, Mega and boards with compatible I/O pins.

KEY FEATURES OF ETHERNET SHIELD W5100:

- WIZnet W5100 Ethernet controller

- Compatible with both Uno and Mega footprints

- Standard RJ-45 CAT network connector

- Auto MDI/MDIX (auto cable pin swap)

- Acts as client or server

- TCP/IP protocols include TCP, UDP, ICMP, IPv4 ARP, IGMP, Ethernet

- 10BaseT/100BaseTX Ethernet PHY embedded

- Up to 4 simultaneous socket connections

- MicroSD card slot

- SPI Interface

- 5V compatible, operates at 3.3V internally

- Good library support

This Ethernet shield uses the WIZnet W5100 network interface chip to provide a cabled connection to a network.  The board also has an SD Micro card slot for data storage. The board does not support wireless Ethernet.

The W5100 is an older chip, but has very good library support and tends to be the go-to for wired Ethernet for Arduino and compatibles.  The shield is compatible with both the Uno and Mega style footprints and uses the SPI interface which is picked up from the ICSP header.

ethernetshield-mountage.JPG

SPI Interface

Arduino and compatibles communicate with both the W5100 chip and SD card slot using the SPI bus.

MOSI / MISO and SCK are picked up off the ICSP header, but are also found on digital pins 11, 12 and 13 on the Uno and pins 50, 51 and 52 on the Mega.  On both boards, pin 10 is used to select the W5100 chip and pin 4 is used for the SD card slot.  These pins cannot be used for general purpose I/O.

On the Mega, the hardware SS pin 53 is not used, but it must be kept as an output or the SPI interface will not work.

Note that because the W5100 and SD card share the SPI bus, only one can be active at a time.  If you are using both peripherals in your program this should be taken care of by the corresponding libraries.  If you are not using one of the peripherals in your program, you will want to explicitly deselect it.  To do this with the SD card, either remove any SD card or set pin 4 as an output and write a high to it.  For the W5100, you can set the digital pin 10 as an output and write a high to it to disable it.

LED Indicators

The shield provides a number of informational LEDs that can be useful for troubleshooting the network connection:

PWR = Indicates that the shield is being powered by the Uno or Mega.

LINK = Indicates the presence of a network link and flashes when the shield transmits or receives data.

FULLD = Indicates that the network connection is full duplex.

100M = Indicates the presence of a 100Mb/s network connection (as opposed to 10Mb/s)

RX = Flashes when the shield receives data

TX = Flashes when the shield sends data

COLL = Flashes when network collisions are detected

Arduino to Shield Pin Connections

All of the I/O is brought up to stackable female headers on the shield except for the IOREF and the two I2C pins hear the USB connector so it can support a daughter shield as long as it does not conflict with the pins in use.

The shield uses the following pins

- Uno SPI = D11, D12, D13

- Mega SPI = D50, D51, D52

- W5100 Enable = D10

- SD Card Enable = D4

The board includes a solder jumper location labeled INT.  If it is bridged, it allows the Arduino to receive interrupt-driven notification of events from the W5100, but this functionality is not supported by the Ethernet library.  The jumper connects the INT pin of the W5100 to D2 of the Arduino.

Roger

Roger

Hello! My name is Roger Chung I'm a Electromechanical Engineer and Full Stack Developer. I am passionate about technology, especially in the creation of web application about Internet of Things and Machine Learning.

Leave a Reply

Related Posts

Categories