Picture of Arduino Ethernet Shield Tutorial
The Arduino Ethernet Shield allows you to easily connect your Arduino to the internet. This shield enables your Arduino to send and receive data from anywhere in the world with an internet connection. You can use it to do fun stuff like control robots remotely from a website, or ring a bell every time you get a new twitter message. This shield opens up endless amounts of possibility by allowing you to connect your project to the internet in no-time flat.
Remove these adsRemove these ads by Signing Up

Step 1: Setup

Picture of Setup
Setting it up is as simple as plugging the header pins from the shield into your Arduino.

Note that the Ethernet Shield sold at Radioshack is online compatible with Arduino Uno Rev. 3 boards (or later). It has too many pins to plug into earlier version Arduino boards.

Step 2: Shield Features

Picture of Shield Features
The Ethernet Shield is based upon the W51000 chip, which has an internal 16K buffer. It has a connection speed of up to 10/100Mb. This is not the fastest connection around, but is also nothing to turn your nose up at.

It relies on the Arduino Ethernet library, which comes bundled with the development environment.

There is also an on-board micro SD slot which enables you to store a heck-of-a-lot of data, and serve up entire websites using just your Arduino. This requires the use of an external SD library, which does not come bundled with the software. Using the SD card is not covered in this Instructable. However, it is covered in the Step 8 of the Wireless SD card instructable.

The board also has space for the addition of a Power over Ethernet (PoE) module, which allows you to power your Arduino over an Ethernet connection.

For a full technical overview, see the official Ethernet Shield page.
1-40 of 80Next »

thanks for your information,

IdeS2 months ago

It's useful thank

midnightcow2 months ago

Nice Tutorial!!

I'm a engineer in WIZnet providing W5100 to the official Arduino Ethernet Shield.

WIZnet made W5500 and WIZ550io/ioShield-A. If you are interested in W5500 and make a tutorial of W5500, I will give a WIZ550io to you free. If you want, feel freely to contact me.

Thank you.

parth_bhat1 year ago
my ethernet shields ic gets hot will u plsplspls help me for that
am using arduino leonardo board
pls help me

I have one of the Non-POE (power Over Ethernet) 5100's, and it does the same to me.. I think it's the 3.3V regulator trying to run the single chip, which is chewing-up massive wattage.. (even if it is being powered from the +5V regulator from the Arduino.) I've often wondered, if I could repower this off the 3.3V off an external power supply, but someone said that's a bad idea, as the back-feed could burn-out the regulator, and other chips switching between the 9 down to 5, and 5 down to 3.3, or even the USB to serial chip.

You need to supply the arduino and the shield with 7 or 7.5 v, you can use a dc-dc power regulator. I use a 12v power suply and a dc to dc regulator, who give me 7.5v and everything is fine.

randofo (author)  parth_bhat1 year ago
Did you do anything to change it, and/or did you plug it in correctly? It sounds like you are shorting something.
Gelfling6 randofo6 months ago

Wow! a whole year later? No, It's something about the 3.3 regulator, that is handling a lot of amperage from the 5100.. I thought I saw somewhere on another instructable, someone solved the problem (slightly) by DOUBLING the regulator. (stacking another one on top of the original, so you had 2 in parallel.)

That happens with my wiznet W5100 too. It just happens I think.
antoniol15 months ago

Thanks a lot work at the first run.No problem with me here.

hzv82 years ago
'and open the serial monitor. It should print out the IP address in use.'

This dosen't work...........WTF
randofo (author)  hzv82 years ago
Are you using Arduino 1.0?
Rayan_ADR randofo8 months ago

i have the same problem, i'm using Arduino 1.0.5 and the serial monitor don't print the IP address

check the baud rate of serial monitor

samething happened to me, had the baud set to 115200, changed it to 9600, and it works

Use DHCPAddressPrint it should work...

rstott26 months ago

This instructable answered questions I couldn't resolve after hours of work! Thanks for taking the time to do it!

AmpOwl8 months ago

Could you make it send emails? I'm thinking of hooking one up to a 3D printer to email you when it finishes a print.

waterlubber2 years ago
What if you don't have access to a router? (e.g apartment building, hotel rooms...) Can I use the ethernet port on my win7 computer?

I have the same problem, I've tried connecting the shield to the router directly and it worked, but I can't do it in my computer. I use Windows Vista, and the cable I'm using is crossed over (with just 4 wires). Do I need to configure something in Windows or what could I do?

