In this IoT project, I have explained how to make IoT based ESP8266 project using Cadio to control relays through the internet. You can also connect Google Assistant and Alexa to control appliances with voice commands. If there is no WiFi available, you can still control the appliances with manual switches.
You don’t need any coding skills to make this ESP8266 project. I have used all the free tools for this IoT-based project.
More details on Cadio FREE Plan.
So if you follow all the steps, you can easily make this home automation system with ESP8266 and relay module.
Required Components for ESP8266 Project:
- ESP8266 NodeMCU
- 4-channel 5V SPDT Relay Module (Active LOW)
- Switches or pushbuttons
Circuit of the ESP8266 Cadio Home Automation
In the circuit, I have used D1 (GPIO-5), D2 (GPIO-4), D5 (GPIO-14), and D6 (GPIO-12) GPIO pins to control the 4-channel relay module.
And the GPIO SD3 (GPIO-10), D3 (GPIO-0), D7 (GPIO-13), and RX (GPIO-3) connected with the pushbuttons to control the relay module manually.
I have used the INPUT_PULLUP function in Arduino IDE instead of using the pull-up resistors with each switch.
Now if you want to use the latched switch, then please refer to the following circuit.
**If you use latched switch, the booting process will fail if SD3 and D3 are grounded during the Boot process. So manual switch-S1 and switch-S2 must be OFF during NodeMCU ESP8266 Boot.
I have used a 5V 5Amp mobile charger to supply the circuit.
Please take proper safety precautions while connecting the AC appliances.
Tutorial video on ESP8266 Cadio Home Automation
During this Internet of Things tutorial video, I covered the following topics:
- Quick demo on ESP8266 Cadio home automation project.
- Explained the circuit diagram of the ESP8266 project.
- How to download Cadio firmware for ESP8266.
- Steps to configure the Cadio home automation app.
- Steps to connect Google Home and Amazon Alexa with the Cadio.
- How to add timer in Cadio app.
Configure ESP32 with Cadio Firmware
Install the Cadio Firmware on ESP8266
First download the Cadio Firmware for ESP8266 from the following link:
Download Link: egycad.com/cadio/downloads
Please refer to the following article to install the Cadio Firmware on ESP8266 NodeMCU.
Steps to upload Cadio Firmware to ESP8266
After uploading the firmware, press the Reset (RST) button of ESP8266 and wait until the built-in LED starts blinking. (This may take up to 30 seconds).
Configure ESP8266 using the Cadio app
First, install the Cadio Home Automation app from Google Play Store or App Store, and create an account in Cadio.
- Turn off mobile data and connect the “CADIO” hotspot created by the ESP8266.
- Open the Cadio app, tap on the 3-dash icon.
- Select Configuration.
- Select Switches Mode: “NORMAL” for switch. For pushbutton select “PRESS“.
- Select Relay Mode: “ACTIVE LOW“. For active HIGH relay select “ACTIVE HIGH“.
- Select the Switches wiring as per the circuit.
- Now enter the GPIO pins for Config button, Indicator LEDs and Devices as per the circuit. Then tap on the tick icon (in the top right corner).
- Tap on YES to export the info file.
- Select the WiFi Name and enter the WiFi Password. Also, enter a unique unit name and tap on the tick icon.
- Wait for some time the dashboard will appear automatically.
Change Device Names in the Cadio app
- You have to long press on the device.
- Now tap on “Settings” to open the setting page.
- Give a Device name and select the Device icon. Then tap on the tick icon to exit. In a similar way change the device name for all the devices.
Now you can control all the relays from the Cadio app through the internet. You can also tap on the MIC icon and control the relays with voice commands.
Control Relays manually with Switches
You can always control the relays with manual switches. If the ESP8266 NodeMCU is connected with WiFi, then you can monitor the real-time feedback in the Cadio app.
If there is no internet, you can still control the relays with switches or pushbuttons.
Control Appliances with Google Assistant
First, you have to connect the Cadio with Google Home app.
Now you can control the appliances from Google Home app.
After connecting the Google Home with Cadio, you can also control the appliances with voice commands using Google Assistant.
Control Relays with Amazon Alexa
You can also connect Amazon Alexa app with Cadio and control the relays with Alexa.
PCB for this IoT Project using ESP8266
You can also use the following PCB for this home automation project.
If you want, you can also use this PCB to make the circuit compact and give the project a professional look.
Change WiFi details through OTA
To change the WiFi details, connect a push button across the D8 (GPIO-15) and 3V3 pin of the NodeMCU.
Then press the pushbutton for 4 seconds to go to config mode. In config mode, the config LED will start blinking.
Now connect the “CADIO” hotspot created the ESP8266 and enter the new WiFi details. Then save it. The ESP8266 will connect with the new WiFi automatically.
Apart for the WiFi details, if you want to modify the configuration, then you have to again install the firmware and repeat the complete configuration from Cadio app.
Click Here for more such ESP8266 projects.
Please do share your feedback on this IoT project. Thank you for your time.