Picture of Arduino Webserver Control Lights, Relays, Servos, etc...
In this project using only an Arduino with an Ethernet shield.
I’ll be controlling one LED and a servo, but you can apply this method to control a DC motors, buzzers, relays, stepper motors, etc..


When you upload the the code provided in this tutorials. it creates a webserver in your LAN and you simply use the IP to access that webserver through your browser. After that it shows a webpage similar to that one below. When you press the button “Turn On LED” your url will change to: “” the arduino will read that information and It turns the LED On.

By default the IP is “″. That also can be found on the Arduino code provided.
The Webpage will look like the image on the attachments.

Check this Video tutorial below ! (Includes demonstration)

Step 1: Parts Required

Picture of Parts Required
  • 1x Arduino Uno
  • 1x Ethernet Shield (with Wiznet W5100 chip)
  • 1x 220 Ohm Resistor
  • 1x LED
  • 1x Micro Servo Motor
  • 1x Breadboard
  • Jumper Cables
AquaM22 days ago

Hello, i was wondering how you would go about changing the colours of the buttons (Turn on LED, etc.) on the website? I have been trying to learn how to use html and was wondering how how to do it.Any assistance would be greatly appreciated! Thanks

joon87425 days ago

Hello, RuiSantos

I am an engineer in WIZnet which designed Ethernet chip you used as Ethernet shield.

Could I introduce your great project to WIZnet blog to share the idea for other makers??

It will be so hlepful!!

Thank you!


i love it!, it is so simple y great

SaifK22 months ago

Was able to make one working. But there is a problem when i connect load to relay than my arduino webserver stops responding

ive been searching for days for something like this the only differance is i would like to use a wifi shield any help on what i would need to change?

whats ports on arduino ? thanks great tutorial

server is at

Please help..


noel.kuck6 months ago

Not able to connect via the server address(es) in the sketch or from the serial monitor. Ideas?

thanks for the code!

i modified it so i can control my 433mhz remote wall sockets with the newremoteswitch library. i used a clone uno r3 with unofficial ethernet shield.

JCL29 months ago

Good day Sir!
I was wondering if ever i could make the servo rotate continuously? Because I'm planning to make a wheel for a simple robotic car. Is there any changes that i will make on the program or i will have to use continuous servos. I'm trying to make one but it only rotates on 180. I'm using Tower Pro SG-5010 servos.
Hope you could reply.

alftonic10 months ago


Please.... how can I stop rotate after turn 360°?

Hello,some question

what would happen if the connection to the webserves is a Shield 3g ? Can do it?

A greeting and thanks

sbirk1 year ago


Nice project there..:D

I have a yun so I wuold like to make it wireless..:D I replaced all the Ethernet with the wifi webserver.. and got connected ...

I can enter the local page with the bottuns (pc and mac) but when I try the buttons it goes to the setup page instead on turning the led on...

My code: http://goodworkmyboy.dk/test_wifi_led.txt

Hope you can help...

I have a Yun with a Seeed Relay Shield. I'm trying to get a garage door opener sketch. I discovered the webserver piece can run inside Linux on the Yun but need help with everything else.

marslan21 year ago

your project is very good that I admire .
I used to arduino leonardo . I want to make this project. but I dont know arduino leonardo with ethernet shield can use. it is possible ?
best regards

Hey RUI.....i m a noob wrt comps and it engg.....i jst wanna knw " can we include more buttons on server so that we can control more no of loads on arduino "

I believe that any HTML editor can do it, since the code just passes an intruction trhu the web. For instance, if you want to turn on other led, just create an HTML button for this other led that passes on a "turn on" instruction for this same led, got it?

See some HTML tutorials here http://www.w3schools.com/

Thankzz Raphango... i got it....

You are welcome! ^^

Raphango1 year ago

Definetely gotta do it! =D

Thanks a lot!!!! =DDD

jmance11 year ago
can this be made using some wifi shield instead of ethernet?
RuiSantos (author)  jmance11 year ago
Yes! Definitely, you just need to make a few changes...
I would start by taking a look at the Arduino Examples from the WiFi library.
And see how WiFiWebserver example works...
I hope this helps.

