I got tired of walking outside to flick switches. The mosquito zapper in the backyard, the fairy lights on the tree in the front yard; both needed to be switched on at dusk and off at a reasonable hour. Every single day. So I built a device to do it for me.

The Concept
RISC (Remote IoT Switch Controller) is a simple, cheap, WiFi-connected device that can switch up to 4 circuits on or off, either on a schedule or on demand from a central server. The first application was my front yard fairy lights, which needed both a power relay (on/off) and a momentary button press (to cycle through light patterns).
The design philosophy was reusability: build one pattern, flash the same firmware with minor config changes, and deploy as many as needed around the house. Each RISC device registers itself with a central SmartHome server and accepts commands over HTTP.

The Build
The hardware is minimal: a NodeMCU board (ESP8266), a 4-channel relay module, a 5V power supply, and a waterproof enclosure. The firmware is written in Arduino/C++ and handles WiFi connection, HTTP endpoints for each relay, and heartbeat reporting to the central server.

For the full build guide including parts list, wiring, firmware code, and server-side setup, see the original post.
What’s Next
The RISC was built in 2017. The ESP8266 ecosystem has moved on significantly since then:
- ESP32 upgrade: More GPIO, dual-core, BLE, and better power management. The ESP32-C3 is pin-compatible with many ESP8266 designs and costs roughly the same.
- MQTT and Home Assistant: The original used custom HTTP endpoints and a bespoke server. Today I would use MQTT with Home Assistant for scheduling, automation, and dashboard; no custom server needed.
- Custom PCB: Replace the jumper wires with a proper PCB. KiCad design, JLCPCB fabrication; total cost under $5 for 5 boards.
- OTA firmware updates: The original requires a USB cable for reflashing. ESPHome or Arduino OTA would let me push updates over WiFi.
- Power monitoring: Add a current sensor (ACS712 or similar) to track actual power consumption of connected devices.
The pattern of “cheap WiFi microcontroller + relay + central server” is timeless. The implementation just gets cleaner every year.