OpenMotics, a completely open source home automation platform

By on February 27, 2014

Web site:

Project Summary:

OpenMotics is a complete, full featured and open source home automation platform with integrated detailed power measurement

Full Project:

OpenMotics is an open source home automation hardware and software system that offers features like switching lights and outputs, multi-zone heating and cooling, power measurements and automated actions. The system encompases both open source software and hardware. For interoperability with other systems, the OpenMotics Gateway provides an api through which various actions can be executed.


The project first started 10 years ago with basic hardware modules for switches and outputs. Since then the number of modules has increased to create an extensible full-featured home automation system. The modules include a Gateway module that is the heart of the system which drives all other modules. An Input module for reading the status of the switches. An Output module that toggles lights, outlets or other devices. And others like a Dim Control module, a Sensor module and a Power module for measuring the power consumed by each appliance in your home.

Two years ago we decided to open source the software running on the Ggateway module, all firmware running on the other modules and the schematics and pcbs for all modules. The choice to open source the project was very conscious, at OpenMotics we believe there are three fundamental problems with the existing commercial home automation offerings.


The first problem concerns the price: home automation systems tend to be ridiculously expensive for the features that they offer. Most vendors target the high-end market with fully integrated custom solutions. The alternative is using open source software like OpenHAB to stitch together components from different vendors. With OpenMotics we offer a complete solution that is easy to install, configure and use, at a fair price.

The second problem is that many home automation systems are not maintainable by the customer, every change to the system requires an installer to come by at location to make the changes. We believe a home and how it is used changes over the years and the owner should be able to modify the configuration of his home automation system to reflect this. Compare this to a smartphone where you don’t have to run to the shop every time you want to install a new app; so why should your home automation system be any different? Why shouldn’t we be in full control of your own homes?

For more tech-savvy users the inability to configure your own system brings us to the third problem: most proprietary systems use closed communication protocols and you – as a user – are not able to interface or change anything. Everybody has ideas on how they could make their home better, a home automation system should enable the user to implement these improvements. We tackled this problem on three different levels. Firstly, as described above, the user is in full control over the configuration of the system and can change it at any time. For techy users we provide a plugin mechanism on the Gateway module: any self written or community developed plugin can be installed through the secure web interface. These plugins can communicate with the modules, catch events like lights turning on or off, expose a web interface and communicate with other services. The possibilities are up to your own imagination. And thirdly, since the software and hardware are both open source, an electronics and/or software enthusiast can modify both hardware and software at will, or even create their own modules. Or you can just use the system as is, with lots of features readily available.

For more technical details, schematics, source and more visit our Wiki and Github pages. General info can be found on

Circuit diagram:

All schematics available on our Github:

Bill of Materials:

All BOMs available per PCB on our Github page:


All firmware files for the different modules are available through Github:


All PCB layouts are available on our GitHub:


Leave a Reply

Your email address will not be published. Required fields are marked *