ESP32-C3 based WiFi relay controller for a kitchen light, integrated with Home Assistant via MQTT auto-discovery.
- Controls a relay (active LOW via transistor) on GPIO5
- Connects to Home Assistant as a light entity via MQTT discovery
- Supports ON / OFF / TOGGLE commands
- Publishes availability (online/offline LWT)
- Retains last known state across restarts
| Component |
Detail |
| MCU |
ESP32-C3 (e.g. SuperMini) |
| Relay |
Active LOW via NPN transistor |
| Relay GPIO |
GPIO5 |
ESP32-C3 GPIO5 → NPN base (via ~1kΩ resistor)
NPN collector → relay coil (−)
Relay coil (+) → 5V
Relay NO/COM → light circuit
| Topic |
Direction |
Description |
home/kitchen/light/set |
Subscribe |
ON / OFF / TOGGLE |
home/kitchen/light/state |
Publish |
Current state |
home/kitchen/light/availability |
Publish |
online / offline |
- Copy
secrets.h.example to secrets.h
- Fill in your WiFi and MQTT credentials
- Flash to ESP32-C3 via Arduino IDE or arduino-cli
PubSubClient by Nick O'Leary
WiFi (bundled with ESP32 Arduino core)