Releases: see the latest tagged build on GitHub Releases. Versioning uses YYYY‑MM.
Fully open‑source hardware, firmware, and configuration tools.
- 1. Introduction
- 2. Quick start
- 3. Choosing the Right PLC and Modules
- 4. Networking & communication
- 5. Software & UI configuration
- 6. Programming & customization
- 7. Safety information
- 8. Open source & licensing
- 9. Downloads
- 10. Support
HomeMaster is an industrial‑grade, modular automation system for smart homes, labs, and professional installations. It features:
- ESP32‑based PLC controllers (MiniPLC & MicroPLC) — same platform & memory class
- A family of smart I/O modules (energy monitoring, lighting, alarms, analog I/O, etc.)
- RS‑485 Modbus RTU communication
- ESPHome compatibility for Home Assistant
- USB‑C & WebConfig UI for driverless configuration
Local resilience: Modules include onboard logic and continue functioning even if the controller or network is offline.
🔵 MicroPLC![]() Click to view full size |
🟢 MiniPLC![]() Click to view full size |
Controller | Description |
---|---|
MiniPLC | Full DIN‑rail controller with Ethernet, Wi‑Fi, USB‑C, BLE/Improv, RTC, OLED, 6 relays, 4 DI, 2 AI/O, 2 RTD, microSD logging. Works as a standalone PLC and also expands via RS‑485 modules. |
MicroPLC | Compact DIN‑rail controller with Wi‑Fi, USB‑C, BLE/Improv, RTC, 1 relay, 1 DI, 1‑Wire, RS‑485. Designed to be affordable and used primarily with extension modules. |
Images on the left, concise summary on the right. Click a photo to open full resolution. Full specs live on each module page.
![]() ENM‑223‑R1 — 3‑Phase Energy Meter |
ATM90E32AS‑based sub‑metering (per‑phase Urms/Irms/P/Q/S/PF + totals) with **2× SPDT relays**. RS‑485 Modbus RTU; USB‑C WebConfig. 24 VDC DIN‑rail. |
![]() ALM‑173‑R1 — Alarm I/O |
**17 opto DIs** for sensors, **3× SPDT relays** (up to 16 A), isolated 12 V/5 V aux rails. RS‑485 + USB‑C WebConfig. 24 VDC DIN‑rail. |
![]() DIM‑420‑R1 — Dual‑Channel AC Dimmer |
**2‑ch phase‑cut dimming** (per‑channel leading/trailing), **4 DIs** with multi‑mode button logic, dual zero‑cross sensing. RS‑485 + WebConfig. |
![]() AIO‑422‑R1 — Analog I/O + RTD |
**4× 0–10 V inputs** (ADS1115), **2× 0–10 V outputs** (MCP4725+op‑amp), **2× RTD** (MAX31865). RS‑485 + USB‑C. 24 VDC DIN‑rail (~3M). |
![]() DIO‑430‑R1 — Digital I/O |
**3× SPDT relays** (up to 16 A), **4× isolated 24 VDC inputs**, override buttons, RS‑485 + USB‑C WebConfig. 24 VDC DIN‑rail. |
![]() RGB‑621‑R1 — RGBCCT LED Control |
**5× PWM** (RGB+CCT) with smooth fades, **2 DIs**, **1× relay**. RS‑485 + USB‑C; ESPHome‑ready. 24 VDC DIN‑rail. |
![]() STR‑3221‑R1 — Staircase LED Controller |
**32 constant‑current LED channels** with animated sequences; **3 opto inputs**. RS‑485 + USB‑C. 24 VDC DIN‑rail. |
![]() WLD‑521‑R1 — Water/Leak Detection |
**5 opto DIs** for leak probes & pulse meters (up to 1 kHz), **2 relays**, **1‑Wire** temp; isolated 12 V/5 V aux. RS‑485 + USB‑C. |
- Smart energy monitoring and control
- Smart lighting and climate control
- Leak detection and safety automation
- Modbus‑connected distributed systems
- Industrial and home lab control
- Resilient by design: Local logic ensures core functions continue without network/cloud.
- Industrial yet maker‑friendly: DIN‑rail hardware with ESPHome simplicity.
- Open & repairable: Open hardware, firmware, and tools; long‑term maintainability.
- Power the controller — ESPHome is pre‑installed on MiniPLC and MicroPLC.
- Join Wi‑Fi with Improv — Use Improv (BLE or Serial) to set Wi‑Fi and adopt the device.
- Wire RS‑485 — A/B differential pair; 120 Ω termination at both bus ends.
- Configure each module — Connect via USB‑C and use WebConfig to set Modbus address and module settings (calibration, mapping, rules).
- Open Home Assistant — Add the ESPHome controller; modules appear as entities via the controller config.
Feature / Use Case | 🟢 MiniPLC | 🔵 MicroPLC |
---|---|---|
Size | Full-width DIN enclosure | Compact DIN enclosure |
Onboard I/O | 6× Relays, 4× DI, 2× RTD, 2× AI/O, Display, RTC | 1× Relay, 1× DI, 1‑Wire, RTC |
Connectivity | Ethernet, USB‑C, Wi‑Fi, BLE + Improv | USB‑C, Wi‑Fi, BLE + Improv |
Storage | microSD card slot | Internal flash only |
Ideal for | Full homes, labs, HVAC/solar, automation pros | Makers, room‑level, modular expansion setups |
Power input | AC/DC wide range or 24 VDC | 24 VDC only |
ESPHome integration | Yes, with rich entity exposure | Yes, ideal for modular configs |
Installation type | Works as a standalone PLC and also expands via RS‑485 modules. | Designed to be affordable and used primarily with extension modules. |
Module Code | Digital Inputs | Analog / RTD | Relay Outputs | Special Features | Typical Use Cases |
---|---|---|---|---|---|
ENM‑223‑R1 | — | Voltage + CTs | 2 relays | 3‑phase metering, power KPIs | Grid, solar, energy sub‑metering |
ALM‑173‑R1 | 17 DI | — | 3 relays | AUX power rails (5 V / 12 V), alarm logic | Security, panic, tamper, window contacts |
DIM‑420‑R1 | 4 DI | — | 2× dimming outputs | AC dimming, button logic, LED feedback | Room lighting, stair lighting |
AIO‑422‑R1 | — | 4 AI + 2 RTD | 2 AO | 0–10 V input/output, PT100/PT1000 | HVAC, environmental sensors |
DIO‑430‑R1 | 4 DI | — | 3 relays | Logic mapping, override buttons | Generic input/output, control boards |
RGB‑621‑R1 | 2 DI | — | 1 relay | 5× PWM (RGB+CCT), smooth fades | RGB lighting, wall‑switch control |
STR‑3221‑R1 | 3 DI | — | — | 32‑channel LED sequencing (TLC59208F) | Stair lights, animation control |
WLD‑521‑R1 | 5 DI | 1‑Wire Temp | 2 relays | Leak detection, pulse metering | Bathrooms, kitchens, utility rooms |
-
🏠 Starter Setup (Lighting + I/O)
🔹 MicroPLC + DIO‑430‑R1 + RGB‑621‑R1
👉 For basic lighting control, wall switch input, RGB strip control. -
⚡ Energy Monitoring Setup
🔹 MicroPLC + ENM‑223‑R1
👉 For tracking grid power, solar production, or 3‑phase loads. -
🧪 Lab / Professional Setup
🔹 MiniPLC + any mix of modules
👉 Best for complex automation with analog, temperature, safety logic. -
💧 Safety & Leak Detection
🔹 MicroPLC + WLD‑521‑R1 + ALM‑173‑R1
👉 Secure your home with leak sensors, alarm inputs, and auto‑valve control. -
🌈 RGB + Dimming + Scenes
🔹 MiniPLC or MicroPLC + RGB‑621‑R1 + DIM‑420‑R1
👉 Create scenes with ESPHome automations and HA dashboards.
- All modules use Modbus RTU (slave) over RS‑485.
- Default:
19200 8N1
(configurable). - Bus topology supported; use 120 Ω termination at ends; observe biasing.
- Use
ConfigToolPage.html
(no drivers needed) in Chrome/Edge. - Enables calibration, phase mapping, relay control, alarm config, etc.
- Available for each module type.
- Wi‑Fi on MiniPLC and MicroPLC.
- Improv Wi‑Fi onboarding via BLE and Serial on both controllers.
- Once connected, modules communicate over RS‑485; controllers expose them wirelessly.
- Available on MiniPLC only.
- Enables fast and stable connection to Home Assistant or MQTT brokers.
All HomeMaster controllers come with ESPHome pre-installed and support Improv onboarding over USB or Bluetooth — no flashing required.
Once powered on:
- Connect via improv-wifi.com to enter your Wi‑Fi credentials
- The controller appears in ESPHome Dashboard or Home Assistant, ready to use
- Add connected modules using
modbus_controller:
and per-modulepackages:
Each controller supports automatic discovery and YAML import for easy customization. Full setup guides and YAML templates are available on each module's page.
💡 For advanced users, manual flashing via USB‑C is also supported — with no need for reset buttons.
All HomeMaster extension modules include a built-in USB WebConfig interface — a single HTML file that runs in your browser (no install, no drivers).
It lets you configure each module in seconds:
- Set the Modbus address and baud rate
- Adjust relay behavior, input mappings, or LED modes
- Configure alarm thresholds (where applicable)
- Perform calibration (e.g. phase mapping, CT scaling)
- See live diagnostics for all inputs, relays, and logic
Each module has its own version of the tool with tailored panels, but the interface is consistent across the lineup.
💡 WebConfig works in Chrome or Edge via USB‑C — just plug in and click “Connect”. Full details live in each module’s manual.
- Controllers ship with ESPHome pre‑installed.
- ESPHome exposes connected modules (via
modbus_controller:
) as sensors/switches/alarms. - Use YAML packages to add ENM, ALM, DIM, etc., quickly in the controller config.
All HomeMaster controllers and modules support firmware customization via USB‑C.
- ESPHome YAML (pre-installed on controllers)
- Arduino IDE (both ESP32 and RP2040/RP2350)
- PlatformIO (cross-platform)
- MicroPython (via Thonny)
- ESP-IDF (for ESP32-based controllers)
- Pico SDK / CircuitPython (for RP2350-based modules)
Both controllers and modules support easy flashing and auto-reset via USB‑C, with no need to press BOOT or RESET buttons.
- ESP32-based controllers (MiniPLC, MicroPLC): programmable using Arduino IDE, PlatformIO, ESP-IDF, or ESPHome Dashboard.
- RP2350-based modules: support drag‑and‑drop UF2 flashing and tools from the RP2040 ecosystem (e.g., Pico SDK, CircuitPython).
⚠️ Note: All controllers and modules ship with pre-installed firmware.
- Controllers are ESPHome-ready and appear in Home Assistant.
- Modules are fully functional out-of-the-box and configurable via the WebConfig Tool.
Flashing is only required for advanced users who want to replace default firmware.
- Clone the firmware repository
- Use the provided
default_xxx.ino
sketches per module or controller - Add libraries as needed:
ModbusSerial
,LittleFS
,Arduino_JSON
,SimpleWebSerial
- Only trained personnel should install or service modules.
- Disconnect all power sources before wiring or reconfiguring.
- Always follow local electrical codes and standards.
- Mount on 35 mm DIN rails inside protective enclosures.
- Separate low‑voltage and high‑voltage wiring paths.
- Avoid exposure to moisture, chemicals, or extreme temperatures.
- Connect PE/N properly for metering modules.
- Use correct CTs (1 V or 333 mV) — never connect 5 A CTs directly.
- Avoid reverse polarity on RS‑485 lines.
- Hardware: CERN‑OHL‑W v2
- Firmware: GPLv3
- Tools & examples: MIT
SeeLICENSE
for full terms.
- 📥 Firmware (INO / YAML examples): https://github.com/isystemsautomation/HOMEMASTER/tree/main/Firmware
- 🛠 Config Tools (HTML): https://github.com/isystemsautomation/HOMEMASTER/tree/main/tools
- 📷 Images & Diagrams: https://github.com/isystemsautomation/HOMEMASTER/tree/main/Images
- 📐 Schematics: https://github.com/isystemsautomation/HOMEMASTER/tree/main/Schematics
- 📖 Manuals (PDF): https://github.com/isystemsautomation/HOMEMASTER/tree/main/Manuals
- 🌐 Official Support Portal: https://www.home-master.eu/support
- 🧠 Hackster.io Projects: https://www.hackster.io/homemaster
- 🎥 YouTube Channel: https://www.youtube.com/channel/UCD_T5wsJrXib3Rd21JPU1dg
- 💬 Reddit /r/HomeMaster: https://www.reddit.com/r/HomeMaster
- 📷 Instagram: https://www.instagram.com/home_master.eu