SkillAgentSearch skills...

HOMEMASTER

HomeMaster is an open-source platform for local-first smart home automation using ESP32-based devices like MiniPLC and MicroPLC. This repository includes firmware, schematics, and documentation for creating modular, cloud-free automation systems fully compatible with Home Assistant via ESPHome

Install / Use

/learn @isystemsautomation/HOMEMASTER

README

🚧 Project Status: Under Active Development & Testing

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 <br> <a href="./MiniPLC/"><img src="./MiniPLC/Images/MiniPLC2.png" alt="MiniPLC" height="140"/></a> | 🔵 MicroPLC <br> <a href="./MicroPLC/"><img src="./MicroPLC/Images/MicroPLC.png" alt="MicroPLC" height="140"/></a> | |--------------------|----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------| | 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 |

Module Overview

| Image | Module | Inputs | Outputs | Key Features | Best For | |---|---|---|---|---|---| | <a href="./ENM-223-R1/"><img src="./ENM-223-R1/Images/photo1.png" alt="ENM‑223‑R1" height="80"/></a> | ENM‑223‑R1 | 3‑Phase CTs | 2 Relays | Per‑phase power metrics | Solar, grid monitoring | | <a href="./ALM-173-R1/"><img src="./ALM-173-R1/Images/photo1.png" alt="ALM‑173‑R1" height="80"/></a> | ALM‑173‑R1 | 17 DI | 3 Relays | AUX power, alarm logic | Security systems | | <a href="./DIM-420-R1/"><img src="./DIM-420-R1/Images/photo1.png" alt="DIM‑420‑R1" height="80"/></a> | DIM‑420‑R1 | 4 DI | 2 Dimming | Phase‑cut dimming | Lighting control | | <a href="./AIO-422-R1/"><img src="./AIO-422-R1/Images/photo1.png" alt="AIO‑422‑R1" height="80"/></a> | AIO‑422‑R1 | 4 AI + 2 RTD | 2 AO | 0‑10V I/O, PT100/1000 | HVAC, sensors | | <a href="./DIO-430-R1/"><img src="./DIO-430-R1/Images/photo1.png" alt="DIO‑430‑R1" height="80"/></a> | DIO‑430‑R1 | 4 DI | 3 Relays | Override buttons, logic mapping | General control | | <a href="./RGB-621-R1/"><img src="./RGB-621-R1/Images/photo1.png" alt="RGB‑621‑R1" height="80"/></a> | RGB‑621‑R1 | 2 DI | 5 PWM + 1 Relay | RGB+CCT, smooth fades | Color lighting | | <a href="./STR-3221-R1/"><img src="./STR-3221-R1/Images/photo1.png" alt="STR‑3221‑R1" height="80"/></a> | STR‑3221‑R1 | 3 DI | 32 LED Channels | Animated sequences | Architectural lighting | | <a href="./WLD-521-R1/"><img src="./WLD-521-R1/Images/photo1.png" alt="WLD‑521‑R1" height="80"/></a> | WLD‑521‑R1 | 5 DI + Temp | 2 Relays | Leak detection, pulse metering | Safety systems |

Recommended Setups

  • 🏠 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

| Component | Home Assistant | ESPHome | Standalone | |---|---|---|---| | 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

View on GitHub
GitHub Stars24
CategoryDevelopment
Updated9d ago
Forks2

Languages

HTML

Security Score

80/100

Audited on Mar 20, 2026

No findings