NodeMCU ESP8266 Alexa App Voice Control Smart Home System IoT Projects 2021

by techstudycell in Circuits > Microcontrollers

3377 Views, 19 Favorites, 0 Comments

NodeMCU ESP8266 Alexa App Voice Control Smart Home System IoT Projects 2021

vlcsnap-2021-01-17-20h51m24s593.png
thumb 11.jpg
vlcsnap-2021-01-17-19h59m11s931.png
NodeMCU ESP8266 Alexa App Voice Control Home Automation System | IoT Projects 2021

In this IoT project, I have shown how to make IoT based Smart Home Automation using Amazon Alexa & NodeMCU to control 4 home appliances from the manual switch & Amazon Alexa App. If the internet is not available, then you can control the home appliances from manual switches. During the article, I have shown all the steps to make this smart home system.

This ESP8266 NodeMCU control smart relay has the following features:

  1. Control home appliances with the voice command using Alexa.
  2. Control home appliances with manual switches.
  3. Monitor real-time feedback in the Alexa App.
  4. Control home appliances manually without internet.

Supplies

  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) or Switches
  9. Terminal Connectors
  10. 5V DC supply

Circuit Diagram of the ESP8266 Alexa Project

vlcsnap-2021-01-17-20h31m08s036.jpg

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 switches 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.

Testing the Circuit Before Designing the PCB

vlcsnap-2021-01-17-19h58m03s969.png
IMG20210116064132.jpg

Before designing the PCB, I have made the complete circuit using NodeMCU, a 4-channel relay module, and manual switches.

As you can see, the relay can be controlled from the manual switches and Amazon Alexa App.

In the following steps, I have explained the complete projects in detail, also shared the code and PCB Garber file.

Download the code for this project.

Control Relays With Voice Commands Using Alexa

IMG20210116072900_01.jpg
vlcsnap-2021-01-17-20h01m44s467.png
vlcsnap-2021-01-17-20h53m31s489.png

If the NodeMCU is connected with the WiFi, then you can control the home appliances from Amazon Alexa App and also from the manual switches.

You can control, monitor the real-time status of the relays in the Alexa App from anywhere in the world.

You don't need an Alexa device for this home automation project.

Control Relays Using Switches

IMG20210116072950_01.jpg
vlcsnap-2021-02-06-08h06m55s965.png
IMG20210116072932_01.jpg

If the WiFi is not available, you can control the relays from the manual switches.

The NodeMCU will check for the WiFi after every 5 seconds. When the WiFi is available, the NodeMCU will automatically connect with the WiFi.

Please refer to the circuit diagram to connect the manual switches.

Design the PCB for This Smart Home System

pcbs.jpg

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:

https://drive.google.com/uc?export=download&id=1Jx4D_DSV_ei1y0a82AbtxbsNhy8sjCmY

Order the PCB

JLC PCB_Pic 1.jpg
JLC PCB_Pic 2.jpg

After downloading the Garber file you can easily order the PCB

1. Visit https://jlcpcb.com/RHS and Sign in / Sign up

2. Click on the QUOTE NOW button.

3 Click on the "Add your Gerber file" button. Then browse and select the Gerber file you have downloaded.

Uploading the Gerber File and Set the Parameters

jlc pcb pic 2.2.png
JLC PCB_Pic 3.jpg

4. Set the required parameter like Quantity, PCB masking color, etc

5. After selecting all the Parameters for PCB click on SAVE TO CART button.

Select Shipping Address and Payment Mode

ddf.jpg
dd.jpg
IMG20210109165955_01.jpg

6. Type the Shipping Address.

7. Select the Shipping Method suitable for you.

8. Submit the order and proceed with the payment. You can also track your order from the JLCPCB.com.

My PCBs took 2 days to get manufactured and arrived within a week using the DHL delivery option.

PCBs were well packed and the quality was really good at this affordable price.

Solder All the Components on PCB

vlcsnap-2021-01-17-19h59m20s552.jpg

After that, I have soldered all the components as per the circuit diagram.

Then connect the NodeMCU board with the PCB.

Create an Account in Sinric

vlcsnap-2021-01-17-19h59m56s535.png
rrjjjr.jpg
rjjjrr.jpg

First, visit https://sinric.com/login
You have to create an account in Snric.

Then log in to Sinric Account.

You will get an API key which will be required in the code.

Add Devices in Sinric

ssss.jpg
vlcsnap-2021-01-17-20h00m49s010.png

Click on Add to add devices.

Then enter a name for the device. Alexa will identify the device with that name.

Select the type as Switch.

Click on Save.

In this way add 4 devices in Sinric. Each device will get a unique device ID.

Program NodeMCU Using Arduino IDE

vlcsnap-2021-02-06-08h07m51s206.png
vlcsnap-2021-02-06-08h08m27s016.png

Then enter the API key & WiFi credentials

#define MyApiKey "----------------"

#define MySSID "--------"

#define MyWifiPassword "------"

Then enter the device IDs for each device.

String device_ID_1 = "------------------------";

String device_ID_2 = "------------------------";

String device_ID_3 = "------------------------";

String device_ID_4 = "------------------------";

After that select the NodeMCU 1.0 (ESP-12E Module) board and the PORT. Then click on the upload button

Download and Install the Amazon Alexa App.

vlcsnap-2021-01-17-20h01m12s008.png

Download and install the Amazon Alexa App from the Google play store or App Store.

Configure the Alexa App for This Smart Home System

app344.jpg

Go to "More", then select "Skills & Games"

Search for Sinric and tap on "Sinric".

Tap on "ENABLE TO USE"

Connecting Devices With Alexa

ESP8266 Alexa Smart Home 2.jpg

Log in with the Sinric account credentials.

Goto Alexa and tap on "DISCOVER DEVICES".

It will take a minute to add devices. During this time the NodeMCU should be connected with the WiFi.

Tap on "Devices", and tap on "Switch" to see all the devices.

Testing the PCB With Alexa

vlcsnap-2021-01-17-20h29m17s150.png

After uploading the code, if the NodeMCU connects with the WiFi, the blue LED will turn on.

Then you can control the relay module from Amazon Alexa App.

Connect the Home Appliances

cccc.jpg

Connect the 4 home appliances with the relay module as per the circuit diagram. Please take proper safety precautions while working with high voltage.

Connect 5-volt DC supply with the PCB. (I have used my old mobile charger)

Turn ON the Supply

IMG20210116064024.jpg
IMG20210116072850_01.jpg

Turn on the 110V/230V supply and 5V DC supply.

Finally!! the Alexa Smart Home System Is Ready

IMG20210116072932_01.jpg
IMG20210116072900_01.jpg

Now you can control your home appliances in a smart way.

I hope you have liked this Alexa home automation project. I have shared all the required information for this project.

I will really appreciate it if you share your valuable feedback. Also if you have any query please write in the comment section. Thank you & Happy Learning.