My home automation (webserver + HTML control)


I have been working for 1 months on my Arduino home automation.
What I’m doing is a arduino + ethernet working as webserver, and using HTML in order to control the variables on my mobile telephone.

It has now:

  • RTC
  • Ethernet (w5100)
  • Digital light sensor
  • Relay module
  • Arduino Mega
  • 5v power supply

There are other modules I want to use in the future as PIR, distance sensor, temperature, RF, etc. but my priority is to control my central heating and exterior lights.

I have the webserver working (after spend hours trying to run the string concatenation), you can see a screenshot of my mobile.

I will post as much as I can about the proyect, but I have a doubt:

- What’s the maximum distance that arduino ethernet shield can send/receive data from router?
I have connected it to the router and it works perfectly, but when I connect it throw a 20 meters ethernet cable, it doesn’t (PC and TV work).

In order to debut the HTML, I have to connect it to the ethernet of my Laptop, and use the WIFI connection to share the webserver to the net.

Thanks in advance


I’m also working on a similar project as you, hope to see some ideas from you!
For now, I’ve a Mega connected via I2C to the ethernet module (W5100 + arduino together), and the ethernet card has about 20 meter cable (cat 5e) to my router.
It’s all working fine here, so I think the distance isn’t the problem.

Maybe the power isn’t enough? Have you tried a 7,5 volt power supply?

I’m using a 5v power supply directly connected to 5V pin of Arduino (avoiding the power regulator in the arduino Mega card).

I have completted the code and it’s working perfectly. I have attached it. Variable names are in spanish.

The workig is as follow:

  • Initialize the RTC, ethernet, read variables from ROM (I store it in order to recover them when the power is out), light sensor… etc.
  • Show HTML code
  • When a string from Web browser is received, read this and change variables. Show updated web again.
  • Each 50 seconds update Central heating status and light status, in order to put ON or OFF when they are in AUTO mode.

Domotica_v16.ino (21.1 KB)

What I would like to do now is to use a ring connection between some arduinos, because I want to control to much reles and I'm not able to pass all the cable throug the wall, so I will need to distribute some arduinos, connected in ring typology.

connected in ring typology.

Unfortunately it's not even close to being ready yet, but PCBs are being fabbed as we speak.


check your network cabel if the wiring is not in the right order its almost not possible to work over 10m


Thanks, I will check the connectors.

Ring typology is an option, other one is the wireless (RF), but I think the last one would be unestable.

Another question:

¿There is any web where I can get my external IP through arduino web client?

(in order to send me when the IP change)

you can see your public IP here or just search on google or here


nice project, can you share your code pls?


  • What's the maximum distance that arduino ethernet shield can send/receive data from router?

I've got an arduino and mega with ethernet shields connected to my router thru ~50' of cat3 four conductor telephone wire wired as 10BaseT.

I think the IBorad Pro is very suit for the home automation project like this : )

The board is ATMega2560 + W5100, with SD and XBee socket, many interface breakout for sensor module and display. RTC onboard, and comes with Arduino MEGA 2560 bootloader.