In this IoT project, I have shown how to make IoT-based Smart Home Automation using ESP32 Google Assistant Blynk with the timer, sensor, and IR remote control relay with real-time feedback.

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.

Tutorial Video on IoT Project using ESP32 & Blynk

In the tutorial video, I have shown all the steps to make this Blynk home automation system.

This Blynk ESP32 control smart relay has the following features:

Required components for the ESP32 Project

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.

Circuit Diagram of the ESP32 IoT Project

The 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 are connected with switches to control the 4 relays manually.

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

IR remote receiver (TSOP1838) connected with D35. And the DHT11 sensor is connected with RX2.

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

Please take proper safety precautions while working with high voltage.

Blynk & Google Assistant Control Relay Using ESP32

In this IoT project, you can also control the relays with sensors and Timer using Blynk Automation.

Here, I have controlled the 3rd relay with temperature and the 4th relay with the predefined time schedule.

IR Remote & Manual Switch Control Relay Using ESP32

You can always control the relays from the IR remote or switches. For this project, you can use any IR remote.

You can monitor the real-time feedback in the Blynk IoT App.

I have explained how to get the IR codes (HEX codes) from any remote in the following steps.

Please refer to the circuit diagram to connect the pushbuttons or switches.

Design the PCB for This Smart Home System

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

You can download the PCB Gerber, BOM, and "pick and place" files of this ESP32 control relay PCB from the following link:

GitHub link to Download PCB Gerber File

For this project, I have the JLC SMT Service while ordering the PCB.

Why you should use JLC SMT Service?

On JLCPCB's one-stop online platform, customers enjoy low-cost & high-quality & fast SMT service at an $8.00 setup fee($0.0017 per joint).

$27 New User coupon & $24 SMT coupons every month.

Visit https://jlcpcb.com

JLCPCB SMT Parts Library 200k+ in-stock components (689 Basic components and 200k+ Extended components)

Parts Pre-Order service https://support.jlcpcb.com/article/164-what-is-jlcpcb-parts-pre-order-service

Build a Personal library Inventory, save parts for now or the future

Assembly will support 10M+ parts from Digikey, mouser.

Steps to Order the PCB Assembly from JLCPCB

1. Visit https://jlcpcb.com 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.

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

5. Select the Assemble side and SMT Quantity.

6. Now upload the BOM and PickAndPlace files.

7. Now confirm all the components which you want to be soldered by SMT services.

8. Click on SAVE TO CART button.

Select Shipping Address and Payment Mode

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

My PCBs took 3 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.

Create Blynk Cloud FREE Account & Blynk Template

For this smart house project, I have used the Blynk IoT Cloud Free plan.

Click on the following link to create a Blynk Cloud account.

https://blynk.cloud/dashboard/register

After that Blynk cloud dashboard will open.

Create a New Template in Blynk Cloud

First, you have to create a template in the Blynk cloud.

You will get the BLYNK_TEMPLATE_ID and BLYNK_DEVICE_NAME after creating the temple.

Create a Datastream in Blynk Cloud

After that, you have to create Datastreams. Here I will control 4 relays, so I have to create 4 Datastreams.

In a similar way, create 4 datastreams with virtual pin V1 to V4. And 1 datastream (V5) to turn off all the relays.

And for the Temperature and humidity, I have used V6, & V7 (Please refer to the picture or tutorial video).

Define Automation in Blynk Cloud

After that go to the Automation tab and define which Datastreams will be available in Automation actions and conditions (Please refer to picture or tutorial video).

Only Virtual Pin, Enumerable, and Location Datastreams are supported.

Set Up Blynk Cloud Web Dashboard

Now go to the Web Dashboard tab.

Drag and drop 4 Switch widgets and 2 Level widgets.

Go to the settings of each widget, and select a Datastream.

Please refer to the tutorial video for more details.

Then click on Save to save the template.

Add Device Using Template in Blynk IoT

Steps to add a device in the Blynk IoT cloud:

Then in the device info tab, you will get the Blynk Auth Token, Template ID, and Device Name. All these details will be required in the code.

Get the IR Codes (HEX Code) From the Remote

Now, to get the HEX codes from the remote, first, we have to connect the IR receiver output pin with GPIO D35.

And give the 5V across the VCC and GND. The IR receiver must have a metallic casing, otherwise, you may face issues.

Then follow the following steps to get the HEX codes

Save all the HEX codes in a text file.

Program the ESP32 for This Blynk Project

For programming the ESP32 on PCB, I have used another ESP32 development board.

Download and install the following libraries in Arduino IDE

Now open the main sketch (code).

While uploading the code to ESP32, if you use the PCB then you will see the "Connecting....___" text, then press and hold the BOOT button and then press the EN button, after that release both the buttons.

Install Blynk IoT App to Configure Mobile Dashboard

Install the Blynk IoT app from Google Play Store or App Store. Then log in.

Add Automation for Sensors and Timer

Now, you can define the automation in the Blynk IoT app according to your requirements.

In this project, I have added to the total of 3 Automations to the 3rd and 4th relay with the DHT11 sensor and Timer.

In the tutorial video, I have shown all the steps to add automation to Blynk IoT App.

Connect Google Assistant With Blynk IoT Using IFTTT

To connect the Google Assistant with Blynk IoT I have used IFTTT.

Create an IFTTT account, then log in.

https://ifttt.com/

In the FREE plan, you can create 5 Applets. To control each relay you need 2 Applets, so to control 2 relays you need 4 Applets.

For each applet, you have to define a trigger and related action. In this project, if you say any pre-define commands in Google assistant, then the related Webhook request will be sent to the Blynk Cloud server.

Steps to add Google Assistant Trigger in Applet

Steps to add Webhooks Action for Applet

Here in the action, we will add Webhooks to send web-request to update the Datastream value in the Blynk server.

Please refer to the following Blynk API URL syntax to update the Datastream value.

Syntax: https://{server_address}/external/api/update?token={token}&{pin}={value}

The server region could be found in the right bottom corner of the web interface.

You can get the Auth Token from the Device Info tab. (Refer to tutorial video on top)

Now, enter the related Blynk URL to update the Datastream value. The method will be "GET". Keep other details as it is. (Refer to the picture)

Our first Applet is created. In a similar way, you have to make the following 3 Applets. Please refer to the tutorial video.

Finally!! the Blynk Smart Home System Is Ready

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

I hope you have liked this new Blynk 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 queries please write in the comment section.

Thank you & Happy Learning.