In this ESP8266 project, I have explained how to make an IoT-based universal remote control using ESP8266 Cadio and Google Assistant to control all the IR devices with voice commands and the Cadio app through the internet.
So if the ESP8266 is connected to WiFi, you can control all the devices from anywhere in the world.
You can also control all the appliances with voice commands using Google Assistant.
With this IoT Project, you can control any IR devices through the internet without changing any wiring.
So if you follow all the steps, you can easily make this IoT-based IR Remote using ESP8266 NodeMCU and IR LEDs.
- ESP8266 NodeMCU
- IR emitter LED
- TSOP-1838 IR Receiver (with metallic case)
Circuit of the ESP8266 IoT Project
In the circuit, the IR receiver is connected with D5 (GPIO-14), and the IR emitter LED is connected with D8 (GPIO-15).
You can also use multiple IR emitter LEDs to increase the range.
Tutorial video on IoT-based ESP8266 IR Remote
During this Internet of Things tutorial video, I covered the following topics:
- Quick demo on the ESP8266 Universal Remote Controller.
- Explained the circuit diagram of the ESP8266 IoT project.
- Install the Cadio firmware on ESP8266 NodeMCU.
- Configure the ESP8266 using the Cadio app.
- Configure the IR controller in the Cadio app.
- Connect Google Home with the Cadio.
You can also design a PCB to connect multiple IR LEDs to increase the range and make this project more practical.
You can order any custom design PCBs from PCBWay at very reasonable prices.
You can also explore different PCB projects from their Open-source community pcbway.com/project/.
For more details please visit the following articles.
Configure ESP8266 with Cadio Firmware
Install the Cadio Firmware to 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 upload the Cadio Firmware to ESP8266.
Steps to Install Cadio Firmware on 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.
Make sure the in-built blue LEDs are blinking which indicates the ESP8266 is in config mode.
- Turn Off mobile data and connect the “CADIO” hotspot created by the ESP8266.
- Open the Cadio app, tap on the 3-dash icon, and select Configuration.
- Select Device Type “IR”, Transmitter GPIO-15, and Receiver GPIO-14. Now save it.
- Now click on Yes, to export the info file to ESP8266.
- Enter the WiFi name, password, and give a name for the unit. Then save it.
- Wait for some time, your device (IR HUB) will appear on the dashboard automatically.
After this step, both the in-built LED should stop blinking. This indicates the ESP8266 is connected to WiFi successfully.
Add IR Controllers in IR HUB
Now you have to add IR controllers as per the devices (TV, AC, RGB LED, etc) you want to control.
You can add multiple IR controllers in one IR HUB.
- Tap on the IR HUB.
- Tap on “Add New Controller“.
- Select the Controller Type and give a name to the controller. Then save it.
- A controller (IR remote template) will appear as per the controller type selected.
Assign Buttons of the Controller with IR Remote
Now you have to assign the HEX codes from the IR remote to each controller button.
- Tap on the 3-dot icon in the top corner.
- Select “Assign Button”.
- Select “Yes”.
- Tap on the button, you want to assign.
Now point the IR remote towards the IR receiver IC, and press the related button on the IR remote.
After you press the button on the IR remote, you will notice the color changes of the button selected in the Cadio app. This indicates the IR code was assigned successfully to that button.
In this way assign the IR codes to all the buttons which you will use.
After that, tap on the tick icon to save it. Your IoT-based remote controller will be ready.
Follow these steps, to assign buttons for all the controllers added in the IR HUB.
Now you can control all the appliances from mobile through the internet using the Cadio app.
Control Appliances with Google Home
First, you have to connect the Cadio Home Automation app with Google Home.
Once, connected with Google Home, you can only turn ON/OFF all the devices from the Google Home dashboard.
You can also ask Google Assistant to turn ON/OFF any appliances with voice commands.
Here I have used their Free Trial plan for this project. In the Free Plan, you can control the appliances for 500hrs. After that, again you have to upload Cadio firmware to ESP8266 and configure it using the Cadio app. Then you can control the appliances for the next 500hrs.
I hope you like this IoT-based IR controller using ESP8266 and Cadio app.
Click Here for more such ESP8266 projects.
Please do share your feedback on this IoT project. Thank you for your time.