A Wi-Fi based Home Automation System built using the ESP32 microcontroller. This project allows users to control multiple devices through a web interface and physical push buttons. The system supports real-time status updates and can be expanded using relay modules for controlling household appliances.
- Web-based control panel
- Physical push button control
- Real-time device status updates
- Wi-Fi connectivity
- Reset all outputs functionality
- Mobile-friendly interface
- mDNS support (
esp32.local) - Compatible with LEDs and relay modules
| Component | Quantity |
|---|---|
| ESP32 DevKit V1 | 1 |
| Push Buttons | 4 |
| LEDs | 4 |
| 220Ω Resistors | 4 |
| Breadboard | 1 |
| Jumper Wires | As Required |
| Component | Quantity |
|---|---|
| 4-Channel Relay Module | 1 |
| Output | GPIO |
|---|---|
| Output 1 | GPIO 16 |
| Output 2 | GPIO 17 |
| Output 3 | GPIO 18 |
| Output 4 | GPIO 19 |
The ESP32 hosts a web server that allows users to control four outputs from any device connected to the same Wi-Fi network. Each output can be controlled through both the web interface and a dedicated physical push button.
- GPIO 16, 17, 18 and 19 are configured as outputs.
- GPIO 12, 14, 26 and 27 are configured as button inputs using
INPUT_PULLUP. - LEDs can be replaced with relay modules for controlling household appliances.
- All grounds must be connected together.
- Arduino IDE
- ESP32 Board Package
- AsyncTCP
- ESPAsyncWebServer
- ESPmDNS
git clone https://github.com/heychandu/Esp-32-based-home-automation.gitUpdate the following lines in the source code:
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";- Connect ESP32 to your computer.
- Open the project in Arduino IDE.
- Select ESP32 Dev Module.
- Install the required libraries.
- Compile and upload the code.
- Open Serial Monitor at 115200 baud.
After uploading the code and connecting to Wi-Fi, open a browser on the same network and visit:
http://esp32.local
or
http://<ESP32-IP-ADDRESS>
The web interface allows you to:
- Toggle individual outputs
- Monitor device states in real time
- Reset all outputs with a single click
Esp-32-based-home-automation/
│
├── src/
│ └── main.ino
│
├── images/
│ └── circuit-diagram.png
│
└── README.md
- MQTT Integration
- Home Assistant Integration
- Mobile Application
- Authentication System
- Device Scheduling
- Energy Monitoring
- Voice Assistant Support
Chandu R
GitHub: https://github.com/heychandu

