In this IoT project, I have shown how to make IoT-based ESP32 Home Automation using Blynk, IR remote, and switches to control an 8-channel relay module with and without internet. If the internet is not available, then you can control the home appliances from IR remote & manual switches.

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

Tutorial Video on Blynk ESP32 Smart Home System:

This ESP32 control relay module has the following features:

  • Control home appliances with WiFi (Blynk App).
  • Control home appliances with IR Remote.
  • Control home appliances with manual switches.
  • Monitor real-time feedback in the Blynk App.
  • Control home appliances manually without internet from IR remote and switches.

If you don't want to use PCB then you can also make this IoT project just by using an 8-channel relay module, ESP32, and IR receiver sensor.

Circuit Diagram of the ESP32 Projects:

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.

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.

Required Components:

  • 1. ESP32 DEVKIT V1 board
  • 2. 8-channel SPDT 5V Relay Module
  • 3. TSOP1838 IR receiver
  • 4. Manual Switches or Pushbuttons

Required Components for the PCB:

  • 1. Relays 5v (SPDT) (8 no)
  • 2. BC547 Transistors (8 no)
  • 3. PC817 Optocuplors (8 no)
  • 4. 510-ohm 0.25-watt Resistor (8 no) (R1 - R8)
  • 5. 1k 0.25-watt Resistors (10 no) (R9 - R18)
  • 6. LED 5-mm (10 no)
  • 7. 1N4007 Diodes (8 no) (D1 - D8)
  • 8. Push Buttons (8 no)
  • 9. Terminal Connectors
  • 10. 5V DC supply

Required Software:

  • 1. Arduino IDE
  • 2. Blynk App

Control Relays With Internet Using Blynk:

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

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

And if the ESP32 is connected with Wi-Fi, then you can also monitor the real-time feedback in the Blynk App.

In the first picture, I have used only the Relay module and ESP32. In the second picture, I have used the custom-designed PCB.

Control Relays Using Switches or Push-buttons:

You can also control the relays manually with switches or push buttons.

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

Configure the Blynk App for the ESP32:

1. Install the Blynk App from the Google play store or App store. Then create an account and tap on the New Project.

2. Give the name to the project, select ESP32 Dev Board, Connection type will be Wi-Fi. Then tap on Create.

3. Blynk will send an authentication token to the registered email id. Tap on OK.

Add the Button Widgets in Blynk App:

Then add 8 button widgets to control the 8 relays. Here I have used virtual pins V1, V2, V3, V4, V5, V6, V7, V8 for 8 buttons. And mode will be Switch.

I have explained all the details in the tutorial video.

Get the IR Codes (HEX Code) From 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.

Download the code for getting the HEX codes

https://drive.google.com/file/d/1MLJ96CQN3wOuu6iWArsMq9rKsKR5Z3Xi/view?usp=sharing

Then follow the following steps to get the HEX codes

  • Install the IRremote library...
Read more »