In this IoT project, I have shown how to make an ESP32 WiFi Bluetooth Home Automation system with Manual Switch using Blynk App to control 8 home appliances with and without internet. If the internet is not available, then you can control the home appliances from mobile Bluetooth and manual switches. During the article, I have shown all the steps to make this smart home system.
This ESP32 control smart relay has the following features:
- Control home appliances with Blynk App if WiFi is available.
- Control home appliances with Bluetooth App if WiFi is not available.
- Control home appliances with manual switches.
- Monitor real-time feedback in the Blynk App.
- Control home appliances manually without internet.
1. ESP32 DEVKIT V1 board
2. 8-channel SPDT 5V Relay Module
4. Manual Switches
Required Components for the PCB1. 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
Circuit Diagram of the ESP32 Project: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 connected with switches to control the 8 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.
Testing the Circuit Before Designing the PCBBefore designing the PCB, I have made the complete circuit using ESP32, an 8-channel relay module, and manual switches.
As you can see, the relays can be controlled from the manual switches and Blynk App. And if the internet is not available then relays can be controlled with the Bluetooth App and manual switches.
In the following steps, I have explained the complete projects in detail, also shared the code and PCB Garber file.
Control Relays Using Blynk AppIf the ESP32 module is connected with the WiFi, then you can control the home appliances from Blynk App and also from the manual switches.You can control, monitor the real-time status of the relays in the Blynk App from anywhere in the world.
Control Relays Using Bluetooth AppIf the WiFi is not available, you can control the relays from the Bluetooth App and 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=1Y8rXnczq6baxAKOrBEE8aro-uqcK0J93
Order the PCBAfter 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 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.
Configure the Blynk App for This ESP32 Project1. 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 WiFi. 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.
Program ESP32 Using Arduino IDEDownload the code.
First, you have to install the required libraries. I have shared all the links in the code.
- BluetoothSerial: https://github.com/espressif/arduino-esp32/tree/m...
- AceButton Library: https://github.com/bxparks/AceButton
- Blynk Library: https://github.com/blynkkk/blynk-library/releases...
Then enter the WiFi name, WiFi password & Blynk AuthToken in the code.
- #define AUTH "AUTH TOKEN" // You should get Auth Token in the Blynk App.
- #define WIFI_SSID "WiFi Name" //Enter Wifi Name
- #define WIFI_PASS "WiFi Password" //Enter wifi Password
After that select the DOIT ESP32 DEVKIT V1 board and the PORT. Then click on the upload button.
While uploading if you see the "Connecting.....___" text, press the BOOT button of ESP32.
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 DC supply with the PCB. (I have used my old mobile charger)
Connect the Bluetooth App With ESP32I have designed the Bluetooth Switch App in MIT App Inventor for this ESP32 Bluetooth project.
Download Bluetooth App for the ESP32 Bluetooth project:
https://drive.google.com/file/d/1IpKthi5wDD9kDJduudfDiAPXp15MMDYo/view?usp=sharing
Please download and install the Bluetooth App (APK file attached), then you have to connect the Bluetooth App with ESP32.
- Turn ON mobile Bluetooth and Pair the ESP32.
- Open the Bluetooth Switch App and tap on "Tap to Connect".
- Select the "ESP32_BT" from the list.
- Now, you can control the relay from mobile with Bluetooth.
Now you can control your home appliances in a smart way.
I hope you have liked this ESP32 WiFi Bluetooth 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