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 SystemThis 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 ProjectsThis 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
- 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
- 1. Arduino IDE
- 2. Blynk App
If the ESP32 module is connected with the WiFi, then you can control the home appliances from Blynk App, IR remote, and switches.
In the first picture, I have used only the Relay module and ESP32. In the second picture, I have used the custom-designed PCB.
You can control and monitor real-time feedback from anywhere in the world with the Blynk App.
ESP32 Control Relay With IR RemoteYou 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-buttonsYou 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 ESP321. 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 AppThen 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 RemoteNow, 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 in Arduino IDE
- Download the attached code, and upload it to ESP32.
- Open Serial Monitor with Baud rate 9600.
- Now, press the IR remote button. The respective HEX code will populate in the serial monitor.
Save all the HEX codes in a text file.
Codes for the Blynk ESP32 Home AutomationDownload Code for this ESP32 Blynk home control with Switch (Latched)
https://drive.google.com/file/d/1rEALIDmBMSk7KCWGbDxtfokX7LsM8Ofg/view?usp=sharing
Download Code for this ESP32 Blynk home control with PushButton (Momentary)
https://drive.google.com/file/d/1nwRi9R3mkEK9RV8zuHrp4LUzdANfMAaL/view?usp=sharing
If you use switch (Latched), refer to the code for Switch, and please use the code for the push button for the momentary switch.
Download and install the following libraries in Arduino IDE
- IRremote Library
- AceButton Library
- Blynk Library
I have shared the download link of all the libraries in the code.
Program the ESP32 With Arduino IDEIn the code enter the WiFi name, WiFi password & Blynk Auth Token.
Then update the HEX code in the ir_remote function as shown in the tutorial video.
After that, select the DOIT ESP32 DEVKIT V1 board and proper PORT.
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.
Designing the PCB for ESP32 ProjectsTo make the circuit compact and give a professional look, I have designed the PCB after testing all the features of the smart relay module on the breadboard.
You can download the PCB Gerber file of this home automation project from the following link:
https://drive.google.com/uc?export=download&id=1Y8rXnczq6baxAKOrBEE8aro-uqcK0J93
Order the PCBAfter downloading the Garber file you can easily order the PCB
1. Visit https://jlcpcb.com/RAB 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 Parameters4. 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 Mode6. 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 PCBAfter that, I have soldered all the components as per the circuit diagram.
Then connect the ESP32 board with PCB.
Connect the Home AppliancesConnect the 8 home appliances as per the circuit diagram.
Please take proper safety precautions while working with high voltage.
Connect 5-volt 5-amp DC supply with the PCB.
Turn ON the SupplyTurn on the 110V/230V supply and 5V DC supply.
Finally!!Now you can control your home appliances in a smart way.
I hope you have liked this 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