HomeMaster ENM-223-R1
The HomeMaster ENM-223-R1 is a DIN-rail 3-phase energy metering and I/O module for power monitoring and automation. It measures 3 voltage channels (L1/L2/L3-N) and 3 current channels via external CTs, and provides 2 SPDT relay outputs for alarm or control.
The module communicates as a Modbus RTU slave over RS-485 and is configured via USB-C WebConfig (Web Serial). Configuration and logic settings are stored persistently in onboard memory.
Through a MiniPLC or MicroPLC running ESPHome, the module appears in Home Assistant over the native ESPHome API — no MQTT broker, no Modbus register mapping in Home Assistant and no custom converters. Entities are ready to use within seconds, with low latency and no cloud.
Quick Overview
- 3-phase energy metering + relay control module for automation
- DIN-rail form factor with 24 V DC supply
- Voltage sensing: L1/L2/L3-N (mains measurement)
- Current sensing: 3 external CT channels
- 2 × SPDT dry-contact relays for alarms or load control
- RS-485 Modbus RTU multi-drop communication
- Local configuration via USB-C WebConfig
- Optional alarms/warnings/events with button/LED feedback
Typical Applications
- Energy dashboards and building energy monitoring
- Overcurrent / power-quality alarm triggering
- Demand response / staged load shedding
- HVAC and electrical cabinet power supervision
- SCADA / PLC metering input expansion
- Home Assistant via ESPHome on the controller
Tech Specs
| Specification | Details |
|---|---|
| Microcontroller | RP2350A dual-core microcontroller |
| Metering IC | ATM90E32AS (3-phase energy metering / power quality) |
| Storage | External QSPI Flash (W25Q32JV) |
| Power Input | 24 V DC nominal (V+ / 0V) with protection (reverse polarity diode, TVS, EMI filtering) |
| Voltage Inputs | 3 × L1/L2/L3-N + PE sensing, 85–265 V AC (mains measurement inputs) |
| Current Inputs | 3 × CT channels (external current-output CTs); secondary ≤ 60 mA RMS into a 6 Ω on-board burden. Full scale 120 / 60 / 30 mA at PGA ×1 / ×2 / ×4 (default ×2). Do not use 1 A or 5 A secondary CTs. |
| Relay Outputs |
2 × SPDT dry-contact relays (NO / COM / NC). Rated load (system limit): 3 A @ 250 V AC (resistive contact rating). Max load: 750 VA @ 250 V AC, 90 W @ 30 V DC. Relay outputs are not internally fused; external overcurrent protection is required. |
| RS-485 | RS-485 Modbus RTU (MAX485, half-duplex), non-isolated; TVS surge protection, PTC fuses, common-mode choke, fail-safe biasing |
| USB | USB-C (ESD protected), configuration and firmware upload |
| File System | LittleFS persistent configuration storage |
| User Interface | 4 buttons; 9 LEDs (power, 4 user LEDs, RX, TX, relay status) |
| Modbus Address Range | 1–247 (default is configurable; typically 3) |
| Modbus Baud Rate | 9600–115200 (default: 19200, 8N1) |
Installation, Environmental & Mechanical
| Category | Specification | Details |
|---|---|---|
| Terminal Specifications | Terminal type | Pluggable screw terminal blocks, 5.08 mm pitch |
| Terminal pitch | 5.08 mm | |
| Wire cross-section | 0.2–2.5 mm² (AWG 24–12) | |
| Conductor type | Solid or stranded copper | |
| Stranded wire | Ferrules recommended | |
| Tightening torque | 0.4–0.6 Nm | |
| Environmental Ratings | Operating temperature | 0 °C to +40 °C |
| Storage temperature | −10 °C to +55 °C | |
| Relative humidity | 0–90 % RH, non-condensing | |
| Ingress protection | IP20 (inside cabinet) | |
| Maximum altitude | 2000 m | |
| Pollution degree | 2 | |
| Mechanical & Packaging | Product dimensions | 71.5 × 90 × 59 mm (L × W × H) |
| DIN width | 4 modules (4 × 17.5 mm) | |
| Mounting | 35 mm DIN rail (EN 50022) | |
| Enclosure | PC/ABS industrial enclosure (UL94-V0) | |
| Net weight | TBD | |
| Gross weight | TBD | |
| Pack size | 140 × 125 × 94 mm (L × W × H) |
Install only inside a control cabinet with ventilation; the cabinet must include a protective front plate covering all module connection terminals and a closing protective door; not for outdoor or exposed installation.
All wiring terminals must be protected against accidental contact by an insulating front plate, wiring duct, or terminal cover. Exposed live terminals are not permitted.
Home Assistant / Modbus / Web Config Integration
The ENM-223-R1 supports flexible integration with:
- HomeMaster MicroPLC and MiniPLC controllers
- PLC and SCADA systems via Modbus RTU
- Home Assistant using ESPHome (controller side) or a Modbus integration
- Direct USB-C configuration using browser-based WebConfig
Configuration (metering options, calibration/offsets, alarms, relay modes, LED/button mapping) is saved persistently and restored at power-up.
Quick Setup Process (USB-C WebConfig)
- Mount & Power – Install on DIN rail and connect the 24 V DC supply.
- Connect USB-C – Connect USB-C cable to the module.
- Open WebConfig – Open WebConfig in Chrome/Edge.
- Connect Device – Click Connect and select the serial device.
- Configure Modbus – Set Modbus address and baud rate.
- Meter Calibration & Alarms – Select line frequency, scaling, and thresholds per phase.
- Map Relays/LEDs/Buttons – Choose relay control mode and alarm/ack behavior.
- Save & Disconnect – Save settings and disconnect USB-C for field operation.
Typical WebConfig options:
- Modbus address (1–247) and baud rate (9600–115200)
- Line frequency (50/60 Hz) and metering sum mode
- Per-channel gains/offsets (U/I calibration)
- Alarm / warning / event thresholds with optional acknowledgment behavior
- Relay control modes (alarm-controlled or Modbus-controlled) and inversion
- User LED sources (alarms/warnings/events/overrides)
WebConfig provides live meter values and configuration settings (stored persistently).
Minimal ESPHome YAML (Controller side)
Use this on the MiniPLC/MicroPLC (ESPHome). It enables the RS-485 bus and imports the ready-made ENM package.
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
turnaround_time: 100ms
send_wait_time: 250ms
packages:
enm1:
url: https://github.com/isystemsautomation/homemaster-dev
ref: main
files:
- path: ENM-223-R1/Firmware/v0.2.0/default_enm_223_r1_plc/default_enm_223_r1_plc.yaml
vars:
enm_prefix: "ENM #1"
enm_id: enm_1
enm_address: 3 # Modbus address set in WebConfig
refresh: 1d
ESPHome 2026.7.0 raised the Modbus client defaults —
turnaround_timefrom 100 ms to 600 ms andsend_wait_timefrom 250 ms to 2000 ms (PR #11969).At the 600 ms default the bus carries only about 1.5 Modbus transactions per second, whatever the UART speed, because the controller stays silent for 600 ms after every response. Two modules on one RS-485 bus become slow to respond. With three or more, one module can stop being polled altogether — with no timeout and no CRC error in the log.
On ESPHome 2026.7.0 and newer, set both values explicitly as shown above. On earlier releases these were the defaults and the two lines are not required.
`enm_address` must match the Modbus address configured in WebConfig.
Full Modbus register mapping and advanced integration details are available in the ENM-223-R1 README.
Documentation
The ENM-223-R1 is open-source hardware. Hardware and firmware files are available.
Hardware Design Files
| File | Description | Link |
|---|---|---|
| Field Board Schematic | Voltage sensing and CT front-end | ENM-223-R1-FieldBoard.pdf |
| MCU Board Schematic | Controller, RS-485, USB, power conversion | ENM-223-R1-MCUBoard.pdf |
| Relay Board Schematic | Relay output stage | ENM-223-R1-RelayBoard.pdf |
Compliance Documents
| File | Description | Link |
|---|---|---|
| EU Declaration of Conformity (DoC) | Signed EU Declaration of Conformity per Reg. (EC) 765/2008 and Decision 768/2008/EC | DoC_ENM-223-R1.pdf |
| Datasheet | Technical specifications and electrical characteristics | ENM-223-R1_Datasheet.pdf |
Firmware & Software
| Resource | Description | Link |
|---|---|---|
| Firmware Source Code | Firmware and configuration tools | GitHub repository |
| Integration Guide | Setup and configuration documentation | README.md |
| WebConfig Tool | Browser-based configuration interface | Built-in USB interface |
Connectors & terminal map
Top row (24Vdc | CT | VOLTAGE)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | V+ | POWER | 24 V DC input |
| 2 | 0V | POWER | 24 V DC return |
| 3 | - | CT3 | CT3 negative |
| 4 | + | CT3 | CT3 positive |
| 5 | - | CT2 | CT2 negative |
| 6 | + | CT2 | CT2 positive |
| 7 | PE | VOLTAGE_INPUT | Protective earth (MAINS) |
| 8 | N | VOLTAGE_INPUT | Neutral (MAINS) |
| 9 | L3 | VOLTAGE_INPUT | Phase 3 sensing (MAINS) |
| 10 | L2 | VOLTAGE_INPUT | Phase 2 sensing (MAINS) |
| 11 | L1 | VOLTAGE_INPUT | Phase 1 sensing (MAINS) |
Bottom row (RS-485 | RELAY OUTPUT | CT)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | B | RS485 | RS-485 data - |
| 2 | A | RS485 | RS-485 data + |
| 3 | COM | RS485 | RS-485 signal reference |
| 4 | NO | RELAY1 | Relay 1 normally open |
| 5 | C | RELAY1 | Relay 1 common |
| 6 | NC | RELAY1 | Relay 1 normally closed |
| 7 | NO | RELAY2 | Relay 2 normally open |
| 8 | C | RELAY2 | Relay 2 common |
| 9 | NC | RELAY2 | Relay 2 normally closed |
| 10 | + | CT1 | CT1 positive |
| 11 | - | CT1 | CT1 negative |
Ports & service interfaces
| Id | Type | Note |
|---|---|---|
| USB-C | D+, D–, VBUS, GND | Not for field mount |
| LED / BTN Interface | Internal header MCU ↔ Field Board | Service only |
Housing notes
- CT1 is on the BOTTOM row while CT2 and CT3 are on top.
- CT polarity order differs by row: the top blocks read (-,+), CT1 reads (+,-).
- Voltage input descends L3 L2 L1 from right to left.
- Current-output CT only, secondary <=60 mA RMS. A 1 A or 5 A CT will destroy the module.
- Never open a live CT secondary.
Cabling and Wirings
24 V DC Supply (V+ / 0V)
- Power is SELV-rated and supports reverse-polarity protection
- Route power wiring separately from mains and sensor wiring
- Apply terminal strain relief and maintain cabinet segregation
Voltage Inputs (L1 / L2 / L3-N / PE)
Current Transformers (CT1 / CT2 / CT3)
Relay Outputs (NO / COM / NC)
RS-485 / Modbus RTU
Terminal order differs across the HomeMaster range. Always read the silkscreen - do not wire by habit from another module. On this module the order is B-A-COM. Swapping A and B damages nothing but the node will not communicate. COM is required on every node.
All HomeMaster controllers and modules share the same RS-485 front end.
| Item | Value |
|---|---|
| Transceiver | MAX485CSA+T, half-duplex |
| Galvanic isolation | None — the transceiver shares the device's logic ground |
| Common-mode range | −7 V … +12 V referred to the device's own ground (MAX485 limit) |
| Terminals | A / B / COM |
| Surge protection | 3 × SMAJ6.8CA TVS (A–COM, B–COM, A–B) |
| Overcurrent | 2 × resettable PTC, 1.5 A hold, in series with A and B |
| EMI filtering | Common-mode choke on the A/B pair; COM referenced through 1 MΩ ∥ 4.7 nF |
| Idle state | Fail-safe biasing on board — do not add external bias resistors |
| Termination | 120 Ω at the two physical ends of the bus only |
Bus wiring rules — apply to every device on the bus:
- One twisted pair for A/B, 120 Ω characteristic impedance.
- Run COM to every node. Required, not optional: the ports are not isolated, and COM is what bounds the common-mode voltage the transceivers see.
- Prefer one power supply for the whole bus, distributed in star topology. With separate supplies, additionally tie the 0 V references together at a single point.
- Bond the cable shield to cabinet PE at one end only. Never land a shield on A, B or COM.
- Where the bus crosses into a different electrical installation with its own earthing reference — a utility or billing meter, another building, another cabinet's PE system — fit an external galvanic RS-485 isolator at that boundary. The on-board components are transient protection, not isolation, and will not survive a sustained ground-potential difference.
Cable Recommendations & Shield Grounding
General Routing Rules
- Route low-level signal cables separately from mains, relay outputs, contactors, and power wiring
- If crossing power cables is unavoidable, cross at 90°
- Keep cable runs as short as practical and avoid parallel runs with high-current conductors
- Label cables and provide strain relief at terminals
RS-485 (Modbus) Cable
- Twisted pair for A/B (120 Ω characteristic impedance recommended)
- Second conductor/pair can be used as COM (0V reference) depending on the network design
- Prefer shielding for industrial/noisy panels
Shield Grounding
- Bond cable shield(s) to cabinet PE/EMC ground at the PLC/controller end only by default
- Do not connect shields to RS-485 signal terminals (A/B/COM)
- If both ends are in equipotential bonded cabinets, shields may be bonded at both ends using proper 360° clamps
System Architecture & Pinout
Safety and Installation Notes
- Qualified personnel only: Installation by trained technicians familiar with SELV and mains wiring.
- Mixed voltage domains: 24 V DC is SELV; voltage sensing inputs are mains hazardous (85–265 V AC).
- Install inside an IP20 control cabinet and protect terminals using the required front plate/door.
- Respect relay contact system limits (3 A @ 250 V AC resistive) and provide external overcurrent protection.
- For inductive/high-inrush loads: use proper suppression (RC snubbers / TVS as required).
- Use current-output CTs (secondary ≤ 60 mA RMS) — do not use voltage-output CTs (333 mV / 1 V class) or 1 A / 5 A secondaries; observe polarity and shielding to avoid incorrect metering.
- Maintain RS-485 cabling best practices: twisted pair, correct A/B polarity, and bus termination as required.
Compliance & Certifications
The ENM-223-R1 module is CE marked. ISYSTEMS AUTOMATION S.R.L. (HomeMaster® brand) maintains the technical documentation and a signed EU Declaration of Conformity (DoC) available for download in the Documents and Resources section above.
- EMC Directive 2014/30/EU — EN 55032:2015 (Class B emissions), EN 55035:2017 (immunity), tested by Idvorsky Laboratories Ltd. (Job #1648)
- Low Voltage Directive 2014/35/EU — EN 62368-1:2020 + A11:2020, in-house dielectric and isolation testing by ISYSTEMS AUTOMATION compliance laboratory
- RoHS Directive 2011/65/EU — EN IEC 63000 technical documentation
- HomeMaster® — registered EU trademark (EUTM No. 019082911, EUIPO, registered 15 January 2025)
Related products
These other products might interest you

