Introduction: Arduino and Raspberry Home Automation

    This project uses Arduino, Raspberry and Attiny, it allows you to control and monitor your home (AC outlet, shutters, heater, light, opening detector, temperature ...).

    The raspberry is the web server allowing control all arduino These can be controlled from any web browser around the world. You can use your cell phone, tablet, or computer to turn on or off the outputs.

    Arduino Network is a Mesh Network.

    Step 1: Parts List

    Many parts I used were salvaged from old electronics, It is possible to find them at a low price on

    • 1 Raspberry Pi 1 B+ ~ $39.95
    • 1 Arduino ~ $7.41
    • 1 Reed Switch ~ $1.10
    • 1 RF 433 Mhz ~$1.3
    • 1 relayTemperature sensor ( sample )
    • 3 NRF24L01

    Step 2: Programm

    I have write all program, raspberry ( web server, python ) and Arduino
    Which allows me:

    • Manage all rooms in the house
    • Manage arduino module
    • Manage planning for execute action automatic
    • Create scenario
    • Manage user
    • Have Log

    Python scripts allow :

    • Execute plannings
    • Execute scenarios

    The Raspberry is used like web server for the home automation and like Media center with Kodi.

    I started my project by decoding the frame of an outdoor temperature sensor (433 Mhz)

    Next I developped the web interface ( 100% responsiv )

    Step 3: Communication

    The communication happens between Raspberry and Arduino:

    • An arduino (master) (which allows to communicate with all the modules) is connected in USB to the Raspberry which allows to record the information received by the arduino.
    • This master allows me to recover the temperature of the room in which it is both to light on/off light and communicate with the rest of Arduino.
    • The other arduino's, communicate with the master using module nrf24l01 +, retrieve the temperature of all the rooms, manage the lamps, know if the mailman has deposited mail, know when someone sounds, if someone crossed the portal, ...
    • Using the module nrf24l01 +, I was able to set up a network of mesh type which allows an arduino even remote from the master to be able to communicate with him, by way of the arduino that is between them.

    Step 4: Inside Box

    Inside box we find:

    • 1 Raspberry ( web server and kodi )
    • 1 Arduino Uno
    • 1 NRF24L01+
    • 1 RF 433Mhz
    • 1 Hub USB
    • 1 HDD
    • 1 Relai
    • 1 Temperature sensor

    Step 5: NRF24L01 and RF 433 Mhz Module

    Step 6: Module to Recover the State of the Doorbell

    Relay (12V) made concat when someone rings, the arduino sends this action to Master and it's view on the web site. Many action is possible with the scenario system.

    Here I have used:

    • 1 Arduino Uno
    • 1 Relay
    • 1 NRF24L01

    Step 7: MailBox Module

    This module functions as an opening sensor. When mail is inserted a contact is made.

    Here I have used:

    • 1 Trustfire de 3.7v 900 Mh
    • 1 Switch Reed $
    • 1 Attiny84
    • 1 Resistor
    • 1 Capacitor
    • 1 NRF24L01+

    Price : $3

    Step 8: Arduino Bell

    This bell ring when the first doorbell ring.

    When doorbell ring, the master receive the action and with the scenario system and order is send to the bell for ring

    Step 9: Web Interface

    Home page with all module, when the user click on icons an action is send to the raspberry who send to the master with the USB and sent to the right module.

    Step 10: Graph History

    All data is stored in the database, which allows me to draw graphs of different data.

    Step 11: Planning

    It's possible to manage planning for all arduino module sensors

    Step 12: Manage Sensors / Module:

    Step 13: Manage Scenario

    Exemple of scenario who send notification on my smartphone ( android app developped by myself ) when Temperature is beetwen 0° and 3° or when Temperature is less 0°

    Step 14: Show Log

    It's possible to see all log

    Step 15: Example of Network Communication:

    You can see my blog for more information ( it's in french, you can translate with google ;) ):

    Make it Glow Contest 2016

    Participated in the
    Make it Glow Contest 2016

    Arduino Contest 2016

    Participated in the
    Arduino Contest 2016

    First Time Authors Contest 2016

    Participated in the
    First Time Authors Contest 2016

    IoT Builders Contest

    Participated in the
    IoT Builders Contest