In this IoT project, I have shown how to make an IoT-based Smart Home with Arduino IoT Cloud & Alexa using NodeMCU ESP8266 to control 4 home appliances with voice commands.

If the internet is not available, then you can control the home appliances manually with switches. During the article, I have shown all the steps to make this smart home system.

Tutorial Video on Arduino IoT Cloud ESP8266 Alexa Smart Home

This IoT-based Home Automation system has the following features:

  • Control appliances with Alexa and Arduino IoT Cloud Dashboard
  • Control appliances manually with switches.
  • Control home appliances manually without internet.
  • All resources used for this project are FREE.

So, you can easily make this home automation project at home just by using a NodeMCU and relay module. Or you can also use a custom-designed PCB for this project.

Required Components:

  • NodeMCU board
  • 4-channel SPDT 5V Relay Module
  • Push Buttons
  • Alexa Echo Dot (Optional)

You can make this project just by using NodeMCU and 4-channel relay module. But if you use PCB then you need the following components.

Required Components for the PCB:

1. Relays 5v (SPDT) (4 no)

2. BC547 Transistors (4 no)

3. PC817 Optocuplors (4 no)

4. 510-ohm 0.25-watt Resistor (4 no) (R1 - R4)

5. 1k 0.25-watt Resistors (5 no) (R5 - R9)

6. LED 5-mm (5 no)

7. 1N4007 Diodes (5 no) (D1 - D5)

8. Push Buttons (4 no)

9. Terminal Connectors

10. 5V DC supply

Required Software:

1. Arduino IoT Cloud

2. Arduino IDE

3. Amazon Alexa App

Circuit Diagram of the NodeMCU Home Automation Project:

This is the complete circuit diagram for this home automation project. I have explained the circuit in the tutorial video.

The circuit is very simple, I have used the GPIO pins D1, D2, D5 & D6 to control the 4 relays.

And the GPIO pins SD3, D3, D7 & RX connected with push buttons to control the 4 relays manually.

I have used the INPUT_PULLUP function in Arduino IDE instead of using the pull-up resistors.

I have used a 5V mobile charger to supply the smart relay module.

Here, the D3 pin should not be connected with GND during the booting process of NodeMCU.

Alexa Control Relay Using NodeMCU:

You can control the home appliances from Amazon Alexa App if the NodeMCU is connected with the WiFi. You can also ask Alexa to turn on and off the appliances from anywhere in the world. You don't need any Echo DOT or other Alexa devices for this home automation project. 

NodeMCU Control Relays With Arduino IoT Cloud Dashboard:

You can also control the home appliances from the Arduino IoT Cloud web dashboard and Arduino IoT Cloud Remote mobile app if the NodeMCU is connected with WiFi.

In this project, I have used the FREE plan of Arduino IoT Cloud. In the FREE plan, you can control a maximum of 5 relays.

When you control the relays from Arduino IoT Cloud Remote mobile app the current state of the relay also updated in the Amazon Alexa App.

Control Relays Manually From Push Buttons:

If the WiFi is not available, you can control the relays from the pushbuttons. When the WiFi is available, the NodeMCU will automatically reconnect with the WiFi. Please refer to the circuit diagram to connect the pushbuttons.

Design the PCB for This Smart Home System:

To make the circuit compact and give a professional look, I have designed the PCB after testing all the features of the smart relay module.

You can download the PCB Gerber file of this home automation project from the following link:

Order the PCB:

After downloading the Garber file you can easily order the PCB

1. Visit and Sign in / Sign up

2. Click on the QUOTE NOW button.

3. Click on the "Add your Gerber...

Read more »