Home Automation System Code Release - 11,000 Lines Coming ...

This morning I uploaded 27 pages of documentation for my Arduino Home Automation (HA) application. This system have been under development for more than one year and is more than 11,000 lines of code.

If you are interested browse the application website at http://www.2wg.co.nz and download the documentation file:


I intended to shortly follow up the documentation with the source code release but there may be a delay of a week or two because this evening I have suffered the blue screen of death and the system has restored my main sketch file back six days. So I will need the next week at least to reimplement the latest functionality in between other things that I must do.

Key features of my home automation system that may interest you include:

  • Webserver functionality including dynamic web page generation, html request processing, file uploads and downloads, security, session cookies, etc
  • SD Card operations including web page browser, activity logging, direct file access, RAM backup and restart restore, etc.
  • Home Automation including climate recording, PIR monitoring, device control.
  • An email subsystem.
  • RAM (memory) management including real time RAM monitoring and linked list caching.

I am releasing (intending to release) the application source code for the benefit of the Arduino community, who via the forum, have helped me solve a few difficult problems and get me to this point. I hope this release (including the source code to come) and the application web site will disclose a few application development secrets ("how to" algorithms) and encourage others to pursue their Arduino application development objectives.

In the meantime enjoy the documentation and stand by for the source code release.

Cheers for now.

Catweazle NZ

Hi all

I have recovered from my system failure by reimplementing the code changes lost when I suffered the blue screen of death.

I will be testing the system for just a few more days before releasing the source code on the application website at http://www.2wg.co.nz



Thanks for sharing, shouldn't this be on the exhibition subsection? I can move it if you want to?

robtillaart: Thanks for sharing, shouldn't this be on the exhibition subsection? I can move it if you want to?

You may be right - until your post here I was not aware (after 18 months Arduino coding and countless google searches) that an exhibition subsection ever existed.

I intend to post my Arduino application source code on the system's own website at http://www.2wg.co.nz within the SD card folder (directory) /PUBLIC/. That way I can capture and analyse statistics of the downloads which in turn will influence my forward development strategies.

At 11,000 lines and more than 400KB of code I obviously won't be able to post it in the forum. The overview.pdf documentation file is another 370KB (and growing) and I want to publish a range of other documents and images as well - all on the system's own website.

I would like to think that some of my coding solutions has pushed the Arduino boundaries a little further and would be happy to work with others to promote re-use of any of my innovations and efforts.


Catweazle NZ


The source code has now been released on the application website at http://www.2wg.co.nz.

Select the SD Card option and click through to the PUBLIC folder.

The following recently released files may be of interest to you:

overview.pdf - A 34 page overview of the system. ha150127.ino - The main application sketch (over 8,000 lines) utility.h & utility.cpp - My utility library of common functionality (over 3,000 lines) stringsp.xls - My Excel strings database/management tool


Catweazle NZ

I downloaded the sketch but it doesn't compile.

I get an errore here


because in EthernetClient.cpp getRemoteIP doesn't exist

I found a solution here http://forum.arduino.cc/index.php/topic,82416.msg619420.html#msg619420

Then I get an error here

extern SDClass SD;

and commented it out.

Finally I get this error

'class EthernetClient' has no member named 'getRemoteIPString'

But I din't find any solution. I wander which IDE was used to compile it.

Does this system and info still exist?

hoegge: Does this system and info still exist?

I don't think so, the links provided are not working. So, all the work either is not present at all or it is removed.

CatweazleNZ can this home automation system be made available again please. It all seems to have disappeared.