Reinforcement Learning Based Home Automation using Arduino
Reinforcement Learning Based Home Automation using Arduino

Project Domain / Category


Abstract / Introduction

Home automation is a rapidly growing and popular industry. IoT devices are primarily utilised for home automation. Out of all the IoT devices now in use, the Raspberry Pi and Arduino are the most popular.

We will be using Arduino for this project; Arduino has many versions and variants available in the market, making it difficult for a beginner to choose one. For simplicity, use the Arduino Nano or Micro variants, as these two variants do not require external power and can be easily connected on a breadboard after soldiering.

Some modules and sensors, such as a Wi-Fi module, will be required for this project.

Functional Requirements

  1. The system will be able to control at least four lights and two fans in a dwelling.
  2. The user will be able to use the system to turn on and off appliances (input method can be any).
  3. The system will keep track of the day and time that the appliances are turned on or off and save the information in a database.
  4. Using reinforcement learning techniques, the system will train itself using the input data (times of appliances being switched).
  5. After two weeks of learning, the system will automatically switch the appliances, but it will continue to teach itself if the user changes the time of any appliance. This training procedure will be continued.
  6. If a user turns on the light in room 1 on Friday between 6:00 and 6:15 p.m., the system has been taught for two weeks for that period.


• Wi-Fi Module • Arduino (you may alternatively use a Raspberry Pi)
• Switches for relays
• Connectors and wiring
• If necessary, components such as resistors, capacitors, and transistors.


MySql database

Leave a Comment