HomeMaster AIO-422-R1
The HomeMaster AIO-422-R1 is a DIN-rail mixed-signal expansion module for analog sensing and control with RTD temperature inputs. It provides 4 analog voltage inputs (0–10 V), 2 analog voltage outputs (0–10 V), and 2 RTD channels (PT100/PT1000 via MAX31865).
The module is a Modbus RTU slave over RS-485 and is configured via USB-C WebConfig using Web Serial. Configuration is stored in on-device flash (LittleFS) and survives power loss and reboots.
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.
Local logic keeps running even if the network or the Home Assistant server goes down — the controller does the thinking, the server only visualizes.
Quick Overview
- High-precision analog I/O for automation and smart home systems
- 4 × analog inputs (0–10 V) with 16-bit ADC (ADS1115)
- 2 × analog outputs (0–10 V) with 12-bit DAC (MCP4725A0)
- 2 × RTD inputs (PT100/PT1000) with MAX31865 (2/3/4-wire support)
- RS-485 Modbus RTU multi-drop communication (half-duplex)
- USB-C setup and firmware/configuration via Web Serial (WebConfig)
- DIN-rail enclosure with protected terminals (IP20, inside cabinet)
Typical Applications
- 0–10 V HVAC control, dampers, and pump speed interfaces
- Analog pressure/level sensors (0–10 V) and environmental monitoring
- RTD temperature monitoring for boilers, heat exchangers, and tanks
- Industrial cabinet automation and analog telemetry over standard Modbus RTU
- ESPHome + Home Assistant control using Modbus polling on the controller
Tech Specs
| Specification | Details |
|---|---|
| Microcontroller | RP2350A dual-core microcontroller |
| Storage | External QSPI flash (32 Mbit) |
| Power input | 24 V DC nominal; includes reverse polarity protection and surge protection |
| Analog inputs | 4 × voltage inputs, 0–10 V nominal range; ADC ADS1115, 16-bit resolution; input impedance >100 kΩ |
| Analog outputs | 2 × voltage outputs, 0–10 V nominal range; DAC MCP4725A0, 12-bit resolution; recommended max output current 10 mA per channel |
| RTD inputs | 2 × PT100/PT1000 (supports 2-, 3-, or 4-wire); interface MAX31865; 15-bit temperature resolution |
| Communication | RS-485 Modbus RTU (MAX485, half-duplex), non-isolated; TVS surge protection, PTC fuses, common-mode choke, fail-safe biasing |
| USB | USB-C, 5 V logic, ESD protected (configuration and firmware update) |
| User Interface | 4 × front-panel buttons and 4 × user LEDs (plus power, RX, TX status LEDs) |
| Power consumption | Typical 0.2–0.4 W; maximum module power consumption approx. 1 W |
| Terminal type | Pluggable screw terminal blocks, 5.08 mm pitch |
| Wire cross-section | 0.2–2.5 mm² (AWG 24–12) |
| Tightening torque | 0.4–0.6 Nm |
| 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 only) |
| Max altitude / Pollution | 2000 m / Pollution degree 2 |
| Modbus address / Baud | 1–247; typically default address 3 and baud range 9600–115200 (set via WebConfig) |
Installation, Environmental & Mechanical
| Category | Specification | Details |
|---|---|---|
| Terminal Specifications | Terminal type | Pluggable screw terminal blocks, 5.08 mm pitch |
| 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 | |
| Terminal access | Install in a control cabinet; protect against accidental contact | |
| 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) | |
| Max 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, UL94-V0 | |
| Net weight | TBD | |
| Gross weight | TBD + 98 g (packing) | |
| 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 AIO-422-R1 supports flexible integration with:
- HomeMaster MicroPLC / MiniPLC controllers as Modbus RTU masters
- PLC and SCADA systems via RS-485 Modbus RTU
- Home Assistant via ESPHome on the controller (entities from Modbus registers)
- Direct USB-C configuration using browser-based WebConfig
Configuration is saved persistently and restored at power-up.
Quick Setup Process (USB-C WebConfig)
- Mount & Power — mount on DIN rail and connect 24 V DC.
- Connect USB-C — attach USB-C to your PC.
- Open WebConfig — open the WebConfig page in Chrome or Edge.
- Connect Device — click Connect and select the serial device.
- Configure Modbus — set address and baud rate.
- Configure I/O behavior — analog input scaling, analog output setpoints, RTD wiring mode (2/3/4-wire).
- Save & Disconnect — save settings and disconnect USB-C.
The WebConfig tool provides a complete view of the module configuration:
- Connection & setup – Modbus address and baud, status pills, Identify / Factory reset / Reboot, and the serial log.
- Analog I/O & RTD – live AI1–AI4 (0–10 V), AO1–AO2 DAC sliders with power-on policy, and RTD1/RTD2 temperature, diagnostics, wire mode and sensor type (Rref follows the type).
- Buttons & LEDs – map front-panel button actions and user-LED sources (AO thresholds, bus link, RTD fault, etc.).
Register-level and entity mapping details are available in the AIO-422-R1 README.
Minimal ESPHome YAML (Controller side)
Use this on the MiniPLC/MicroPLC (ESPHome). It enables the RS-485 bus and imports a ready-made AIO 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:
aio1:
url: https://github.com/isystemsautomation/homemaster-dev
ref: main
files:
- path: AIO-422-R1/Firmware/v0.2.0/default_aio_422_r1_plc/default_aio_422_r1_plc.yaml
vars:
aio_prefix: "AIO#1" # shown in Home Assistant entity names
aio_id: aio_1 # internal unique id
aio_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.
`aio_address` must match the Modbus address configured in WebConfig.
Documentation
The AIO-422-R1 is open-source hardware. Hardware, firmware, and integration files are available in the HomeMaster repository.
Hardware Design Files
| File | Description | Link |
|---|---|---|
| Field Board Schematic | Analog inputs/outputs and RTD front-end | AIO-422-R1-FieldBoard.pdf |
| MCU Board Schematic | Controller, RS-485, USB-C, power conversion | AIO-422-R1-MCUBoard.pdf |
| Datasheet | Full electrical, mechanical, and compliance summary | AIO-422-R1_Datasheet.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_AIO-422-R1.pdf |
| Datasheet | Technical specifications and electrical characteristics | AIO-422-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 (USB-C Web Serial) | Built-in USB interface |
Connectors & terminal map
Top row (24Vdc | AI 0-10V | AO 0-10V)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | V+ | POWER | 24 V DC input |
| 2 | 0V | POWER | 24 V DC return |
| 3 | AI4 | ANALOG_INPUT | Analog input 4, 0-10 V |
| 4 | AI3 | ANALOG_INPUT | Analog input 3, 0-10 V |
| 5 | AI2 | ANALOG_INPUT | Analog input 2, 0-10 V |
| 6 | AI1 | ANALOG_INPUT | Analog input 1, 0-10 V |
| 7 | GND | ANALOG_INPUT | Common return for AI1-AI4 |
| 8 | AO1 | ANALOG_OUTPUT | Analog output 1, 0-10 V |
| 9 | GND | ANALOG_OUTPUT | AO1 return |
| 10 | AO2 | ANALOG_OUTPUT | Analog output 2, 0-10 V |
| 11 | GND | ANALOG_OUTPUT | AO2 return |
Bottom row (RS-485 | RTD/1 | RTD/2)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | B | RS485 | RS-485 data - |
| 2 | A | RS485 | RS-485 data + |
| 3 | COM | RS485 | RS-485 signal reference |
| 4 | 1 | RTD1 | RTD 1 terminal 1 |
| 5 | 2 | RTD1 | RTD 1 terminal 2 |
| 6 | 3 | RTD1 | RTD 1 terminal 3 |
| 7 | 4 | RTD1 | RTD 1 terminal 4 |
| 8 | 1 | RTD2 | RTD 2 terminal 1 |
| 9 | 2 | RTD2 | RTD 2 terminal 2 |
| 10 | 3 | RTD2 | RTD 2 terminal 3 |
| 11 | 4 | RTD2 | RTD 2 terminal 4 |
Ports & service interfaces
| Id | Type | Note |
|---|---|---|
| USB-C | WebConfig and firmware update |
Housing notes
- Analog inputs are printed in DESCENDING order: AI4 AI3 AI2 AI1.
- Analog inputs share one common GND. Analog outputs have a GND each.
- RTD blocks are four terminals numbered 1-4 with jumper bridges printed between 1-2 and 3-4 for 2- and 3-wire modes.
- No field supply rail. Loop-powered sensors take 24 V from the panel.
- 4-20 mA is read via a 500 ohm 0.1 % shunt across an AI input.
Cabling and Wirings
24 V DC Supply (V+ / 0V)
- Use a regulated 24 V DC SELV supply
- Apply upstream fuse protection according to cabinet rules
- Keep power wiring separated from low-level analog/RTD cabling
Analog Inputs (AI1–AI4, 0–10 V)
Analog Outputs (AO1–AO2, 0–10 V)
RTD Inputs (RTD1 / RTD2, PT100/PT1000)
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.
RTD Field Board Jumpers (RTD1 / RTD2)
RTD configuration jumpers are placed on the field board for each RTD channel. Factory default is PT100 sensor and 2‑wire wiring mode. Use the table below as a reference when changing sensor type or wiring topology.
| Mode | J1 | J2 | J3 | J4 | J5 | J6 | J7 | J8 |
|---|---|---|---|---|---|---|---|---|
| PT100 | — | ON | OFF | — | — | ON | OFF | — |
| PT1000 | — | OFF | ON | — | — | OFF | ON | — |
| 2‑wire | ON | — | — | OFF | ON | — | — | ON |
| 3‑wire | OFF | — | — | ON | OFF | — | — | ON |
| 4‑wire | OFF | — | — | OFF | ON | — | — | OFF |
Cable Recommendations & Shield Grounding
General routing rules
- Route low-level signal cables (analog and RTD) separately from power and high-current conductors
- If crossing power cables is unavoidable, cross at 90°
- Keep cable runs as short as practical and avoid parallel runs with high-current wiring
- Label cables and provide strain relief at terminals
Analog (0–10 V) cable
- Use twisted pair (Signal + AGND) per analog channel
- Use overall shielding for typical installs, or individually shielded pairs for high-EMI environments
- Examples: J-Y(ST)Y (overall shield) or LI2YCY PiMF (shielded twisted pairs)
RTD temperature cable
- Recommended: shielded cable for RTD (PT100/PT1000), using 2/3/4-wire wiring as required
- Shielded pairs are recommended for best accuracy (especially for 4-wire)
- Example: J-Y(ST)Y (overall shield) or LI2YCY PiMF (pairs)
RS-485 (Modbus) cable
- Use twisted pair for A/B (characteristic impedance 120 Ω recommended)
- Prefer shielded cable in industrial/noisy panels
- Use one twisted pair for A/B and a third conductor for COM. COM must be run to every node.
Shield grounding
- Bond cable shield(s) to cabinet PE/EMC ground at the PLC/controller end only by default
- Do not connect shields directly to signal terminals (A/B/COM)
System Architecture & Pinout
Safety and Installation Notes
- SELV circuits: the power input and signal terminals are SELV circuits; install only in an appropriate control cabinet
- Qualified personnel only: installation by trained technicians familiar with analog wiring and industrial control safety
- Protect all module wiring terminals against accidental contact using the required front plate/door
- Do not expose the module to outdoor conditions; the enclosure is IP20 (inside cabinet only)
- Use the recommended cable types (twisted/shielded) to reduce noise and improve analog/RTD accuracy
- Keep analog/RTD cables separated from power and high-current wiring to avoid interference
Compliance & Certifications
The AIO-422-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)
- RoHS Directive 2011/65/EU — EN IEC 63000 technical documentation
- LVD Directive 2014/35/EU — does not apply (SELV-only product powered from 24 V DC, below the 75 V DC LVD threshold; no mains-capable terminals)
- HomeMaster® — registered EU trademark (EUTM No. 019082911, EUIPO, registered 15 January 2025)
Build Guides & Tutorials
Step-by-step projects that use the AIO-422-R1.
Fireplace and solar heating automation where the module's I/O feeds the Home Assistant control loop over Modbus.
Related products
These other products might interest you