(Those examples I'm talking about can be found on the Arduino IDE)
tamberg1 year ago

Hi Rui, great project. To access the Web UI from everywhere you might want to try our YalerEthernetServer library (see http://yaler.net/arduino). Just downloaded and adapted your code, seems to work fine. Kind regards, Thomas

tgathright1 year ago

Hello, My Ethernet shield is a Arduino R3 version, is it suppose to work with the code with this instructable?



RuiSantos (author)  tgathright1 year ago
yeah it should work just fine.
As your shield uses the exact same chip as mine...
Wiznet W5100
leorivas1 year ago
I did everything as in the tutorial, but I cant see the webpage, when I connect the serial monitor, it only says: server is at
What am I doing wrong? the software compiled without errors, tried with a set of IP addresses vlaid for my network, the router litght blinks so I think the board is alive and there is connection.
Thanks a lot
Sorry. The configuration is Arduino UNO and Ethernet Shield V1.1.

RuiSantos (author)  leorivas1 year ago
I'm glad you found the solution!
Have a nice day,
Hi Rui
Well, it still does not work, I was just telling about the hardware configuration.
Btw, I noticed that the ethenet shield you got there looks different than mine (V1.1). Managed to download a driver and put some sample code in, and it worked. But as far as I could analyze the code, it does not use the 'Ethernet.h' include, but 'etherShield.h', the rest of the code looks very 'hardware-oriented', with buffers and pointers and stuff, not at all as simple as your code looks.
I guess, it is a ethershield hardware version problem. Can you suggest a ethershield model, or you think it is possible to make your sketch to work with this one?

Thanks again

Hello Rui, I am back with my research, it might be useful for others.

What happened here, is that there are two types of ethernet shield, one based with the ENC28J60 chip, and another with the Wiznet W5100, which is the one supported by the default ethernet arduino library (the one you used).

Unfortunately, mine is the ENC28J60 based, and uses a different library, so a different way to program. So far I found two libs (actually three):

EtherShield:http://blog.thiseldo.co.uk/?p=329 , this one is outdated and it looks out of support. I am sure it still works, but I discarded it. This is the one I had, with very hardware oriented looking code (byte oriented buffers, hex args, pointers, etc, even the simple webserver code looks pretty much unreadable compared to the one written with other libs).

EtherCard: https://github.com/jcw/ethercard , still supported, managed to run some example sketches succesfully. Waaay simpler to read than the previous one.

UIPEthernet: https://github.com/ntruchsess/arduino_uip , this one works as a wrapper to make 'Ethernet.h' code work like this project, replacing it with 'UIPEthernet.h". Cool!

Unfortunately, though I managed your sketch code to work on the ENC28J60 using the UIPEthernet, the arduino hardware hanged pretty often, I mean, the led could be turned ON, or the servo moved, but then it stopped responding to web requests. Sad.

What I will try now is try to adapt your code, but using the EtherCard, so people using this ethernet shield can run your project.

Thanks for listening


RuiSantos (author)  leorivas1 year ago

Hi Leo,

Unfortunately I don't own a shield with ENC28J60 chip. So I can't make it compatible with that board, as I don't have a way to test it.

I'll update the parts list from my instructable so people don't have that problem too! Thanks for poiting that out.

I hope you can make it work with your board properly.

Have a nice day,


DSAVARD0021 year ago
I would like to buy it, without leds. It is possible ?
I was looking for something like this !

RuiSantos (author)  DSAVARD0021 year ago
what you mean by buy it without leds?
You can find everything on amazon for example...
you don't need to buy the LED's this is just an example :)
alexmac1311 year ago
for the price of the shields and such a raspberry pi is better and then use then pi to control the arduino through nodejs and Johnny give
RuiSantos (author)  alexmac1311 year ago
yes the Raspberry Pi can be also a good option... the BeagleBone is even better than the Rpi though.
It all depends where you buy your products from... the Raspberry Pi is way more expensive to setup than an Arduino and Ethernet shield (you can get a clone for $12)