Home Automation With ESP32 Blynk 2.0 IR Remote Control Relay | IoT Project 2021

by techstudycell in Circuits > Microcontrollers

4584 Views, 16 Favorites, 0 Comments

Home Automation With ESP32 Blynk 2.0 IR Remote Control Relay | IoT Project 2021

vlcsnap-2021-08-31-08h53m40s400.png
vlcsnap-2021-08-31-05h11m03s136.png
thumb _website.jpg
vlcsnap-2021-08-31-05h19m54s166.png
vlcsnap-2021-08-31-05h19m26s093.png
Home Automation using ESP32 Blynk 2.0 with IR remote control relay temperature sensor | IoT 2021

In this IoT project, I have shown how to make IoT-based Smart Home Automation using the new Blynk 2.0 ESP32 LDR & temperature sensor to control an 8-channel relay module from the manual switch, IR remote & smartphone using the Blynk IoT App.

During the article, I have shown all the steps to make this Blynk home automation system.

This Blynk ESP32 control smart relay has the following features:

  1. Control home appliances with WiFi (Blynk IoT App).
  2. Control home appliances with Blynk web dashboard.
  3. Control home appliances with IR remote.
  4. Control home appliances with manual switches or push buttons.
  5. Monitor real-time room temperature in the Blynk IoT App
  6. Monitor real-time feedback in the Blynk IoT App.
  7. Control appliances without WiFi

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.

Supplies

  • ESP32 DEVKIT V1
  • TSOP1838 IR receiver (with metallic case)
  • DHT11 sensor
  • LDR
  • Relays 5v (SPDT) (8 no)
  • BC547 Transistors (8 no)
  • PC817 Optocuplors (8 no)
  • 510-ohm 0.25-watt Resistor (8 no) (R1 - R8)
  • 1k 0.25-watt Resistors (10 no) (R9 - R18)
  • 10k 0.25-watt Resistors (1 no)
  • LED 5-mm (10 no)
  • 1N4007 Diodes (8 no) (D1 - D8)
  • Push Buttons (9 no) or Switches
  • Terminal Connectors
  • Jumper
  • 5V DC supply

Circuit Diagram of the ESP32 Home Automation Project

ESP32 Project Circuit.png

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 D23, D22, D21, D19, D18, D5, D25 & D26 to control the 8 relays.

And the GPIO pins D13, D12, D14, D27, D33, D32, D15 & D4 are connected with Switches to control the 8 relays manually.

And the output pin of the IR Receiver is connected with GPIO D35.

And the output pin of the DHT11 sensor is connected with the RX2 (GPIO16) pin, and the LDR is connected with GPIO D34 of the ESP32.

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

I have used a 5V 5A DC power supply.

Testing the Circuit Before Designing the PCB

vlcsnap-2021-08-31-05h17m07s259.png
vlcsnap-2021-08-31-05h18m46s057.png
vlcsnap-2021-08-31-05h16m36s023.png
vlcsnap-2021-08-31-05h18m12s364.png
vlcsnap-2021-08-31-05h17m35s655.png

Before designing the PCB, I have made the complete circuit using ESP32, an 8-channel relay module, sensors, and manual switches.

As you can see, the relays can be controlled from the Blynk IoT app, IR remote, and manual switches.

If the WiFi is not connected with ESP32, still you can control the appliances from manual switches and IR remote.

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

Download the codes for this project.

Control Relays With Blynk IoT App

vlcsnap-2021-08-31-08h54m01s285.png
vlcsnap-2021-08-31-08h55m42s687.png

If the ESP32 is connected with WiFi, then you can control the home appliances from Blynk IoT App.

You also use multiple smartphones to control the appliances with Blynk App. For that, you have to log in same Blynk account from all the smartphones.

In this way, all smartphones will be sink to the Blynk server. You can control, monitor the real-time status of the relays, room temperature & humidity from anywhere in the world in the Blynk IoT App.

ESP32 Control Relay With IR Remote

vlcsnap-2021-08-31-08h55m09s528.png

You can always control the relays from the IR remote. 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.

Control Relays Manually With Switches

vlcsnap-2021-08-31-08h55m23s069.png
vlcsnap-2021-08-31-08h55m29s460.png

You can also control the relays from the switches or pushbuttons.

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

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

Design the PCB for ESP32 Smart Home System

vlcsnap-2021-08-30-06h43m56s866.png
vlcsnap-2021-08-30-06h44m13s455.png
vlcsnap-2021-08-30-06h44m47s668.png

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=1Pd...

Order the PCB

JLC 1.jpg
JLC 2.jpg

After downloading the Garber file you can easily order the PCB

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

2. Click on the QUOTE NOW button.

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

Uploading the Gerber File and Set the Parameters

JLC3.3.png
JLC 4.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

