🚧 Project Status: Under Active Development & Testing

April 23, 2026 · View on GitHub

Important Notice: This documentation, hardware designs, and firmware are for the pre-release version of the HomeMaster system. All information is preliminary and may contain errors or be subject to change.

  • Hardware: Modules are currently in the prototyping and testing phase. Final production versions may differ.
  • Firmware: Firmware is under active development and is considered beta. Features, configurations, and stability are being refined.

Please use this information for evaluation and development purposes only

HOMEMASTER – Modular, Resilient Smart Automation System

License: CERN-OHL-W v2 + GPLv3 + MIT Status: Open Hardware Works with: ESPHome & Home Assistant Home Assistant

Releases: see the latest tagged build on GitHub Releases. Versioning uses YYYY‑MM.
Fully open‑source hardware, firmware, and configuration tools.


🛠️ Hardware Guide

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.

System Architecture

%%{init: {"flowchart":{"htmlLabels":true,"nodeSpacing":50,"rankSpacing":60}}}%%
flowchart TD
  %% Classes
  classDef hub fill:#EDEFFB,stroke:#6B72FF,stroke-width:1.2px,color:#111,font-weight:bold;
  classDef big fill:#EDEFFB,stroke:#1F35FF,stroke-width:3px,color:#111,font-weight:bold,font-size:28px;
  classDef mod fill:#FFFffC,stroke:#E0B100,stroke-width:1.2px,color:#111,font-weight:bold,font-size:22px;
  classDef ghost fill:transparent,stroke:transparent,color:transparent;

  %% Double-sized HA and PLC (bigger font + extra line breaks)
  HA["Home Assistant<br/><br/>"]:::big --> PLC["MiniPLC / MicroPLC<br/><br/>"]:::big
  PLC --> RS485[RS-485 Bus]:::hub

  %% Subgraph with taller nodes; extra <br/> increases node height
  subgraph Mods["<br/>"]
    ENM[ENM‑223‑R1<br>⚡ Energy Meter]:::mod
    ALM[ALM‑173‑R1<br>🚨 Alarm I/O]:::mod
    DIM[DIM‑420‑R1<br>💡 AC Dimmer]:::mod
    AIO[AIO‑422‑R1<br>🌡️ Analog I/O]:::mod
    RGB[RGB‑621‑R1<br>🎨 LED Controller]:::mod
    DIO[DIO‑430‑R1<br>🔌 Digital I/O]:::mod
    STR[STR‑3221‑R1<br>💫 Staircase LED]:::mod
    WLD[WLD‑521‑R1<br>💧 Leak Detection]:::mod
    SP1["<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>"]:::ghost
  end
  style Mods fill:#FFFFFF,stroke:#E0B100,stroke-width:1.5px, font-weight:bold,font-size:22px

  %% Edges
  RS485 --> ENM
  RS485 --> ALM
  RS485 --> DIM
  RS485 --> AIO
  RS485 --> RGB
  RS485 --> DIO
  RS485 --> STR
  RS485 --> WLD

🎯 Quick Module Selector

  • 💡 Lighting Control → DIM‑420‑R1, RGB‑621‑R1, STR‑3221‑R1
  • Measurment & Protecion → ENM‑223‑R1 , WLD‑521‑R1
  • 🚨 Security/Alarms → ALM‑173‑R1
  • 🔌 General I/O → DIO‑430‑R1, AIO‑422‑R1

Controller Comparison

Feature / Use Case🟢 MiniPLC
MiniPLC
🔵 MicroPLC
MicroPLC
SizeFull‑width DIN enclosureCompact DIN enclosure
Onboard I/O6× Relays, 4× DI, 2× RTD, 2× AI/O, Display, RTC1× Relay, 1× DI, 1‑Wire, RTC
ConnectivityEthernet, USB‑C, Wi‑Fi, BLE + ImprovUSB‑C, Wi‑Fi, BLE + Improv
StoragemicroSD card slotInternal flash only
Ideal ForFull homes, labs, HVAC/solar, automation prosMakers, room‑level, modular expansion setups
Power InputAC/DC wide range or 24 VDC24 VDC only

Module Overview

