homemaster-dev

🚧 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.

Please use this information for evaluation and development purposes only.


Firmware Version: 2025-07 snapshot

Firmware Version Modbus License

RGB-621-R1 — Module for RGB+CCT LED Control

HOMEMASTER – Modular control. Custom logic.

RGB-621-R1 photo

1. Introduction

1.1 Overview of the RGB-621-R1

The RGB-621-R1 is a smart RGB + CCT LED controller module designed for HomeMaster automation systems and other Modbus RTU networks.
It features 5 high-current PWM outputs for RGB and Tunable White (CCT) LED control, 2 isolated digital inputs for wall switches or sensors, and 1 relay output for switching external loads or LED drivers.

Powered by the Raspberry Pi RP2350A microcontroller, the module supports RS-485 (Modbus RTU) communication and configuration via WebConfig over USB-C (Web Serial) — no drivers or external software required.
It connects directly to HomeMaster MicroPLC and MiniPLC controllers or operates as a standalone Modbus slave in any automation network.

Its isolated I/O architecture, dual-board design, and built-in surge and short-circuit protection ensure accurate dimming, stable communication, and reliable operation in demanding home, ambient, or architectural lighting applications.


1.2 Features & Architecture

Subsystem Qty Description
Digital Inputs 2 Galvanically isolated (ISO1212) dry-contact inputs with surge and reverse protection
PWM Outputs 5 N-channel MOSFET drivers (AP9990GH-HF), 12 V / 24 V LED channels for R / G / B / CW / WW
Relay Output 1 SPST-NO relay (HF115F/005-1ZS3), 5 V coil, rated 16 A @ 250 VAC / 30 VDC
Buttons 2 Local control or configuration triggers (SW1 / SW2)
LED Indicators 8 Power, TX/RX, input, and status LEDs for feedback and diagnostics
Modbus RTU Yes RS-485 interface via MAX485CSA+T transceiver; 120 Ω termination selectable
USB-C Yes WebConfig & firmware flashing with PRTR5V0U2X ESD protection
Power Input 24 V DC Protected by resettable fuses (1206L series), TVS (SMBJ33A), and reverse-blocking (STPS340U)
Logic Supply AP64501SP-13 buck (5 V) + AMS1117-3.3 LDO chain
MCU RP2350A Dual-core Arm Cortex-M33 @ 133 MHz with 32 Mbit QSPI Flash (W25Q32JVUUIQ)
Isolation & Protection Galvanic isolation, TVS diodes, PTC fuses, transient suppression on all field I/O

Architecture summary:


1.3 System Role & Communication

The RGB-621-R1 operates as a Modbus RTU slave on an RS-485 differential bus, typically polled by a HomeMaster controller (MicroPLC / MiniPLC) or other Modbus master.
Each module is assigned a unique Modbus address via WebConfig, supporting up to 32 devices per bus.

Default communication parameters:

The controller periodically polls holding registers to:

WebConfig enables users to modify address, baud rate, test I/O, calibrate channels, and perform real-time diagnostics — simplifying setup and commissioning.


2. RGB-621-R1 — Technical Specification

2.1 Diagrams & Pinouts

Diagram
System Block Diagram System Block Diagram
RP2350A Pinouts RP2350A MCU Pinout
Field Board Diagram Field Board Layout
MCU Board Diagram MCU Board Layout

2.2 Overview

RGB + CCT LED controller with:


2.3 I/O Summary

Interface Qty Notes
Digital Inputs 2 24 V isolated (ISO1212), dry-contact or sourcing
Relay 1 SPST-NO, 16 A @ 250 VAC / 30 VDC
PWM Outputs 5 Low-side MOSFETs (AP9990GH-HF) for R/G/B/CW/WW
RS-485 (Modbus) 1 MAX485 transceiver, 19200 bps 8N1 default
USB-C 1 Config & firmware upload (logic only)
MCU 1 RP2350A @ 133 MHz, 32 Mbit QSPI Flash
Buttons / LEDs Local control, TX/RX & status indicators

2.4 Terminals & Pinout

Front Terminals

Top: V+/0 V (24 V DC input), Relay C/NO, Inputs I1/I2 (+ GND)
Bottom: PWM R/G/B/CW/WW (24 V COM +), RS-485 A/B (+ COM opt.)


2.5 Electrical & Environmental


2.6 MCU, Protections & Build

Dimensions


2.7 Absolute Ratings

Parameter Min Typ Max Notes
Supply Voltage 20 V 24 V 30 V SELV input protected
Power Use 1.85 W 3.0 W No LED load
Relay Contacts 16 A @ 250 VAC / 30 V DC Resistive
PWM Current 5 A per ch External PSU limited
RS-485 Rate 115.2 kbps Half-duplex
USB Voltage 4.75 V 5 V 5.25 V Logic only
Operating Temp 0 °C 40 °C ≤ 95 % RH

Installer Tip: Use upstream fusing and snubbers for inductive loads.


2.8 Firmware & Operation


3. Use Cases

