Skip to Content

AIO-422-R1 firmware v0.2.0 — RTD correction, AI3/AI4 fix, and a faster Modbus map

July 31, 2026 by
AIO-422-R1 firmware v0.2.0 — RTD correction, AI3/AI4 fix, and a faster Modbus map
ISYSTEMS AUTOMATION, Dmitry Drezyulya

Firmware v0.2.0 is now the current release for the HomeMaster AIO-422-R1 analog I/O and RTD module. Update if you run v0.1.0 — two corrections change the values you see on the terminals and in Home Assistant, without asking you to reset settings.

AIO-422-R1 WebConfig — connection and Modbus setup

Why update

RTD reference resistor is derived from the sensor type

On v0.1.0 the RTD reference resistor could be set freely (200 / 400 / 2000 / 4000 Ω). That choice could disagree with the on-board jumper. A module whose stored configuration held 200 Ω with a room-temperature Pt100 reported roughly −117 °C.

In v0.2.0 the free choice is gone. Rref follows the sensor type: PT100 → 400 Ω, PT1000 → 4000 Ω, matching the jumper. The firmware corrects a stored 200 Ω value on first boot — you do not need a settings reset.

AI3 and AI4 were swapped

Field terminals AI3 and AI4 are crossed on the board. v0.1.0 reported them the wrong way round. v0.2.0 maps HREG 142/143 and the WebConfig cards to the wired terminal. If you relabelled Home Assistant entities to compensate, revert those labels after updating.

AIO-422-R1 WebConfig — analog I/O and RTD

More button actions and LED sources

Button actions grow from five to ten: manual flag toggle; AO1/AO2 on/off; AO1/AO2 on/off restoring the last level; AO1/AO2 ±10 %; all AO off. Values 3 and 4 changed meaning in a backward-compatible way — stored configurations remain valid.

LED sources grow from five to eleven: the four AO edge indicators, plus bus link, RTD1 fault, RTD2 fault, AO1 active, AO2 active, and hardware fault.

AIO-422-R1 WebConfig — buttons and LEDs

For integrators: one Modbus poll block

Live state is now a contiguous input-register block. The old FC02/FC03 addresses still work; the block is additive.

IREGContent
0Buttons 1..4 (bit0..3)
1LEDs 1..4 (bit0..3)
2Status flags (bit1 Link OK, bit3 Config dirty)
3Fault mask
4..5RTD1..2 temperature (°C ×10)
6..9AI1..AI4 (mV)
10..11AO1..AO2 raw state (0..4095)
200..204Identity (model, firmware, map version)

The ESPHome package reads everything in one FC04 @0 count=12 per second (update_interval: 1s, command_throttle: 0ms). Analog outputs are write-only on HREG 200/201; displayed state comes from IREG 10/11.

Other firmware changes

  • Modbus loop is no longer blocked by sensor reads
  • DAC values written over Modbus are clamped to 12 bit (0..4095)
  • Buttons debounced at 30 ms
  • LED physical and logical state separated so Identify no longer corrupts manual LEDs
  • HM_MAP_VERSION is derived from the firmware version (0x0020 for v0.2.0)

How to update

  1. Download the UF2 from the config hub or the repository.
  2. Flash over USB-C (BOOTSEL), then open WebConfig v0.2.0.
  3. Point the ESPHome package path at AIO-422-R1/Firmware/v0.2.0/default_aio_422_r1_plc/default_aio_422_r1_plc.yaml.

Full register map, entity list and upgrade notes are in the AIO-422-R1 README.

in News
Firmware update: encrypted API and a provisioning window for MiniPLC, MicroPLC and OpenTherm Gateway