Arduino Ethernet Shield

The Arduino Ethernet Shield allows an Arduino board to connect to the internet. It is based on the Wiznet W5100 ethernet chip providing a network (IP) stack capable of both TCP and UDP. The Arduino Ethernet Shield supports up to four simultaneous socket connections. Use the Ethernet library to write sketches which connect to the internet via a standard RJ45 Ethernet jack using the shield.

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 Uno and Mega (using the Ethernet library). You can access the on-board SD card slot using the SD library which is included in the current Arduino build.

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 reset button on the shield resets both the W5100 and the Arduino board.

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.

Note: As of February, 2012, we are shipping the R3 version of this board. The only difference is the appearance of extra pins so that it's compatible with the Arduino Uno R3 shield design. The functionality is the same and you can still use it with your pre-R3 Arduino but you may want to trim back or de-solder the extra headers.

Tags

Arduino Ethernet Shield Product Help and Resources

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #132756 / about 13 years ago / 6

    Any idea when more of these will be brought in? I'd prefer to order from sparkfun but I'm getting impatient!

    • fortueni / about 13 years ago / 2

      I just recently ordered mine, I wonder when they`r gonna be available

      • Member #213556 / about 13 years ago / 1

        Really ? Since February ? Really ?!!

        • fortueni / about 13 years ago / 1

          UPDATe: I ordered mine 03/31/11; and my order is now ready for shipping,
          it was really fast and easy. Great customer service.

          • OscarG / about 13 years ago * / 1

            This product shaould come with a WARNING that the version pictured and currently shipping (as of the date of this post) has NO DOCUMENTATION. For an "open sourced" product released in late February 2011 thsi is outrageous. 10 days ago a member of the "Arduino team" posted in anothere forum that docs would be updates "ASAP", meanwhile SparkFun and others are selling this product knowing full well you have no documents.

            • OscarG / about 13 years ago / 1

              Version 6 Documentation was posted yesterday at http://arduino.cc/en/Main/ArduinoEthernetShield

            • This is what they sent us. It's still usable and similar to the old one. We really have no control over what they ship us.

              • Blacklab1 / about 13 years ago / 1

                @ RobertC. Just out of curiosity: I noticed that SparkFun is having trouble keeping the Arduino Ethernet Shield in stock. Is this just flying off the shelves or are you guys having trouble with the manufacture sending you enough? And when do you guys expect to have them back in stock?

  • Econaut / about 13 years ago / 4

    status update on the when this will be in stock if at all would be nice.

  • Yahya / about 13 years ago / 4

    Is this discontinued at SF or something? Hasn't been in stock for a while.

    • Member #118681 / about 13 years ago / 3

      I've had this thing on backorder for nearly 4 weeks.

  • Just curious, bet how soon will the next shippment be coming in??

  • Member #209077 / about 13 years ago / 3

    Judging from the comments, it looks like this product has been out of stock for a very long time. Is there any ETA?

  • Member #118681 / about 13 years ago / 3

    What's the ETA for new stock?

    • Member #37300 / about 13 years ago / 4

      A +1 for an ETA update.
      Any word from the Management?

  • MoriFi / about 11 years ago / 2

    You guys might have to drop the price on these some. I was at Radio Shack to pick up some resistors and saw these for $30, and ended up purchasing them for $28 (student discount), and no shipping. And yes they were the R3 version. With out any discounts or taking into account shipping thats a $15 difference. While I would much rather buy from you guys $15 can buy quite a bit of stuff.

    • Karl Bielefeldt / about 11 years ago / 1

      Not to mention you can get an entire Raspberry Pi or a BeagleBone Black for $35 or $45.

    • whispers / about 11 years ago / 1

      even cheaper than that now @ RS $20-24.00....and motorshields for $20.00 as well

      (not sure the quick price decrease? dropping line?)

      • MoriFi / about 11 years ago / 1

        According to my local stores manager they are getting more stuff in. Mostly seed studio stuff if I heard correctly.

  • Member #165795 / about 13 years ago / 2

    So... what's the consensus? I've had nothing but headache with this thing. It seemed to work well... and then I tried to "actually use it." So, the first few requests worked perfectly... and then it all went to, mmmph, Hades. (i.e., it ceased functioning as expected).
    So, I'm serving-up analog readings from at tmp36 (temperature). I put-in delays/etc. The first... 4-6 requests (via curl on OSX) are answered without fail. After that, it all goes to . I get nearly 3,000 lines of garbage... combined with raw HTML responses. For example:
    temperatureHTTP/1.1 200 OK
    Content-Type: text/html
    temperatureF: 87.02F: ?(B?v?d??;3??y?0"S@bS?3?;H?aI?7??Ox??E?g5bB?+T?????~?
    HTTP/1.1 200 OK
    Content-Type: text/hHTTP/1.1 200 OK
    Content-Type: text/html
    86.14G4??9l듢?(?g?2}@!q?0??p?M??֭[???P?(???Ny?j
    ?0?$?$?[?,?֎
    }?HTTP/1.1 200 OK]??I΀?O??b???C?QG?Sۧ?\4???4BB??

    • Member #165795 / about 13 years ago / 1

      Update: running curl (http request) against the thing every ten seconds, it stops responding after ~5 minutes. I powered-off the thing before running this test. Resetting the Arduino after this sometimes responds for a few iterations but winds-up failing to connect to the server.

      • Member #165795 / about 13 years ago / 2

        SOLVED: Well, I believe that the issue has been resolved. I haven't done the math. I only know that USB2.0 delivers 4.75V-5.25V. The TMP36 uses little... and I didn't dig through the datasheets to find the total power consumption of the Arduino+shield+tmp36. I switched to a wall_wart and the thing is just churning away, reliably returning up to around 2 request/sec (my client (curl) could be a limiting factor -- don't care as it's good enough). Gotta love when you answer your own questions.
        If anyone is inclined to "do the math" (power calculations), I'd certainly be interested. Too much to do...

        • Member #246704 / about 13 years ago / 1

          How do you have solved this problem? Look this link: http://arduino.cc/forum/index.php/topic,70310.0.html
          I have the same problem. Always I received garbage data mixed with the HTML.
          Any solution?

  • slab / about 15 years ago / 2

    Be aware that, just like in the photos above, these come without the SD card header populated (unlike the ones shown on the Arduino website).

    • wd40 / about 15 years ago / 2

      Good observation. Does SparkFun intend to sell one with this populated? A nice SD card library has been maturing for arduino storage...

      • Asuraku / about 14 years ago / 5

        Try reading the documention once in a while.
        "The SD card slot on the shield is not supported by the Arduino software."
        There's no point in including an SD slot, if the hardware won't recognize it in the first place.

        • HunterW / about 14 years ago / 3

          A) Try reading carefully before posting like that, "not supported by Arduino Software". The Arduino Hardware supports it just fine.
          B) Like the person above you actually wrote: There are several libraries not in the official distro but very easily added in that support it just fine.
          Which leads me to add: I too would love to see that connector populated and would find it useful. I'm going to move on to buy the shield from somewhere that did. (Sadly lazy I know)

        • hj barraza / about 14 years ago / 2

          There you go.
          A nice tutorial on how to use the SD Card with Hardware SPI:
          http://www.arduino.cc/playground/Main/EthernetShieldSDHardwareSPIMod

          • Blacklab1 / about 13 years ago / 1

            So Wiznet states that the SPI Part of their chip is broken? I wonder if this is ever goint to get fixed in Version 6 of this board?

  • Member #159439 / about 9 years ago / 1

    Is the arduino ethernet shield compatible with the arduino due?

  • Is it compatible with the Arduino DUE?

  • Member #410500 / about 11 years ago * / 1

    Hi,

    The Arduino Ethernet Shield successfully used in our KSduino project. So get it and welcome to KSduino!

    Regards, Kirill. http://ksduino.org

  • The Doctor Doge / about 11 years ago * / 1

    Edit: haha nevermind

  • Member #375518 / about 11 years ago / 1

    How would this be powered? Is it cheaper because you would need to buy either the power jack or poe module to power it?

    • M-Short / about 11 years ago / 1

      This is designed to be powered from the Arduino. As for cheaper, well, cheaper than what?

  • Member #355205 / about 12 years ago / 1

    Hi, is it possible that the shield do SNMP communication with another SNMP Agent? That means the Shield is the client ans gets SNMP information from antother device. Thanks

  • imboardru / about 12 years ago / 1

    Paragraph 3 needs to be updated to reflect Arduino version and support for SD card.

  • Member #123727 / about 12 years ago / 1

    Any thoughts about moving the RJ45 connection out a little bit more so the protoshield can fit on top of this. I think it just needs to move out maybe a quarter of an inch or so.

  • mwahlman / about 12 years ago / 1

    Does anyone know if this shield is compatible with the CAN BUS shield? Has anyone successfully made this combination work, if so did it require any pin-out or software changes? I'm hoping to be able to connect to the Arduino over WIFI. Would this combination allow me to be able to transit/receive the CAN BUS comms directly from the IP address of the Arduino? If this will work, do I need to purchase the UNO or MEGA for this application?

  • Serge V. / about 12 years ago / 1

    I successfully run RetroBSD on Max32 board with this Ethernet shield. No modifications to hardware is needed. Currently only microSD slot is used. Next step is to create a generic SPI driver, and to port an Arduino Ethernet library and examples. http://retrobsd.org/

    • whitnasty / about 12 years ago / 1

      That is awesome, I just picked up a MAX32 from Digilent last week and it is freaking awesome! Love having that 32 bit PIC on an Arduino platform, they also did a great job of porting over all the libraries, etc. So you did infact get this shield to work with the MAX32? I was thinking I was going to have to buy their Network Shield, I still might because of the CAN interfaces. Let me know some more information regarding this shield with the MAX32. Thanks a lot!

  • phibreoptic / about 12 years ago / 1

    I have the first Arduino UNO, will this ethernet board work with the earlier versions?

  • Jimmy Andrés / about 12 years ago / 1

    Do you guys have any news on when the third revision is going to become available?

    • chriswei / about 12 years ago / 1

      Any news on the R3 version? I'm waiting on submitting my order to find out.

  • Member #260763 / about 12 years ago / 1

    Haven't seen this posted, but for those having connection problems, check the MAC address that you are assigning in software. I wish that W5100 had it's own HW generated MAC address, but it doesn't.

    It goes wihtout saying that the MAC address must be unique on your network, but another detail to watch out for is that the first octet (leftmost) must be an even number (LSB of least significant octet is 0). Even numbers are used for unicast and odd for multicast. I had an issue that drove me crazy for a while because if I was direct connected to the PC or a switch, it worked fine. But over a wireless bridge or a powerline bridge I couldn't get any connection at all. The culprit? I forgot to set the first octet even.

  • bcomnes / about 13 years ago / 1

    I just received mine the other day. There was something weird about it though. Its as if the foam it was mounted in disintegrated a bit in storage/shipping. That not the weird part though. Its as if the top of the board is covered in something that caused all these bits to stick to it. The unit works fine, but I had to clean it up significantly to make it not look so dirty.

    • bcomnes / about 13 years ago / 1

      Another strange thing has to do with the amount of heat this thing can generate. When operating an arduino with a 12v wall adapter, and the Ethernet controller, the voltage regulator gets smoking hot! Too hot to touch! Any ideas on how to fix this (other than use a 7v power supply)? I was thinking about just using a USB power adapter since heat isn't an issue when powering from USB.

      • ATtiny Fan / about 11 years ago / 1

        You are powering it at the maximum safe voltage for the voltage regulator. That linear regulator likes 7-9V much better than 12V.

  • Member #57306 / about 13 years ago / 1

    I've used one of these plus an Arduino Uno to put a server online. It has buttons to turn an LED on my Arduino on and off across the 'net, and a light sensor "watching" the LED, so you can see whether it reacts. (The light sensor's reading appears on the page served.)
    It is at...
    http://mon277rr.dyndns.org:81/
    ... and there's a link there to a page from which you can get to the full sourcecode.

  • Member #39849 / about 13 years ago / 1

    Just want to verify if these new shields are pretty much plug 'n' play with the Mega 2560.

    • Member #57306 / about 13 years ago / 1

      Please: What follows is a genuine enquiry, not a snide comment:
      Are you telling us that it is, or asking IF it is??

      • Member #39849 / about 13 years ago / 1

        Sorry for being vague.. I meant to ask if i needed to make any pin out modification to get the new board to work with the Megas... I saw that previous versions needed to wire a few things differently.
        Total noob here

        • Pearce / about 13 years ago / 1

          Yes, they are. They use the SPI pins on the ICSP header rather than pins 50-52. Refer to the comment post above from May 29th that has a link to a blog post about the latest revision.

  • Member #138601 / about 13 years ago / 1

    Are the current ethernet shields compatible with the arduino megas...???

    • Member #138601 / about 13 years ago / 1

      Sorry I just saw the above comment, that the current shipped model supports the megas under current arduino ides...

  • Flokos / about 13 years ago / 1

    Just a question the shield above can be used in comparison with
    the bnc shield solarbotics holds?
    And if yes , is it possible to buy the bnc shield through sparkfun in orfer not to pay to different shipping bills.
    ???

    • We don't carry the BNC shield, and haven't tested them together, so we can't really comment if they would work together, sorry.

  • Member #184519 / about 13 years ago / 1

    Is is possible to use the sd-card as a datalogger?

  • Member #184519 / about 13 years ago / 1

    When will it be back in stock?
    I need one this month.

    • We are ordering all we can from Arduino. We have no guarantee when they will be back in stock, sorry.

  • mellis / about 13 years ago / 1

    I uploaded the updated schematics and Eagle files: http://arduino.cc/en/Main/ArduinoEthernetShield.

  • Member #184519 / about 13 years ago / 1

    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).
    Isn't the arduino Uno compatible?

    • Pearce / about 13 years ago / 1

      It is compatible with the Uno and the most recent version of Arduino (022)

  • mellis / about 13 years ago / 1

    BTW, Arduino now includes an SD card library that works with the Ethernet shield: http://arduino.cc/en/Reference/SD

  • OscarG / about 13 years ago / 1

    Still looking for schematic and docs on product that shipped two weeks ago. Newer than picture shown and V5 schematic posted.
    Acording to Arduino.cc manufacturer is Smart Projects, but they don't have docs posted either.

  • OscarG / about 13 years ago / 1

    Updated, Updated Version?
    Aparently a batch came in and went out this week, but the one I got looks notning like the product picture above. Also, parts are obviously not same as eiter V1 or V5 schematic.
    Arduino Forum has no information but a couple of posts on the issue:
    http://arduino.cc/forum/index.php/topic,55668.0.html
    http://arduino.cc/forum/index.php/topic,59846.0.html
    Aparently it works, but I would like to get a schematic.

  • Member #57306 / about 13 years ago / 1

    There are many, many issues to be overcome to connect an Arduino to the internet as a server.
    These are discussed and explained at length at...
    http://ArduServer.com
    At present, PART of that "answer" is an Ethernet shield based on a different chip than the Ethernet shield sold by Sparkfun (when it is in stock!... but it is out of stock everywhere, not Sparkfun's fault. (Apr 11))
    So why am I posting this?
    a) The tutorial has help on many points which are independant of the shield used.
    b) I am hoping someone will do a "how to" which converts what I've posted to whatever's needed for the same result, using the Sparkfun shield.
    My server serves a page with two buttons. One turns an LED attached to the Arduino on, the other turns it off. The LED shines on a light sensor. The page also reports what the sensor is detecting.
    http://mon7nc.dyndns.org:81
    Enjoy!

  • Member #213556 / about 13 years ago / 1

    Any news about this product availability ??

  • I feel like it would be pretty neat if Sparkfun sold a kit equivalent to this shield and that could be built at home. That might even help alleviate the frequency of out of stock manufactured shields or at least appease the masses who really want this shield quickly. I assume this whole device is open-source due to its association with the Arduino, right?

  • physicspirate / about 13 years ago / 1

    When are these going to be back in stock?

  • Member #88330 / about 13 years ago / 1

    I am definitely waiting for these to become available as well...

  • Member #143455 / about 13 years ago / 1

    Hello, do we have any kind of chineese replacement for this board ?
    Tank you

  • GiovanniL / about 13 years ago / 1

    Sorry, this shield is compatible with Arduino One?

  • Mike77 / about 13 years ago / 1

    Is it possible to do SNMP communication with the Arduino through this shield?

    • Yes, but it's somewhat limited. Give the following page a look. http://code.google.com/p/agentuino/

  • Member #57306 / about 13 years ago / 1

    For a fun use of such a board...
    Pachube.com
    ... "You Tube" for data streams. The site totally baffled me, so after many hours of work, I wrote the following "Getting started" guide...
    http://sheepdogsoftware.co.uk/sc2wy.htm

  • Jesse2 / about 13 years ago / 1

    The wiznet chip runs really hot. I have this shield hooked up to my mega. Is this normal? Should I put a heatsink on? Use it to roast marshmallows?

  • Facu / about 13 years ago / 1

    hi, <br />
    I'm trying to use this shield with an "arduino made in home". Do I have to send 3v3 (through 3v3 arduino pin)?<br />
    Or just 5v (through 5v arduino pin) enough?<br />
    she makes 3v3 from 5v? Or I have to send 3v3?<br />
    <br />
    (sorry for my english)<br />
    <br />
    tnx!

  • ovidiup / about 13 years ago / 1

    I bought the new Ethernet Shield with the microSD card and I'm happy to report the Ethernet as well as the microSD are both working happily together.<br />
    <br />
    I've updated Arduino TinyWebServer, an open-source library that implements a small Web server on Arduino to take advantage of the new shield, including the microSD card.<br />
    <br />
    http://www.webweavertech.com/ovidiu/weblog/archives/000484.html<br />
    <br />
    I've put up an example project that allows controlling an LED from a smartphone using the browser. You can use this as a starting point for a more complex project.

    • bcomnes / about 13 years ago / 1

      This is by far the best set of libraries and resources that I have found for setting up a web server on an arduino.

  • chriscross93 / about 13 years ago / 1

    Just as a point of interest, the new (with micro SD slot) version does not have LEDS on the Ethernet jack. This change is of course reflected in the pictures, I just didn't notice until I got it.

  • ThiSel / about 14 years ago / 1

    Will this shield work with a FEZ Domino?

    • It is designed for the Arduino. You may be able to get it working with other boards (NetDuino or FEZ Domino), but Arduino doesn't support this directly.

    • ThiSel / about 14 years ago / 1

      What about netduino?

  • ovidiup / about 14 years ago / 1

    I was an early adopter of this board. I coupled it with the Adafruit SD shield with the intent of exposing a Web interface to my Arduino-based project (see http://www.webweavertech.com/ovidiu/weblog/archives/000476.html).
    The experience was not great to say the least. The Ethernet shield tends to timeout randomly for any files larger than the MTU size of 1492 bytes. Files smaller than that would transfer in 20ms or so, anything larger could take many seconds to transfer.
    Hopefully the new board with the built-in SD card is going to be more functional. In the meantime I decided to hook up my Arduino to a small GuruPlug Linux computer (see http://www.webweavertech.com/ovidiu/weblog/archives/000479.html). At about $100 it provides a lot more functionality than the combination of Ethernet/SD shields of past.

  • durka42 / about 14 years ago / 1

    Does this work with the new Mega 2560?

  • Could you update the photos? I know in the description it says that it now has a micro-sd card slot but these show no storage at all.
    Just a thought.

  • haya / about 14 years ago / 1

    Does anyone knows why this shield heats (wiznet chip cannot be touched) when it is mounted on any arduino ? The arduino is powered by usb cable direct from pc. The shield works good but the heating is worrying me.

  • vanbako / about 14 years ago / 1

    There is an updated version of the ethernet shield on the arduino web site, which is compatible with arduino mega and has a microsd card slot. See arduino blog http://arduino.cc/blog/?p=659
    I'm eagerly waiting on this version.

  • Eric Mika / about 14 years ago / 1

    This comes assembled, and includes the elusive six and eight pin stackable female headers, correct?
    Thanks.

  • dgadling / about 14 years ago / 1

    Is this a silkscreen mistake or does the Vin pin really get dropped down to 9V?

    • ebarch / about 14 years ago / 1

      It means that the Arduino accepts up to ~9VDC and regulates it down to 5V for the board. There is an onboard voltage regulator that does this.

  • CSBaum / about 14 years ago / 1

    Does anyone know if this supports wake-on-lan?

    • agt / about 14 years ago / 1

      The W5100 datasheet makes no mention of such a feature. Depending on the WOL flavor you're trying to support, you could either listen for packets on a specific UDP socket, or use the W5100's "IP Raw" mode to receive all incoming packets, and then match those against the WOL magic byte sequence.

  • ScubaSonar / about 15 years ago / 1

    This is pretty much the coolest thing ever. It didn't take very long at all to have it sending me e-mails. It's super easy to use.

  • GeneW / about 15 years ago / 1

    Are the wire wrap pin socket strips available for purchase from SparkFun or is the part number available? I can't find them in the DigiKey catalog.
    I would like to be able to stack some of the other shields more than one deep.

  • NickFury / about 15 years ago / 1

    It seems that this board is NOT pin compatible with the Arduino Mega.
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238295170/0
    The SPI pins are not the same. I'm waiting to hear back from the guys on the Arduino forum to see if it's possible to make it work by moving the pins around since the SPI pins on the mega are not located under this shield once it is installed. It might yet be possible to make it work but as of right now, it seems that this shield is NOT compatible with the Arduino Mega.

    • Chiel / about 15 years ago / 1

      if you set pins 10-13 on the arduino mega to input and place jumper cables between the shield and the current spi pins. it should theoretically work.
      by setting pins 10-13 to input they go into z-state which is effectively the same as cutting of the pins.

Customer Reviews

No reviews yet.