The RGB-621-R1 module is primarily designed for multi-channel lighting control but can also be used in broader automation and signaling tasks.
Its combination of isolated inputs, PWM outputs, and a relay makes it suitable for ambient lighting, architectural control, and user-interactive automation.


🏠 Use Case 1 — RGB Scene Control with Wall Switch Inputs

Purpose:
Use two wall switches to trigger and cycle through preset color or brightness scenes stored in the controller.

How it works:
Each digital input acts as a trigger to change the lighting mode or adjust brightness levels.

Setup Steps:

  1. Connect DI1 and DI2 to wall switches (dry contact).
  2. Wire RGBW LED strips to PWM outputs R, G, B, CW, WW.
  3. In WebConfig, assign Modbus address and test LED channels.
  4. In the MicroPLC / MiniPLC, define scene logic (e.g., DI1 → next scene, DI2 → off).
  5. Use Modbus holding registers to control PWM duty cycles for each channel.

💡 Use Case 2 — Relay-Based Power Switching for LED Drivers

Purpose:
Control a 24 V LED power supply or auxiliary lighting circuit via the onboard relay.

How it works:
The relay output switches the driver’s DC line or AC supply based on PLC logic or local input triggers.

Setup Steps:

  1. Connect the relay COM/NO terminals in series with the LED driver’s supply.
  2. Wire LED outputs to PWM channels for dimming control.
  3. In WebConfig, enable relay control via Modbus coil.
  4. Program the controller to energize the relay only when active scenes are running.
  5. Optionally, use a wall switch on DI1 as a manual override for relay control.

🌈 Use Case 3 — Tunable White (CCT) Control with Daylight Automation

Purpose:
Implement human-centric lighting that adjusts color temperature (CCT) throughout the day.

How it works:
Two PWM channels (CW and WW) mix warm and cool light based on time of day or ambient sensor input.

Setup Steps:

  1. Connect CW and WW LED strips to respective PWM outputs.
  2. Define a time-based profile in the controller (morning = warm, midday = cool).
  3. Use Modbus registers to update CW/WW duty cycles automatically.
  4. Optionally, map DI1 as a manual “Day/Night” mode toggle.
  5. Adjust max/min PWM limits in WebConfig for consistent brightness.

🚨 Use Case 4 — Status Indicator / Alarm Signaling

Purpose:
Display system or alarm status using color lighting patterns.

How it works:
The module’s PWM channels can drive RGB indicators or stack lights controlled by alarm flags from the PLC.

Setup Steps:

  1. Wire a small 12 V RGB LED indicator to PWM outputs R, G, and B.
  2. Connect the module to the same Modbus bus as the alarm controller.
  3. Assign registers to display alarm colors (e.g., red = alert, green = normal).
  4. Use DI1 as a manual alarm acknowledge input.
  5. Configure the relay as an auxiliary siren or warning signal driver.

🧠 Use Case 5 — Standalone Mood Lighting Controller

Purpose:
Operate ambient RGB lighting locally without an external PLC, using onboard inputs and preloaded logic.

How it works:
The module can store simple input-to-output mapping rules (through WebConfig or firmware) for local lighting control.

Setup Steps:

  1. Power the module from a 24 V DC supply.
  2. Connect LED strips to PWM outputs and wall switches to DI1/DI2.
  3. In WebConfig, set input-to-PWM mapping rules or fading behavior.
  4. Adjust brightness levels and transition speeds.
  5. Optionally, connect to Modbus later for centralized control or monitoring.

These examples illustrate how the RGB-621-R1 can serve as both a dedicated lighting driver and a multi-purpose automation node, combining smooth dimming, robust field isolation, and Modbus integration.


4. Safety Information

4.1 General Requirements

Requirement Detail
Qualified Personnel Installation, wiring, and servicing must be performed by trained technicians familiar with 24 V DC SELV/PELV control systems.
Power Isolation Always disconnect the 24 V DC supply and RS-485 network before wiring or servicing.
Rated Voltages Only Operate only from a Safety Extra-Low Voltage (SELV/PELV) 24 V DC source. 12 V DC is not supported. Never connect mains (230 V AC) to any terminal.
Independent Power Each controller and I/O module must have its own 24 V DC power supply, sized for its load and fused appropriately.
Grounding Ensure proper protective-earth (PE) connection of the control cabinet and shielded bus cable.
Enclosure Mount the device on a DIN rail inside a dry, clean enclosure. Avoid condensation, dust, or corrosive atmosphere.

4.2 Installation Practices

DIN-Rail Mounting

Electrical Domains
Two distinct domains exist:

The field return is GND_FUSED; the logic return is GND.
🟡 Important: Do not externally bridge GND_FUSED and GND.
Isolation between these domains is provided internally through the ISO1212 and SFH6156 devices.

LED Power and Output Wiring

Relay Wiring

Digital Input Wiring


4.3 Interface Warnings

⚡ Power Supply (24 V DC)

