Go Down

Topic: ARDOMO, my Arduino based Home Automation system (Read 1 time) previous topic - next topic


After three months of puzzling , soldering and coding, time has come to share my experiences with the Arduino community.


Arduino Due based Master module
  • Ethernet shield (NTP client + Web server)
  • Real Time Clock with Battery backup  (DS3231)
  • 4 digit display (00:00) TM1637
  • Wireless module nRF24L01 for communication with wireless modules
  • I2C bus for RT Clock and future sensors
  • I2C bus for connecting local slave modules
  • 8 x Relay outputs
  • 20 x digital inputs 
  • 8 x 0-10V output for driving dimmers and electronic fluorescent lamp drivers

Arduino Pro Mini based modules on I2C bus (4 of them in our home placed in the wiring closet)
  • I2C bus for communication with master
  • 8 x Relay outputs
  • 8 x digital inputs

Arduino Pro Mini based modules with wireless communication
  • nRF24L01 module for communication with master
  • mix of PWM outputs (for driving LED), Relay
  • ? x digital inputs
  • Optional IR Receiver (Remote control)

Modules are receiving config from master and local inputs can switch local output without communicating with master

  • Simple communication protocol with CRC / Acknowledgement used for both I2C (Wire) and Wireless (nRF24L01 ) communication. At this moment in multi-master mode. Each module can initiate communication.
  • Webserver, serving a status page, logfile, webapplication (HTML5/Javascript) and communicating with Android App (receiving commands and serving status of all outputs)
  • Time management: Getting time through NTP, setting / reading RT Clock / getting sunrise/sunset time
  • Reading config from SD card (on Ethernet Shield). Config is stored in 5 csv files:
  • Modules (type, bus, address, ports)
  • Outputs (module, port, type, …)
  • Sensors (module, input, type, …)
  • Timers (timed operations)
  • Logic
  • Moods

Apart from the software on the Arduino's there is some HTML5/javascript code for running on Web clients and  a Android App based on same HTML5/javascript code.

More info on: http://ardomo.blogspot.be/

Code is available on https://github.com/krunkel/ardomo



Mar 11, 2015, 12:01 am Last Edit: Mar 11, 2015, 12:28 am by rockwallaby

I can appreciate the long hours you have put into such a project and I think you have done a quite a nice job of describing and developing this project, goed gedaan.

Now please understand I'm not specifically directing this at you or being critical of what you have done, though I wonder, and I have often wondered, why do you  and other people call this 'Home Automation' when there is no automation about it?

There seems to be countless people doing similar projects for their homes and they all appear to think it is automation when I don't see any automation of any part.

I see things like this as purley remote control, you are controlling devices, in your case lights, not only by a physical switch in the space, but, remotely, by pressing a virtual switch on a screen or keypad.

Frankly, I don't yet understand the need for such remote control of lights. When I go to a room that needs lighting, I go there and I pass the easy to reach and immediately controllable physical switch. No need to get to my computer, or open up my smartyphone and pull up the app or navigate to the site and then to the section to press or tap to turn the lamp on.

I have been in automation for industrial systems for many years now, where i design these systems and I guess my take on automation is when you have a control system that actually takes care of controlling a process in your absence or without needing constant human input.

I think if you had, say a central heating system with boiler and many heating options and then made that controllable to suit your needs at different times without you needing to activate the setting all the time, then yes, I would call this automation, and more specifically, home automation or part thereof.

For my own setup, I run a renewable energy system, and for that I use an Arduino together with a small ARM based GNU/Linux system for the automatic control of it, together with a web app, it is developing into a capable SCADA system, one that I then can use in my industrial automation projects. For me, this is another aspect of part home automation, in that it is automatically taking care of my energy system.

I don't want to take away the great amount of work you have done to date, I know all to well what this amounts too quite well and it will be interesting to track your progress and find if you will extend your system to having more capabilities in your home, such as heating, Nederland is echt koud, ja  :)

Paul Alting van Geusau



Thank you for the apprecciation. I think 'Automation' is not the wrong term if you consider the fact that the master module has a task scheduler and that the system can decide - using different logical  rules - what to do with a combination of inputs.
Digital inputs are not limited to switches but are also connected to sensors on doors, motion detectors,... So the combination of sensors, logical rules and timed events make it - in my opinion - an 'automated system'.


Go Up