In this IoT project, I have shown how to make an IoT-based Smart Home with Google Assistant & Alexa using ESP32 to control 3 home appliances with voice commands.
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 complete Home Automation system has the following features:
- Control appliances with Google Assistant
- Control appliances with Alexa
- Control appliances manually with switches.
- Monitor real-time feedback in the Google Home and Amazon Alexa App.
- Control home appliances manually without internet.
- For this project, I have used a FREE Sinric Pro account
So, you can easily make this home automation project at home just by using an ESP32 and relay module. Or you can also use a custom-designed PCB for this project.
Required Components:1. ESP32 DEVKIT V1
2. 4-channel SPDT 5V Relay Module
3. Manual Switches or Push Buttons
4. Alexa Echo Dot (Optional)
If you use the custom-designed PCB for this project, then please refer to the following required components list.
Required Components for the PCB- ESP32 DEVKIT V1
- Relays 5v (SPDT) (4 no)
- BC547 Transistors (4 no)
- PC817 Optocuplors (4 no)
- 510-ohm 0.25-watt Resistor (4 no) (R1 - R4)
- 1k 0.25-watt Resistors (6 no) (R5 - R10)
- 10k 0.25-watt Resistor (1 no) (R11)
- LED 5-mm (6 no)
- 1N4007 Diodes (4 no) (D1 - D4)
- Push Buttons (4 no)
- Terminal Connectors
- 5V DC supply
1. Arduino IDE
2. Google Home App
3. Amazon Alexa App
Circuit Diagram of the ESP32 Home Automation ProjectThe circuit is very simple, I have used the GPIO pins D23, D22, D21 & D19 to control the 4 relays.
And the GPIO pins D13, D12, D14 & D27 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.
Please take proper safety precautions while working with high voltage.
Control Relays With Google Assistant Using ESP32If the ESP32 is connected with the WiFi, then you can control the home appliances from Google Home App and also from the manual switches.
You can also ask Google Assistant to turn on and off the appliances.
You can control, monitor the real-time status of the relays in the Google Home App from anywhere in the world. You don't need any Google Home Nest device for this home automation project.
Control Relays With Alexa Using ESP32You can also control the home appliances from Amazon Alexa App if the ESP32 is connected with WiFi.
You can also ask Alexa to turn on and off the appliances.
You can also control the appliances from the manual switches and monitor the real-time feedback of the relays in the Amazon Alexa App from anywhere in the world.
You don't need any Echo DOT device for this home automation project.
Controlling Relays Manually With SwitchesIf the WiFi is not available, you can control the relays from the manual switches.
The ESP32 will check for the WiFi after every 5 seconds. When the WiFi is available, the ESP32 will automatically connect with the WiFi.
Please refer to the circuit diagram to connect the manual switches.
Design the PCB for This Smart Home SystemTo 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=1ul...
Then order the PCB from PCBWay.com
About PCBWay and Its ServicesPCBWay produces FR-4 and Aluminum boards and advanced PCBs like Rogers, HDI, Flexible and Rigid-Flex boards, at very reasonable prices.For the online instant quote page please visit - pcbway.com/orderonline Inspect your Gerber file before placing the order - OnlineGerberViewer
You may order as small as 5pcs of PCB from PCBWay. You can place an order as per your requirement.
You can explore different useful PCB projects from the PCBWay Open-source community - pcbway.com/project
For more details please visit the following articles.
Steps to order PCB from PCBWayTo order the PCB first visit PCBWay.com.
Then enter the following details:
- PCB Size (Length & Width) and PCB quantity.
- Select the masking color for the PCB.
- Select country and shipping method.
- Click on the "Save to Cart" button.
After that, click on the "Add Gerber Files" to upload the Gerber file.
Then click on the "Submit Order Now" to place the order for PCB.
After that, they will review the PCB Gerber file and accordingly confirm the order.
I have used their services for my different electronics projects, I always received the PCB on time and the quality is very good in this reasonable price range.
Solder All the Components on PCBAfter 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 ProFirst, visit https://sinric.pro/
You have to create an account in Snric Pro.
Then log in to Sinric Pro Account.
You will get an APP KEY and APP SECRET for the account, which will be required in the code.
Add Room in Sinric Pro accountAfter that add a room and give a nickname to that room (Ex: Living Room)
Add Devices in Sinric Pro accountThen Add devices one by one and give the nickname for each device. Sinric will assign a unique device ID for each device.
Here, I have used the free Sinric Pro account, so I can add a maximum of 3 devices for free.
Program ESP32 Using Arduino IDEFirst, download the code & install all the required libraries mention in the code.
Required Libraries:
- Sinric Pro
- ArduinoJson
- WebSockets
Then enter the WiFi credentials
#define WIFI_SSID "YOUR-WIFI-NAME"
#define WIFI_PASS "YOUR-WIFI-PASSWORD"
Enter the APP KEY and APP SECRET from the Sinric pro account Credential menu.
#define APP_KEY "YOUR-APP-KEY"
#define APP_SECRET "YOUR-APP-SECRET"
Enter the Device IDs from the Sinric pro account Devices menu.
#define device_ID_1 "SWITCH_ID_NO_1_HERE"
#define device_ID_2 "SWITCH_ID_NO_2_HERE"
#define device_ID_3 "SWITCH_ID_NO_3_HERE"
#define device_ID_4 "SWITCH_ID_NO_4_HERE"
After that select the DOIT ESP32 DEVKIT V1 board and the PORT.
Then click on the upload button.
Setup the Google Home AppFirst, download and install the Google Home App. then follow the steps to create Home in Google Home app
- Tap on the "+" icon (upper left corner).
- Tap on Create new home.
- Enter the Home nickname and address.
- Then click on Continue.
The Home is created. Now again tap on the "+" icon to add devices.
Connect Sinric Pro With Google Home App | Add DevicesAfter creating the Home in the Google Home app, you can connect the Sinric Pro with the Google Home app
- Tap on the "+" icon, then select Set up device.
- Tap on Works with Google.
- Search for Sinric Pro, then select Sinric Pro.
- Enter the email id and password used for the Sinric account,
- Then tap on Sign in.
Thus, all the devices from Sinric Pro will be added to Google Home Account.
Configure the Alexa App for This Smart Home SystemDownload and install the Amazon Alexa App from the Google play store or App Store.
- Go to "More", then select "Skills & Games"
- Search for Sinric Pro and tap on "Sinric Pro".
- Tap on "ENABLE TO USE"
- Log in with the Sinric account credentials.
- Tap on CLOSE.
- Tap on "DISCOVER DEVICES".
- It will take a minute to add devices. During this time the ESP32 should be connected with the WiFi.
- Tap on "Devices", and tap on "Plug" to see all the devices.
Thus, all the devices from Sinric Pro will be added to Amazon Alexa App.
Connect the Home AppliancesConnect 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 5V 5 Amp)Turn ON the Supply
Turn ON the SupplyTurn on the 110V/230V supply and 5V DC supply.
Finally!! the Smart Home System Is ReadyNow you can control your home appliances in a smart way.
I hope you have liked this Google and Alexa control 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.
Comments