ESP8266 Cadio Home Automation Project

ESP8266 Cadio Home Automation Project

Make ESP8266 Cadio Home Automation with Google Assistant Alexa. Control relays with voice commands & switches. (No WiFi + EEPROM).

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.

ESP8266 Cadio Home Automation Project

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:

Required Components
  • 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.

NodeMCU home automation 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:

Cadio firmware for ESP8266

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.

Configure ESP8266 using the Cadio
  1. Turn off mobile data and connect the “CADIO” hotspot created by the ESP8266.
  2. Open the Cadio app, tap on the 3-dash icon.
  3. Select Configuration.
  4. Select Switches Mode: “NORMAL” for switch. For pushbutton select “PRESS“.
  5. Select Relay Mode: “ACTIVE LOW“. For active HIGH relay select “ACTIVE HIGH“.
  6. Select the Switches wiring as per the circuit.
Configure ESP8266 using the Cadio
  1. 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).
  2. Tap on YES to export the info file.
  3. Select the WiFi Name and enter the WiFi Password. Also, enter a unique unit name and tap on the tick icon.
  4. Wait for some time the dashboard will appear automatically.

Change Device Names in the Cadio app

  1. You have to long press on the device.
  2. Now tap on “Settings” to open the setting page.
  3. 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

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.

control relays with Google Home

Now you can control the appliances from Google Home app.

control relays with Google Assistant

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.

Solder the Components on PCB

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

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.