A complete IoT-based smart home automation project using ESP32, Google Assistant and ESP RainMaker. Control appliances from anywhere using voice, mobile app or physical wall switches with real-time synchronization.
This project demonstrates a smart home automation system built using the ESP32 development board and ESP RainMaker cloud platform.
Users can control four electrical appliances using Google Assistant voice commands, the ESP RainMaker mobile application, or physical wall switches.
The project supports OTA firmware updates, Bluetooth Wi-Fi provisioning, device scheduling, timezone synchronization, EEPROM memory restoration after power failure, Wi-Fi reset and factory reset.
| Component | ESP32 GPIO |
|---|---|
| Relay 1 | GPIO23 |
| Relay 2 | GPIO19 |
| Relay 3 | GPIO18 |
| Relay 4 | GPIO5 |
| Switch 1 | GPIO13 |
| Switch 2 | GPIO12 |
| Switch 3 | GPIO14 |
| Switch 4 | GPIO27 |
| WiFi Status LED | GPIO2 |
| Reset Button | GPIO0 |
Controls four relays using Google Assistant, ESP RainMaker, physical switches, OTA firmware updates, EEPROM state memory, scheduling, Bluetooth provisioning, Wi-Fi reset and factory reset.
Download ESP32 Code
/*********************************************************
ESP32 Google Home Automation
Google Assistant
ESP RainMaker
EEPROM Memory
OTA Updates
Manual Switches
Bluetooth Provisioning
Complete source code available
in the download button above.
**********************************************************/
#include <EEPROM.h>
#include "RMaker.h"
#include "WiFi.h"
#include "WiFiProv.h"
#include <AceButton.h>
// Remaining source code omitted
// Download complete project
Yes. All appliances can be controlled using Google Assistant voice commands after linking ESP RainMaker with Google Home.
Yes. Physical wall switches work normally, and the app updates the appliance status in real time.
EEPROM stores the previous relay states, so all appliances return to their last state after power is restored.
Yes. New firmware can be uploaded wirelessly without connecting the ESP32 to a computer.
This version controls four appliances independently using relays, but it can be expanded by modifying the firmware.