Skip to Content

ALM-173-R1 Alarm Systems

(0 review)
The ALM-173-R1 is a configurable alarm I/O module designed for intrusion detectionfault annunciation, and local supervision. With 17 opto-isolated digital inputs3 SPDT relays4 user buttons, and 4 configurable LEDs, it provides flexible local alarm logic and seamless integration via Modbus RTU (RS-485). Ideal for security panels, industrial monitoring, and building automation systems.
210.00 210.00

Overview

The ALM-173-R1 is a modular alarm I/O device featuring 17 opto-isolated inputs3 SPDT relays, and local buttons and LEDs. It connects via RS-485 (Modbus RTU) to a MicroPLC, MiniPLC, or any compatible controller, and can integrate with Home Assistant (ESPHome) or SCADA/PLC systems. Configuration is performed through a driverless Web Serial interface via USB-C, using the browser-based WebConfig Tool. The module supports both master-controlled and standalone local logic modes, with configurable alarm groups and acknowledgment logic.

Getting Started

Quick Setup Process
  1. Mount & Wire – Install on 35mm DIN rail, connect 24V DC power, sensors, and relay loads.

  2. Configure – Plug in USB-C, open the WebConfig tool in Chrome/Edge, set Modbus address and I/O mapping.

  3. Integrate – Connect to your controller via RS-485 and start automation.

What You Need
  • ALM-173-R1 module

  • 24 VDC SELV power supply

  • RS-485 cable (twisted pair)

  • USB-C cable for configuration

  • Chromium-based browser (Chrome/Edge)

Web Configuration Steps
  1. Connect USB-C to module and PC

  2. Open https://www.home-master.eu/configtool-alm-173-r1

  3. Click "Connect" and select serial port

  4. Set Modbus address (default: 3) and baud rate (default: 19200 8N1)

  5. Configure input actions, relay mapping, LED modes, and button functions

  6. Settings save automatically to flash

Tech Specs

FeatureDetails
MicrocontrollerRP2350, Dual-core ARM Cortex-M0+
Operating Voltage24 VDC input (SELV)
Digital Inputs17 (opto-isolated)
Relay Outputs3 (SPDT, 16 A @ 250 V AC)
User Buttons4 (configurable)
User LEDs4 (configurable)
CommunicationRS-485 (Modbus RTU)
Configuration InterfaceUSB-C (Web Serial)
Dimensions (W×H×D)157.4 × 91 × 58.4 mm
Operating Temperature0–40°C

Documentation

The DIO-430-R1 is open-source hardware! You can build your own board using the following files:

Hardware Design Files
Firmware & Software
Mechanical Files

All design files and documentation are available in the HomeMaster GitHub repository.

Input and Output

Digital Inputs (17 channels)
  • Opto-isolated inputs with TVS/PTC protection

  • Per-channel settings: EnableInvertAlarm Group (1/2/3/None)

  • Configurable debounce and latching logic

Relay Outputs (3 channels)
  • SPDT contacts (NO/NC/COM)

  • 16 A @ 250 V AC rating

  • Individual enable/invert settings

  • Can follow alarm groups, Modbus commands, or manual override

Alarm Groups
  • 3 independent alarm groups + “Any Alarm” summary

  • Modes: Active-whileLatched-until-acknowledged

  • Local acknowledgment via buttons or Modbus

User Interface
  • 4 Buttons: Configurable for acknowledgment or relay override

  • 4 LEDs: Configurable steady/blink modes, linked to alarm groups or relay state

  • Status LEDs: PWRTX/RX (Modbus activity)


Communication Interfaces

  • Protocol: Modbus RTU

  • Role: Slave device

  • Default Settings: Address 3, 19200 baud, 8 data bits, No parity, 1 stop bit

  • Supported Functions: Read Coils (0x01), Read Discrete Inputs (0x02), Read Holding Registers (0x03), Read Input Registers (0x04), Write Single Coil (0x05), Write Single Register (0x06)