JLC5.jpg
JLC6.jpg
vlcsnap-2021-08-30-06h44m28s078.png

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 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-08-29-05h06m59s018.png
vlcsnap-2021-08-29-05h07m04s975.png
vlcsnap-2021-08-29-05h07m14s120.png

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

Then connect the ESP32 board, DHT11 SENSOR, LDR, and 1838 IR receiver with PCB.

Create Blynk Cloud FREE Account

vlcsnap-2021-06-23-11h01m36s505.png
vlcsnap-2021-06-23-21h24m59s219.png
vlcsnap-2021-06-23-21h25m08s908.png
vlcsnap-2021-06-23-21h25m16s149.png

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

  1. Enter email ID, then click on "Sign Up".
  2. You will receive a verification email.
  3. Click on Create Password in the email, Then set the password, click on Next.
  4. Enter your first name, click on Done.

After that Blynk cloud dashboard will open.

Create a New Template in Blynk Cloud

vlcsnap-2021-06-23-11h02m03s665.png
vlcsnap-2021-08-31-05h31m22s416.png
vlcsnap-2021-08-31-05h31m29s510.png

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

  1. Click on New Template.
  2. Enter a template name, select the hardware as ESP32, and the connection type will be WiFi.
  3. Then click on DONE.

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

The BLYNK_TEMPLATE_ID and BLYNK_DEVICE_NAME will be required while programming the ESP32.

Create a Datastream in Blynk Cloud

vlcsnap-2021-08-31-05h32m03s283.png
vlcsnap-2021-08-31-05h32m59s311.png
vlcsnap-2021-08-31-05h32m33s197.png
vlcsnap-2021-08-31-05h32m41s731.png

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

  1. Go to the Datastreams tab.
  2. Click on New Datastream and select Virtual Pin.
  3. Enter a name, select the virtual pin V1, and the datatype will be Integer.
  4. Then click on Create.

In a similar way, create 8 datastreams with virtual pin V1 to V8.

And for the Temperature, humidity, and LDR I have used V10, V11, & V12.

Set Up Blynk Cloud Web Dashboard

vlcsnap-2021-08-31-06h14m26s537.png
vlcsnap-2021-08-31-06h15m03s120.png
vlcsnap-2021-08-31-06h15m11s361.png

Now go to the web dashboard tab.

Drag and drop 8 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.

Install Blynk IoT App to Configure Mobile Dashboard

Blynk IoT cloud PIC-2.jpg
  1. Install the Blynk IoT app from Google Play Store or App Store. Then log in.
  2. Go to Developer Mode.
  3. Tap on the template that you have already made.
  4. Now go to the Widget box (on the right) to add widgets.

Add Widgets in Blynk IoT App

Blynk IoT cloud PIC-1.jpg
  1. Add 8 Button widgets from Widget Box.
  2. Go to Button widget settings.
  3. Enter the name, select Datastream, Mode will be Switch. Then exit.
  4. After setting all the Buttons tap on exit.

Get the IR Codes (HEX Code) From Remote

Get HEX code with ESP32.png

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

  1. Install the IRremote library in Arduino IDE
  2. Download the attached code, and upload it to ESP32.
  3. Open Serial Monitor with Baud rate 9600.
  4. Now, press the IR remote button.
  5. The respective HEX code will populate in the serial monitor.

Save all the HEX codes in a text file.

Program the ESP32 for This Blynk Project

esp32 blynk codes.JPG
vlcsnap-2021-08-31-08h51m08s436.png
F9YU7S2KJkkSUWB.png

Download and install the following libraries in Arduino IDE

You have to keep all the 9 files in the same folder.

  1. Open the .ino file in Arduino IDE.
  2. In the code, you have to update the BLYNK_TEMPLATE_ID and BLYNK_DEVICE_NAME.
  3. Then update the HEX code in the ir_remote function as shown in the tutorial video.
  4. After that, select the DOIT ESP32 DEVKIT V1 board and proper PORT.
  5. Then upload the code to ESP32 Board.

While uploading the code to ESP32, if you see the "Connecting....___" text, then press the BOOT button of the ESP32.

Update the WiFi Credentials Through OTA

vlcsnap-2021-08-31-08h52m17s766.png
vlcsnap-2021-08-31-08h52m39s944.png

After programming the ESP32, you have to update the WiFi credentials from the Blynk IoT app.

In the tutorial video, I have explained all the steps to update the WiFi credentials to ESP32 through OTA.

Connect the Home Appliances

ESP32 Home automation p.png

Connect the 8 home appliances as per the circuit diagram.

Please take proper safety precautions while working with high voltage.

Connect 5-volt DC supply with the PCB.

Finally!! the Blynk Smart Home System Is Ready

vlcsnap-2021-08-31-08h54m18s835.png
vlcsnap-2021-08-31-08h54m59s426.png
vlcsnap-2021-08-31-08h55m50s521.png

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 feedbacks. Also if you have any query please write in the comment section.

Thank you & Happy Learning.