Download: arduino-ethernet-shield-05-schematic.pdf, arduino-ethernet-shield-05-reference-design.zip
Download: arduino-ethernet-shield-schematic.pdf, arduino-ethernet-shield-reference-design.zip
The Arduino Ethernet Shield allows an Arduino board to connect to the internet. It is based on the Wiznet W5100datasheet).
The Wiznet W5100 provides a network (IP) stack capable of both TCP and
UDP. It supports up to four simultaneous socket connections. Use the Ethernet library
to write sketches which connect to the internet using the shield. The
ethernet shield connects to an Arduino board using long wire-wrap
headers which extend through the shield. This keeps the pin layout
intact and allows another shield to be stacked on top.
ethernet chip (
The latest revision of the shield adds a
micro-SD card slot, which can be used to store files for serving over
the network. It is compatible with the Arduino Duemilanove and Mega
(using the Ethernet library coming in Arduino 0019). An SD card library
is not yet included in the standard Arduino distribution, but the sdfatlib by Bill Greiman works well. See this tutorial from Adafruit Industries for instructions (thanks Limor!).
The latest revision of the shield also includes
a reset controller, to ensure that the W5100 Ethernet module is
properly reset on power-up. Previous revisions of the shield were not
compatible with the Mega and need to be manually reset after power-up.
The original revision of the shield contained a full-size SD card slot;
this is not supported.
Arduino communicates with both the W5100 and SD
card using the SPI bus (through the ICSP header). This is on digital
pins 11, 12, and 13 on the Duemilanove and pins 50, 51, and 52 on the
Mega. On both boards, pin 10 is used to select the W5100 and pin 4 for
the SD card. These pins cannot be used for general i/o. On the Mega,
the hardware SS pin, 53, is not used to select either the W5100 or the
SD card, but it must be kept as an output or the SPI interface won't
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're not using one of the peripherals in
your program, however, you'll need to explicitly deselect it. To do
this with the SD card, set pin 4 as an output and write a high to it.
For the W5100, set digital pin 10 as a high output.
The shield provides a standard RJ45 ethernet jack.
The reset button on the shield resets both the W5100 and the Arduino board.
The shield contains a number of informational LEDs:
- PWR: indicates that the board and shield are powered
- 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 100 Mb/s network connection (as opposed to 10 Mb/s)
- RX: flashes when the shield receives data
- TX: flashes when the shield sends data
- COLL: flashes when network collisions are detected
The solder jumper marked "INT" can be
connected to allow the Arduino board to receive interrupt-driven
notification of events from the W5100, but this is not supported by the
Ethernet library. The jumper connects the INT pin of the W5100 to
digital pin 2 of the Arduino.
See also: getting started with the ethernet shield and Ethernet library reference