Home Automation Controller

Hi guys. Thought I'd share my "meagre" Arduino efforts. My current house uses a server based program and I/O card to control all sorts of things (pool, garden watering, lights, etc.). But if the server dies my whole house dies!!

I'm building a replacement based on Arduino Mega with it's own intelligence, logic rules and web server. It'll be used to replace existing home control functions as well as replace my security and ups control systems. Some of it's features are: - 32 digital outputs (last 8 on wireless), 16 digital inputs and 8 analog inputs - Interface to wireless mains switches using 433Mhz transmitter - Http protocol interface (web page from any computer or server can control by issuing http commands) - Inbuilt time and logic rules (rules are stored in EEPROM and recognise times, days, sunrise/set times. etc.) - LCD display to show current input/output and system status - Real time clock and server command for updating

It's not super flash but I'm having a lot of fun. Some details are at:


Comments and questions welcomed.

Cheers - Greg Smith

Yiiiihaaaa!!! That looks nice!!! Wish you good luck with expanding… it’s great!!!

Greatings ChrisS

PS: I think you should use NTSC OSD to control your House via TV-Screen… also… Library is avaiable…

Whoa! That's a HUGE project! Have you considered adding security functions too? It would be sweet if you could remote lock-down the house with a password or use RFID on the door or something.

Thanks for your comments. Hmmm. Hadn't thought about RFID. Might look at that. I guess it could unlock the door and disable the security at the same time. I've got a spare TX/RX port.....

Great! I will follow this because I also want to make a project like this one!

Good work.

Hi, can you post more info about your project? Can you share more fotos, hardware... code...



Very nice! I’m building something similar but taking another approach. I really hate writing HTTP servers in Arduino and would rather let a Linux box take care of that for me.

What I do is get cheap Asus WL-520gU routers and have them communicate to an ATMega168 (or you could do an Arduino Mega board) via serial. Serial headers are real easy to add to the router and work great.

Also, I have it set up as a repeater in my home so it can have its own AP. Using OpenWRT for this is a dream and its LuCi Lua-based web MVC framework is very easy to extend to do this. I have some code from it here: http://github.com/nemik/arduinoponics

I'm building a replacement based on Arduino Mega with it's own intelligence, logic rules and web server. It'll be used to replace existing home control functions as well as replace my security and ups control systems. Some of it's features are:

Reminds me of where I was two years ago...

I too built a centralized control system, but found it too fragile. To improve stability I built standalone Arduino controllers, each dedicated to a group of related tasks. I wanted to communicate with the controllers to get and put data. That led to the development of a 'Bridge' Arduino. I then created a simple ASCII communication protocol call Microcontroller Remote Management Protocol (MRMP). I have built several controllers, Solar, KOI Pond, Security, Irigation to name a few. I am not a big fan of 'timed' events, except when it relates to irrigation. Municipal codes are very fussy about date/time. Even so I like to incorporate external factors that influence the timed events. For example. The Irrigate controller does have time start and duration, but I also scrape the local forecast XML page for mm and percent possible rain and based on thresholds I will delay the irrigation until the evening. During the last 12 hours I accumulate the actual percipitation with a simple 'tipping bucket' rain gauge. At the end of the day this measured percipitation is deducted from the planned amount. In that way I save on the water bill! In most cases I plan for failure, or as best as I can. In this example, even if the XML scraper or the tipping bucket fails, watering still proceeds.

I also prefer to avoid realtime clocks and instead to use UNIX time. I found it is far simpler to time events. My Linux connected bridge controller sends a MRMP string to update the UNIX time each day to all Microcontrollers.

These controllers have run very reliably for two years now. Hopefully we can share more ideas and code.

MRMP reference... http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1232140631

A home automation setup would be interesting. I followed the Homeseer forum for a long time, but the product got to where it was too $$$ for general tinkering.

Hi guys. your approach is really fancy. I am also about to start my home automation project but I will have to restrict it in the first instance to my garden (watering, light and managing my husquarna aotomover). I want to use the ethernet shield and the web server libs to connect to the arduino. I am about to build some modules for relais and steering my watering channels. The webpage coming from arduino will be integrated into my home web server environment that I use to manage my home entertainment system. As browser I want to use my new iPad. If anyone already build some relais modules please let me know and also modules for managing gardena pupms etc. kind regards jog_baer

Nice. Check out mine: http://chattyhome.com/blog

Slightly different approach, i.e. Arduino is not the heart of the system but merely input/output interface, the system is based on SQL / Objective-C server, with Mac / Web / iOS clients.