ImageModuleInputsOutputsKey FeaturesBest For
ENM‑223‑R1ENM‑223‑R13‑Phase CTs2 RelaysPer‑phase power metricsSolar, grid monitoring
ALM‑173‑R1ALM‑173‑R117 DI3 RelaysAUX power, alarm logicSecurity systems
DIM‑420‑R1DIM‑420‑R14 DI2 DimmingPhase‑cut dimmingLighting control
AIO‑422‑R1AIO‑422‑R14 AI + 2 RTD2 AO0‑10V I/O, PT100/1000HVAC, sensors
DIO‑430‑R1DIO‑430‑R14 DI3 RelaysOverride buttons, logic mappingGeneral control
RGB‑621‑R1RGB‑621‑R12 DI5 PWM + 1 RelayRGB+CCT, smooth fadesColor lighting
STR‑3221‑R1STR‑3221‑R13 DI32 LED ChannelsAnimated sequencesArchitectural lighting
WLD‑521‑R1WLD‑521‑R15 DI + Temp2 RelaysLeak detection, pulse meteringSafety systems
  • 🏠 Starter (Lighting + I/O) — MicroPLC + DIO‑430‑R1 + RGB‑621‑R1
    Basic lighting control, wall switch input, RGB strip control
  • Energy Monitoring — MicroPLC + ENM‑223‑R1
    Track grid power, solar production, or 3‑phase loads
  • 🧪 Professional Lab — MiniPLC + AIO‑422‑R1 + DIO‑430‑R1
    Complex automation with analog, temperature, safety logic
  • 💧 Safety & Leak Detection — MicroPLC + WLD‑521‑R1 + ALM‑173‑R1
    Leak sensors, alarm inputs, auto‑valve control
  • 🌈 Advanced Lighting — MiniPLC + RGB‑621‑R1 + DIM‑420‑R1 + STR‑3221‑R1
    Complete lighting control with scenes and animations

🚀 Quick Start

5‑Minute Setup

  1. Power the controllerESPHome is pre‑installed on MiniPLC and MicroPLC.
  2. Join Wi‑Fi with Improv — Use Improv (BLE or Serial) to set Wi‑Fi and adopt the device.
  3. Wire RS‑485 — A/B differential pair; 120 Ω termination at both bus ends.
  4. Configure each module — Connect via USB‑C and use WebConfig to set Modbus address and module settings (calibration, mapping, rules).
  5. Open Home Assistant — Add the ESPHome controller; modules appear as entities via the controller config.

⚙️ Configuration

Compatibility

ComponentHome AssistantESPHomeStandalone
All Modules✅ Full✅ Native✅ Basic
MiniPLC✅ Full✅ Pre‑installed✅ Full
MicroPLC✅ Full✅ Pre‑installed✅ Basic

Controller Setup

All HomeMaster controllers come with ESPHome pre‑installed and support Improv onboarding:

  1. Power on the controller
  2. Connect via improv-wifi.com (BLE or USB)
  3. Enter Wi‑Fi credentials
  4. Appears in ESPHome Dashboard & Home Assistant

Module Configuration (WebConfig)

Each module includes USB WebConfig — no drivers needed:

  • Set Modbus address and baud rate
  • Configure relay behavior and input mappings
  • Perform calibration and live diagnostics
  • Adjust alarm thresholds and LED modes

💡 WebConfig works in Chrome/Edge — just plug in USB‑C and click Connect

Networking

  • RS‑485 Modbus: 19200 8N1 (default), 120 Ω termination required
  • Wi‑Fi: Both controllers; Improv onboarding
  • Ethernet: MiniPLC only for stable connections
  • USB‑C: Configuration and programming

🔧 Advanced

Firmware Development

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)

USB‑C Developer Flashing

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.

Arduino & PlatformIO Notes

  • Clone the firmware repository
  • Use the provided default_xxx.ino sketches per module or controller
  • Add libraries as needed:
    ModbusSerial, LittleFS, Arduino_JSON, SimpleWebSerial

Home Assistant Example (ESPHome)

# Example ESPHome configuration for Alarm Module
uart:
  id: uart_modbus
  tx_pin: 17
  rx_pin: 16
  baud_rate: 19200
  parity: NONE
  stop_bits: 1

modbus:
  id: modbus_bus
  uart_id: uart_modbus

# ---------- Pull ALM Modbus entities from GitHub ----------
packages:

  alm1:
    url: https://github.com/isystemsautomation/homemaster-dev
    ref: main
    files:
      - path: ALM-173-R1/Firmware/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml

📚 Resources

🎓 Learning & Community


⚠️ Safety Information

Electrical Safety

  • Only trained personnel should install or service modules
  • Disconnect all power before wiring
  • Follow local electrical codes and standards

Installation

  • Mount on 35 mm DIN rails in protective enclosures
  • Separate low‑voltage and high‑voltage wiring
  • Avoid moisture, chemicals, and extreme temperatures

Device‑specific Warnings

  • 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

License

Licensing

This project uses a hybrid licensing model.

Hardware

Hardware designs (schematics, PCB layouts, BOMs) are licensed under: CERN-OHL-W v2

Firmware & ESPHome Integration

All firmware, ESPHome configurations, and software components are licensed under: MIT License

This ensures full compatibility with ESPHome and Home Assistant while protecting hardware designs.

See LICENSE files in each directory for full terms.


🔄 Version Info

Current: HomeMaster 2024.12+ series
Check: Releases page for version‑specific notes