Adafruit Industries Ethernet Shield
Photo: Limor Fried
Shield URL: Ethernet Shield
Tags: ethernet, network
Maker: Adafruit Industries
This is a shield that provides a lot of flexibility in adding Ethernet/Internet connectivity to Arduino. You can use either an XPort module or a WIZnet module as the "engine". Both modules have pros and cons, so you can decide which is better for you.
One option is you can go with a XPort, XPort direct, or XPort Direct+. There is a lot of example code for the XPort, and one of the benefits is that it has a preassigned MAC address & has built-in DHCP. That means its easy to plug in your project into a new network without having to reconfigure it or mess with a router. The XPorts use serial protocols to communicate, and are best for straight-up Internet host or client setup. However you can only have one connection at a time.
Another option is the newer WIZnet 811MJ module, based on the W5100 chip. The WIZnet module is compatible with the official Arduino Ethernet library, which is easy to use and very powerful. However it does not have DHCP built-in.
Open Source: Yes, OSHW-compliant
License: CC BY-SA 2.5
Pin usage on this shield is entirely configurable, so no specific pins are reserved. The pin selection shown above is based on the example configuration on the Adafruit site but can be changed as required. All communication uses "software serial" that can be configured on pins selected by the user.
The online documentation uses the following pin assignments:
XPort RX pin -> Arduino digital pin 2
This is the pin that the XPort uses to receive data. It is necessary!
XPort TX pin -> Arduino digital pin 3
This is the pin that the XPort uses to send data. It is necessary!
XPort Reset pin -> Arduino digital pin 4
This is the pin that is used to reset the XPort. It is necessary!
XPort DTR pin -> Arduino digital pin 5
This is the pin that the XPort uses to tell the Arduino that the Internet connection has ended. Its not essential but its very useful.
XPort CTS pin -> Arduino digital pin 6
This is the pin that the Arduino uses to keep the XPort from overwhelming it with data. Its not essential but its very, very strongly recommended.
XPort RTS pin -> Arduino digital pin 7
This is the pin that the XPort uses to tell the Arduino that there is more data available. Its not used in the examples but it might be useful for some people.