The ALM-173-R1 is a standalone, RP2350-based Modbus RTU I/O module designed for alarm logic, fault monitoring, access control, or any automation system that needs grouped inputs and relay outputs.
Key Specs:
- 17 opto-isolated digital inputs (for dry contacts like door/PIR/fault)
- 3 SPDT relays (siren, strobe, lock, etc.)
- 4 front buttons (acknowledge, override)
- 4 user LEDs (blinking or steady indicators)
- Group logic: momentary or latched (per group)
- RS-485 Modbus RTU interface
- WebConfig via USB‑C (Web Serial, no app)
- 24 VDC power, DIN-rail mountable
Real Use Cases
- The ALM-173-R1 works great as:
- Zone alarm panel (e.g. intrusion/fire)
- Access controller with door supervision
- Equipment room annunciator
- Smart Home I/O interface (via Home Assistant)
With built-in group logic, it can:
- Trigger relays when inputs go active
- Blink LEDs based on alarm states
- Acknowledge alarms via button or HA
- Mirror states over Modbus to PLC/HA
IN1 = door contact → Group 1 → Relay 1 = strobe → Ack by Button 1 or via HAHow to Configure It?
No software install required. Just connect USB-C and use your browser.
Quick Setup:
- Connect USB-C to your PC
- Open: WebConfig Tool
- Configure everything in-browser:
Modbus ID, baud rate:
Inputs → groups (with invert, debounce)
Alarm logic per group
Map relays, buttons, and LEDs:
- All from a clean Web Serial UI
- Live device status preview
- All settings stored in flash memory
The ALM-173-R1 integrates natively with ESPHome and Home Assistant.
Wiring:
- Connect ALM to MiniPLC/MicroPLC over RS-485 (A/B/COM)
- Set Modbus ID (e.g. 5) via WebConfig
ESPHome YAML Snippet:
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
ref: main
files:
- path: ALM-173-R1/Firmware/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml
vars:
alm_prefix: "ALM#1"
alm_id: alm_1
alm_address: 5
refresh: 1d
Home Assistant sees:
- Inputs IN1–IN17 as binary sensors
- Alarm states: G1, G2, G3, and Any Alarm
- Switches for relays, acknowledge, and override
- Live mirror states: LEDs, buttons, relays
✅ No HA add-ons required
✅ ESPHome does all the work
✅ Scalable with multiple ALMs (just use unique addresses)
Custom Firmware & UpdatesThe ALM-173-R1 is built on the RP2350 dual-core MCU and is 100% developer-friendly.
Supports:
- Arduino IDE
- PlatformIO
- C/C++ SDK
Update via USB-C:
- Press Buttons 1 + 2 = Boot mode
- Press Buttons 3 + 4 = Hardware reset
- Flash via Arduino/PIO
This project is open hardware + open firmware:
Schematics: https://github.com/isystemsautomation/HOMEMASTER/tree/main/ALM-173-R1/Schematics/
Firmware: https://github.com/isystemsautomation/HOMEMASTER/tree/main/ALM-173-R1/Firmware/
Web Serial: https://github.com/isystemsautomation/HOMEMASTER/tree/main/ALM-173-R1/Firmware/ConfigToolPage.html
No cloud dependency — everything runs locally and transparently
Comments