Port should handle the cross over internally if its a newer computer if it doesn't you will need a cross over cable.
What is a crossover cable, and do I need one? (If so, why) I have an Atheros AR8132 PCI-E Fast Ethernet Controller and and Atheros AR5B95 Wireless Network Controller.
Well communicating from pc to pc via the rj45 port in the past you would need a cross over cable. Alot of ports on newer computers usually handle this internally. You may need to check the specs for your computer. Please read up on cross over cables. Just look up pc to pc networking via rj45 port. Basically pc to pc networking. The arduino and ethernet shield is basically a computer.
OK, my memory just gave me the memory of hooking up mine with another (it worked) so a Windows 7 computer seems to be compatible. ;P Is it like the serial cables when you have to "cross over" the TX and RX wires? Anyhows, its working. Thanks for the help.
Simsso11 months ago
Hi all!
Does anyone know, how to give people, who are not in the local network, access to the Arduino Server?
tamberg Simsso9 months ago

Another option is using a relay service like (disclosure: I'm a founder).

jelimoore Simsso11 months ago

Port forward. Depending on what router you have, you SHOULD, I mean SHOULD be able to.

wasimxxl1 year ago
can any one help me please ??

i wont to use arduino in my project ..
i wont ardino send alarm to my androin phone 'by internet ' whin the Bell home is ring
What are the pieces that will I need ??
remember by internet no IRir no blotooth
thank you
kgwolf wasimxxl11 months ago

it's been a few months since you posted this; were you able to get answers to your questions?

ckrmustafa1 year ago
Hi everyone. I am new at Arduino. When I have tried to use the skettch in "File --> Examples --> Ethernet --> DhcpAddressPrinter" I am getting "Failed to configure Ethernet using DHCP" message on Serial Monitor. Could anyone explain what the reason is this message?
Note: I changed the MAC address as 0x22, 0x7A, 0xFE, 0xFC, 0xFE, 0xF2 in code file.
Dylon1241 year ago
I know this sounds dumb but where how did you find your ip?
randofo (author)  Dylon1241 year ago
See the previous step (Step 3)
Reddyco1 year ago
When I try to upload thw sketch, it throws an error and it doesn't work. I'm using a UNO Board and Arduino 1.0.4.
The error says:

"DhcpAddressPrinter:26: error: 'EthernetClient' does not name a type"

Then, I tried to reimport the Ethernet library. It includes a lot more of header files (Dhcp, Dns, Ethernet, EthernetClient, EthernetServer, EthernetUdp and util), and then the error changes.

Ethernet_ENC28J60\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet_ENC28J60/Ethernet.cpp:27: multiple definition of `EthernetClass::_state'
Ethernet\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet/Ethernet.cpp:90: first defined here
Ethernet_ENC28J60\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet_ENC28J60/Ethernet.cpp:27: multiple definition of `EthernetClass::_server_port'
Ethernet\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet/Ethernet.cpp:90: first defined here
Ethernet_ENC28J60\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet_ENC28J60/Ethernet.cpp:27: multiple definition of `Ethernet'
Ethernet\Ethernet.cpp.o:C:\Program Files\Arduino 1.0\libraries\Ethernet/Ethernet.cpp:90: first defined here
c:/program files/arduino 1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: Warning: size of symbol `Ethernet' changed from 6 in Ethernet\Ethernet.cpp.o to 1 in Ethernet_ENC28J60\Ethernet.cpp.o

DO you have any ideia of what should I do?
araje1 year ago
Hi, I am using a Duemilanove on Arduino 1.0.5. I purchased an ethernet shield from ebay. When i try to run the DHCP address printer code, i get "Failed to configure Ethernet using DHCP" on the serial monitor. Plus, it takes about 3 minutes to get this message.
I observed that in the My Computer device manager, the drivers arent correctly installed. It just shows Ethernet Controller with a ? on the side.
Are these problems related?
Please help.
OmerS1 year ago
About the Client with the Twitter feed:
note that it stopped working because twitter switched from "http" to "https"(security reasons) and the arduino doesn't support it.

just trying to save you guys the exhausting time i spent trying to figure out why it doesn't work......:(
sshapiro21 year ago

Any advice: i have confirmed ip address with addressprinter.

byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x56, 0xC6 };
IPAddress ip(10,0,0,10); //<<< ENTER YOUR IP ADDRESS HERE!!!

The light goes on when i uplaod the script but wont respond to the ip $1 or $2, the page just sits and doesnt load. i even tried the script below to return a black screen and nothing loads on that ip.

i have a similar problem with the Switch activated code. It loads a white page with the words DARk but nothing happens when the switch is pressed, tried refreshing etc
Me too i had the same problem and i noticed that it is displayed "white!" WHILE you press the button so hold you finger on the button and refresh
comprehensive tutorial how the Arduino Ethernet shield can be interfaced with Arduino board and used in applications. Very good.
Can you tell me what drivers(code) are being used for the SPI Interface

Thank You
1-40 of 80Next »