Modbus Address Map
Coils (Read/Write) - Function Codes 0x01, 0x05
AddressNameDescription
00200–00202Relay ONPulse to activate RLY1–RLY3
00210–00212Relay OFFPulse to deactivate RLY1–RLY3
00220–00222Override ONForce relay override
00230–00232Override OFFRelease override
00240Ack AllAcknowledge all alarms
00241–00243Ack Group 1–3Acknowledge specific alarm group
Discrete Inputs (Read Only) - Function Code 0x02
AddressNameDescription
00001–00017DI1–DI17Digital input states
00050–00053Any, G1, G2, G3Alarm group status
00060–00062Relay 1–3Relay state mirrors
00090–00093LED 1–4LED state mirrors
00100–00103Button 1–4Button press status
Holding Registers (Read/Write) - Function Codes 0x03, 0x06
Address RangeDescription
1200–1202Alarm group modes (0=None, 1=Active-while, 2=Latched)
1300–1350Input configuration triplets [enable, invert, group]
1400–1422Relay configuration triplets [enable, invert, group]
1500–1503Button actions
1600–1607LED modes and sources

Home Assistant & ESPHome Integration Guide

Overview

The ALM-173-R1 integrates seamlessly with Home Assistant via ESPHome using the Modbus RTU protocol. This guide covers both quick integration using our pre-built package and manual configuration for advanced users.

Prerequisites

Before starting, ensure you have:

  1. ESPHome device (HomeMaster MiniPLC/MicroPLC or any ESP32/ESP8266 with RS-485)

  2. RS-485 connection between ESP device and ALM-173-R1

  3. 24V power to ALM-173-R1 module

  4. Home Assistant with ESPHome add-on installed

Configure Your ESPHome Device

Add this to your ESPHome YAML configuration:

yaml
# RS-485 Configuration
uart:
id: uart_modbus
tx_pin: GPIO17
rx_pin: GPIO16
baud_rate: 19200
parity: NONE
stop_bits: 1

modbus:
id: modbus_bus
uart_id: uart_modbus

packages:
alm_1:
url: https://github.com/isystemsautomation/HOMEMASTER
ref: main
files:
- path: ALM-173-R1/Firmware/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml
vars:
alm_prefix: "Security Panel"
alm_id: security_module
alm_address: 3
refresh: 1d
Customize Variables
  • alm_prefix: Appears in entity names (e.g., "Staircase Relay 1")

  • alm_id: Must be unique if adding multiple ALM modules

  • alm_address: Set to match your ALM-173-R1 Modbus address (default: 3)

Multiple ALM Modules

For additional modules, duplicate the package block with unique IDs:

yaml
packages:
alm_zone1:
url: https://github.com/isystemsautomation/HOMEMASTER
ref: main
files:
- path: ALM-173-R1/Firmware/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml
vars:
alm_prefix: "Zone1"
alm_id: zone1_module
alm_address: 5

alm_zone2:
url: https://github.com/isystemsautomation/HOMEMASTER
ref: main
files:
- path: ALM-173-R1/Firmware/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml
vars:
alm_prefix: "Zone2"
alm_id: zone2_module
alm_address: 6

Programming

Supported Development Environments
  • Arduino IDE with RP2350 support

  • PlatformIO with RP2350 toolchain

  • MicroPython (community builds available)

Firmware Flashing

  1. Connect USB-C to PC

  2. Hold Buttons 3 + 4 to enter BOOT mode

  3. Hold Buttons 1 + 2 to RESET the module

  4. Upload via:

    • UF2 drag-and-drop to mounted drive, OR

    • PlatformIO/Arduino IDE upload


Pin Mapping (Default Firmware)

Pin NameGPIOFunction
IN1–IN17PCF8574 expandersDigital Inputs 1–17
RLY1–RLY3GPIO8–GPIO10Relay Drivers
BTN1–BTN4GPIO1–GPIO4Buttons
LED1–LED4GPIO11–GPIO14User LEDs
RS485_TXGPIO4RS-485 Transmit
RS485_RXGPIO5RS-485 Receive