RISC: The Remote IoT Switch Controller That Automated My Yard

A look back at RISC, my ESP8266-based remote switch controller for home automation. Built in 2017 to automate fairy lights and mosquito zappers, and thoughts on a modern ESP32 rebuild.

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 finished RISC device in its enclosure
The finished RISC: an ESP8266 on a NodeMCU board with a 4-channel relay module, boxed up and ready for deployment.

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.

RISC wiring: ESP8266 connected to relay module
The wiring: GPIO pins from the NodeMCU driving the relay module inputs. Clean and reproducible.

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.

The NodeMCU board before wiring
The NodeMCU ESP8266 board: WiFi built in, GPIO pins for relay control, and dirt cheap.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.