WARAN – Home Automation

About this project

I was planning to build a cheap home automation system. I want this to be a modular system so that I can keep adding sensors and devices to it without much changes. WARAN (Windows IoT, Azure, Raspberry Pi, Arduino, NRF24L01+) is a modular home automation system with consists of a single Hub and multiple modules. The module will combination of micro-controller and sensors collecting data from different locations of the house and transmitting the data to Hub via RF. All the communication between Hub and modules happens via RF. There will be a companion windows phone app for the Hub as well. Here is a simple flow diagram explaining the setup.

Why Windows IoT ?

I am a software developer currently venturing into IoT. With my previous experience with XAML/C# and Visual Studio (which I consider to be the best IDE ever) it was very helpful for me to implement these very quickly.

Why NRF24L01+ ?

When I was looking into wireless options NRF24L01+ came up as a cheap and low power consuming solution. With some really powerful libraries available it came us a best solution for me.

Why Windows Azure

Windows Azure very easy to learn and adapt. With little configuration required to bring up the service we can focus more on development rather than configuration and deployment. My previous experience with Azure helped me in quick integration.

Flow Diagram
Flow Diagram


The Hub

The Hub is a center controlling center of WARAN. It is made up of RPI2, Arduino Uno and nRF24L01+. The RPI2 runs Windows IoT core. It runs a Universal App which acts as the control center. The Hub would be connected to a large display (typically a TV or monitor) via which we can see the data from the modules and also control the modules. A keyboard and mouse connected to the RPI2 will help in adding, removing modules from the control center. Here is the circuit diagram of it (Refer WARAN.Hub.fzz. file in project)

waran home automation
Hub Circuit

How it functions ?

Every module will have a unique address using which the hub communicates with it. We will add a module to the control center using this address and giving a name to the module. Once added the control center (Universal App) will send data to Arduino Uno via I2C. Arduino Uno will send data to the module via nRF24L01+ and the module reads data from the sensors or start/stop a device based on the data it received and sends data back to Arduino Uno. The Arduino Uno will send the data to the control center via I2C. This data which will be displayed in the TV/Monitor and also sent to cloud. The Arduino Uno will just act as an interface for RPI2 to get the sensor data from other modules. The above process will happen in three scenarios

For more detail: WARAN – Home Automation


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

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

Scroll to Top