An Atlas of Arduino Ethernet Shields
Have you ever wanted to find the schematic or PCB layout for your Arduino Ethernet shield, but been frustrated by the lack of version or revision information printed on the shield itself? Have you found the version numbering terminology for Ethernet shields confusing and inconsistent? The Atlas of Arduino Ethernet Shields is here to help!
The folks managing the Arduino website seem to have a penchant for showing pictures of one shield and offering schematics for another right along side or even showing pictures of different shields with incorrect labelling. This is compounded by that fact that many shields don’t have useful version or revision information printed on the shield itself. Finally, there seems to be an element of folks in the community second-guessing or inventing shield version numbers (if it came just before 5.0, it must be 4.0, right?) which just makes a bad situation worse. Until the Arduino folks get their change management practices in order, pages like this will be needed to clear up the confusion. I hope you find it useful!
Any errors below are my own, and I’ll be happy to correct them if you can provide information with a more reliable provenance than “off the Internet”.
This guide includes pictures of the Ethernet shields and links to the corresponding schematics and board layouts.
The following shields are presented, in order of age:
Official Arduino Shields
- Ethernet Shield 01
- Ethernet Shield 05 or Ethernet Shield V5
- Ethernet Shield 06 or Ethernet Shield V6
- Ethernet Shield R3
Unofficial or Impostor “Arduino” Shields
Regrettably, some shield have been released using the “Arduino” name, although they are not offical Arduino designs. These shields use a different chipset and are not (yet) documented here. This further confuses an already murky picture and is misleading to consumers.
- Arduino Ethernet Shield V1.0
- Arduino Ethernet Shield V1.1
Ethernet Shield 01
and with the SD Card socket fitted (although note the text on the label saying “SD CARD NOT SUPPORTED”)
Also Known As: V1.0, V1, 01, “Old Version 2009″, V4.0
Reference design: arduino-ethernet-shield-reference-design.zip
Compatibility: Arduino Duemilanove form factor. Incompatible with the MEGA without hardware modification. This shield uses analogue pins A0 and A1 for SD card detection and write protection capabilities.
The Arduino Ethernet Shield 01 (or possibly V1 or V4.0) uses the Wiznet W5100 Ethernet chip and does not have a six pin ISP/ICSP connector to the left underside of the board. This means that is is not compatible with the Arduino MEGA or Arduino MEGA 2560 without modification.
Ethernet Shield 05
Also Known As: V2.0
Reference design: arduino-ethernet-shield-05-reference-design.zip
Compatibility: Compatible with regular Uno and Mega form factors. The microSD card slot is connected to the Arduino’s analogue A0 and A1 pins with 10k pull-up resistors, preventing the use of these analogue inputs for other purposes without modifying the Ethernet shield.
The Arduino Ethernet Shield 05 or V5 uses the Wiznet W5100 and includes an microSD card slot. The shield uses the six pin ICSP header for the SPI signals, making it compatible with both the regular Arduino form factor (Duemilanove, Uno) and also the Mega 1280 and Mega 2560 Arduinos. To liberate the A0 and A1 signals from use by this shield cut tracks or remove the pin headers. The microSD functionality can still be used even if such changes are made; the two analogue lines are only used for card detection and write-protect functionality.
Ethernet Shield 06
EagleCAD reference design: arduino-ethernet-shield-06-reference-design.zip
Compatibility: Compatible with regular Uno and Mega form factors. Unlike the 05 shield, the 06 leaves the A0 and A1 pins free for other uses.
Ethernet Shield R3
Schematic:: Not yet available?
Reference design: Not yet available?
Compatibility: Uno R3 or Mega 2560 R3 since this shield has the extra pins in the headers (circled in red on the photograph of the component side of the board) which are only present on R3 Arduinos. This particular header pin configuration is also known as the Arduino 1.0 pinout. I don’t know if these R3 shields are physcially compatible with pre-R3 Unos or Megas, although they are electrically compatible.