Parameter Specification
Nominal Voltage 24 V DC ± 10 %
Input Protection PTC fuses (F1–F4), reverse-polarity diode (STPS340U), surge TVS (SMBJ33A)
Ground Reference Field return GND_FUSED
Isolation Field side isolated from logic via DC/DC and opto-devices
Notes Use a regulated SELV 24 V DC supply rated ≥ 1 A per module. Each module must have its own isolated 24 V supply rail.

🟢 Digital Inputs

Parameter Specification
Type Galvanically isolated, dry-contact or sourcing 24 V DC input
Circuit ISO1212 receiver with TVS (SMBJ26CA) + PTC protection
Operating Range 9 – 36 V DC (typ. 24 V DC)
Isolation 3 kVrms (input ↔ logic)
Notes For switches or sensors only; debounce handled in firmware.

🔴 Relay Output

Parameter Specification
Type SPST-NO mechanical relay (HF115F/005-1ZS3)
Coil Voltage 5 V DC (via SFH6156 optocoupler + S8050 driver)
Contact Rating 16 A @ 250 VAC / 30 V DC (resistive)
Protection External RC snubber / flyback diode recommended
Notes Keep field wiring separate from logic; observe polarity and isolation boundaries.

🔵 RS-485 Communication

Parameter Specification
Transceiver MAX485CSA+T
Bus Type Differential, multi-drop (A/B lines)
Default Settings 19200 bps · 8N1
Termination 120 Ω enabled only at end-of-line device
Protection Surge/ESD network integrated
Notes Observe polarity (A = +, B = –). Use shielded twisted-pair cable; ground shield at one end only.

🧰 USB-C Interface

Parameter Specification
Function WebConfig setup & firmware update only
Protection PRTR5V0U2X ESD + CG0603MLC-05E current limiters
Supply 5 V DC from host computer (logic domain)
Isolation Shares logic ground (GND); not isolated from RS-485 logic
Notes Use only when field power is disconnected; not for continuous operation in field.

⚠️ Important:
• The RGB-621-R1 operates only on 24 V DC SELV/PELV power.
12 V DC operation is not supported.
• Each module and controller has its own 24 V DC supply.
• Never connect mains voltage to any terminal.
• Maintain isolation between GND_FUSED (field) and GND (logic).
• Follow local electrical codes for fusing and grounding.


5. Installation & Quick Start

5.1 What You Need

Item Description
Module RGB-621-R1 LED control module
Controller HomeMaster MicroPLC / MiniPLC or any Modbus RTU master
Power Supply (PSU) Regulated 24 V DC SELV/PELV, sized for module and LED load
Cables USB-C cable (for setup), 1× twisted-pair RS-485 cable
Software Any Chromium-based browser (Chrome/Edge) with Web Serial support for WebConfig
Optional Shielded wiring for long RS-485 runs, DIN-rail enclosure, terminal labels

5.2 Power


4.3 Communication

RS-485 Pinout (bottom connector):

Terminal Signal Description
A RS-485 A (+) Non-inverting line
B RS-485 B (–) Inverting line
COM Common reference (optional) Field ground reference (GND_FUSED) for long bus runs

⚙️ Quick Summary

  1. Mount the module on a DIN rail.
  2. Wire +24 V and 0 V to the LED PS terminals.
  3. Connect LED strips (common-anode to COM, cathodes to R/G/B/CW/WW).
  4. Wire RS-485 A/B to the controller.
  5. Plug in USB-C, open WebConfig, assign address, set baudrate, test outputs.
  6. Disconnect USB, power up the system, and verify Modbus communication.

5.4 Installation & Wiring

Use diagrams and explain:

5.5 Software & UI Configuration

Cover:

5.6 Getting Started

Summarize steps in 3 phases:

  1. Wiring
  2. Configuration
  3. Integration

6. Modbus RTU Communication

Include:


7. ESPHome Integration Guide

Only if supported. Cover:


8. Programming & Customization (RGB-621-R1)

8.1 Supported Languages

8.2 Flashing

USB-C (Web Serial / CDC)

  1. Connect a USB-C cable from your PC to the module’s USB port.
  2. Enter BOOT mode: press Button 1 + Button 2 together (see photo below).
  3. Flash using PlatformIO or Arduino IDE (serial upload).
  4. When flashing completes, disconnect and power-cycle the module.

Reset: this module does not have a button combo for reset.
To reset, remove 24 VDC power for ≥5 s and re-apply.

PlatformIO / Arduino IDE setup

Buttons reference (RGB-621-R1 front)

Button 1 and Button 2 positions

8.3 Firmware Updates


9. Maintenance & Troubleshooting

9.1 Status LEDs (front panel)

LED Meaning
PWR Steady when powered and firmware is running.
TX Blinks on Modbus transmit.
RX Blinks on Modbus receive.
I.1 / I.2 Reflect isolated input states.
RUN/ERR (if present) Heartbeat / fault pattern (refer to firmware notes).

9.2 Resets & Modes

9.3 Common Issues


10. Open Source & Licensing

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.


11. Downloads


12. Support