ESPHome pre-installed
No flashing: connect Wi-Fi, and Home Assistant discovers the controller with every entity ready.
Modbus RTU master in 2 DIN modules
35.5 mm on the rail. Drives a whole bus of HomeMaster modules and third-party Modbus devices.
Runs without the server
The controller thinks, the home server displays. Logic programmed into the MicroPLC runs on the controller itself, independent of the server and the network.
Open hardware
Schematics and PCB files under CERN-OHL-W v2, firmware under MIT. You own the design, not a vendor.
MicroPLC · compact ESP32 DIN-rail controller
A Modbus master in two DIN modules.
Runs a whole bus of HomeMaster modules and Modbus devices, with a fail-safe relay and 1-Wire on board. ESPHome is pre-installed.
Compact ESP32 DIN-rail controller for Home Assistant
ESPHome pre-installed · Home Assistant via the ESPHome API · Modbus RTU master · Wi-Fi
HomeMaster MicroPLC is a compact ESP32 DIN-rail controller with industrial-grade protection on every channel. It takes two DIN modules and does one job well: it is the RS-485 Modbus RTU master at the head of a HomeMaster installation, with 1 relay, 1 isolated 24 V input and a 1-Wire bus on board for the control that belongs next to it.
It runs ESPHome, so the controller and every module on its bus appear in Home Assistant as ready entities — no MQTT broker, no Modbus register mapping. The control logic runs on the device, Home Assistant is the dashboard.
Home Assistant is the main platform, not the only one: with MQTT enabled in ESPHome, the MicroPLC also works with openHAB, ioBroker, Node-RED and SCADA systems.
If you have been looking for an ESPHome DIN-rail Modbus master or an RS-485 gateway for Home Assistant — a protected ESP32 in a cabinet housing instead of a dev board on a breadboard — this is it.
Inputs and outputs at a glance
RS-485 Modbus RTU master
One daisy chain for HomeMaster expansion modules, energy meters, inverters and heat pumps with Modbus RTU.
Fail-safe NC relay
C and NC only, 3 A at 250 V AC. Closed when the controller is unpowered — for loads that must run if the panel loses power.
Isolated 24 V digital input
Dry contact wetted by the module: flow or level switch, alarm contact, wall switch.
1-Wire for DS18B20 sensors
One bus for water, pipe and room temperature, with the sensor supply on the same terminals.
Wi-Fi with an external antenna
SMA antenna connector for metal cabinets; Wi-Fi setup over Bluetooth LE or USB with Improv.
USB-C and real-time clock
USB-C for setup, flashing and logs; PCF8563 clock for time-based rules.
A relay that fails safe
The MicroPLC relay has a normally closed contact. While the controller runs, it decides; if the controller or its 24 V supply goes down, the contact closes and the load keeps running.
Use it for the circulation pump of a wood-fired water jacket, frost protection or anything that must never stop with the panel. For pumps, valves and heaters that must stay off when unpowered, use a module with NO contacts such as DIO-430.
What problems it solves
No cloud, no manufacturer account
Nothing leaves your network. The MicroPLC talks to Home Assistant locally over the ESPHome API — no vendor cloud, no account, no subscription.
No vendor lock-in
Standard Modbus RTU on the bus, ESPHome on the controller, open schematics and firmware. You can repair it from the published schematics and reflash it with open firmware — the design is yours, not a vendor's.
No licences, no certified installer
No configuration software to buy, no licence per project and no certified-installer scheme. Configuration is ESPHome, free and open; any qualified electrician can wire the cabinet.
Start small, grow on the same bus
Begin with the controller and one module, add relays, dimmers, analog I/O, energy metering or leak detection over RS-485 when the house needs them. The controller stays.
Local logic, independent of the home server
Automations written into the MicroPLC run on the controller itself. The home server shows the state and changes settings.
Pump follows the water
1-Wire temperature drives the pump on the relay without a round trip.
Relay holds its state
If the network or the home server is unavailable, the output stays where it is.
Modbus keeps polling
Modules, meters and inverters on RS-485 are still read and written.
Fails safe on power loss
The NC contact closes when the controller is unpowered, so the load keeps running.
Clock on board
PCF8563 real-time clock for time-based rules on the controller.
The relay is closed whenever the controller is unpowered or starting up.
Built for the cabinet, not the workbench
An ESP32 dev board can read a sensor. The MicroPLC is built with industrial-grade protection on every channel, in a DIN-rail housing with pluggable 5.08 mm terminals, so it can be wired and signed off in a panel.
The relay runs far below its contact rating, so the contact does not burn; heavier and inductive loads go through a contactor, as in any professional panel.
CE-marked, EMC tested at an external laboratory.

Optocoupler-isolated relay drive
Logic kept apart from the relay coil.
Varistor on the contact
The relay runs far below its rating: 3 A, contactor above.
Isolated digital input
ISO1212 isolated 24 V input.
TVS and resettable fuse
Plus an EMI filter on the digital input.
RS-485: 3× TVS, 2× PTC
A–COM, B–COM, A–B; 1.5 A PTC on A and B.
Common-mode choke
Surge protection on the bus, not galvanic isolation.
1-Wire protection
ESD and overvoltage protection on the sensor bus.
USB-C ESD protection
For setup, flashing and logs in the cabinet.
MicroPLC or MiniPLC?
Same ESP32, same ESPHome firmware. The difference is what sits on board.
MicroPLC
Head of the Modbus bus, compact
- Relays
- 1 × C / NC (fail-safe)
- Inputs
- 1 digital, 1-Wire
- Analog I/O
- —
- Power
- 24 V DC
- Network
- Wi-Fi
- Width
- 2 DIN modules
MiniPLC
Controller with plant I/O on board
- Relays
- 6 × SPDT
- Inputs
- 4 digital, 2 × PT100/PT1000, 2 × 1-Wire
- Analog I/O
- 4 × 0–10 V in, 1 × 0–10 V out
- Power
- 24 V DC or 85–265 V AC
- Network
- Wi-Fi or Ethernet
- Width
- 9 DIN modules
Choose the MicroPLC when the I/O lives in modules or Modbus devices and the controller only has to run the bus; choose the MiniPLC when relays, analog and temperature inputs belong in one housing.
What you can build with a MicroPLC
One controller at the head of the bus. Loads above 3 A are switched through a contactor.
Wood-fired water jacket
Water temperature on 1-Wire, the circulation pump on the fail-safe relay: if the controller loses power, the pump keeps running. Full build →
Leak protection and water metering
Leak zones, valve shut-off and pulse water metering with WLD-521; the shut-off runs locally on the module.
Head of a HomeMaster system
Relays, dimmers, LED, alarm inputs, analog I/O, leak detection and metering modules on one RS-485 chain, all in Home Assistant through one controller.
Modbus RTU gateway for Home Assistant
Bring RS-485 Modbus RTU meters, inverters and heat pumps into Home Assistant over Wi-Fi, polled locally by ESPHome.
Energy metering for Home Assistant
Three-phase metering with ENM-223 on the bus — or the ready 9-channel kit with a MicroPLC and three meters.
Modbus RTU master for expansion modules
The MicroPLC is the bus master for HomeMaster expansion modules — relays and inputs (DIO-430), AC dimming (DIM-420), LED control (RGB-621), alarm inputs (ALM-173), analog I/O and RTD (AIO-422), leak detection (WLD-521) and energy metering (ENM-223). Each module sits on the same RS-485 daisy chain and appears in Home Assistant through the controller.
Plan the panel and its width in the System Builder.
Set up in two steps — no flashing
ESPHome is pre-installed. Connect the MicroPLC to Wi-Fi with Improv, over USB-C or Bluetooth, from a browser. Home Assistant discovers it automatically — click Add and the controller is there.
Want to change the logic or add modules? Within 15 minutes of power-on, click Take control in the ESPHome Dashboard and save the device key it creates — you need it to move the device to another Home Assistant.
Power: 24 V DC
Technical specifications
| Microcontroller | ESP32-WROOM-32U-N16, dual-core |
|---|---|
| Relay output | 1 × C / NC (normally closed), 3 A @ 250 V AC (module limit) |
| Digital input | 1 × isolated 24 V DC, dry contact, wetted by the module |
| 1-Wire | 1 bus, DS18B20 compatible, +5 V sensor supply |
| RS-485 | Modbus RTU master, half-duplex, surge-protected, not galvanically isolated |
| Network | Wi-Fi with external SMA antenna; Bluetooth LE for Improv setup |
| Power input | 24 V DC; USB-C for programming |
| Real-time clock | PCF8563, battery holder, battery not fitted |
| Controls | 1 button, 6 status LEDs (incl. RS-485 TX / RX, input, relay) |
| Service | USB-C, ESD protected |
| Dimensions | 35.5 × 90.6 × 67.3 mm, 2 DIN modules, 35 mm rail |
| Terminals | Pluggable screw terminals, 5.08 mm, 0.2–2.5 mm² |
| Environment | 0 … +40 °C, 0–90 % RH non-condensing, IP20, indoor control cabinet |
| Weight | 120 g |
| Warranty | 24 months |
Datasheet DS-MicroPLC Rev. B · 2026-09 · Hardware V1.0
What it is not
- Not a plant I/O controller: one C / NC relay (3 A, closed when unpowered) and one input on board — more I/O lives in modules or in the MiniPLC. Above 3 A use a contactor.
- 24 V DC only; no mains input, no Ethernet, no microSD.
- Not for outdoor or unheated cabinets: 0 … +40 °C, IP20.
- RS-485 is surge-protected, not galvanically isolated — fit an isolator where the bus crosses into another installation.
- The real-time clock has no battery fitted; time is synced from the home server or over SNTP.
- No proprietary configuration tool — logic is written in ESPHome (YAML) and Home Assistant.
Documents and downloads
| Datasheet | MicroPLC_Datasheet.pdf |
|---|---|
| EU Declaration of Conformity | DoC_MicroPLC.pdf |
| UK PSTI statement | PSTI_MicroPLC.pdf |
| ESPHome configuration | microplc.yaml |
| Schematics | Schematics/ |
| Full technical reference | README.md |
Wiring and installation
The terminal map, RS-485 bus rules, programming steps, entity reference and pinout are in the technical README:
Build guides
CE: EMC 2014/30/EU (EN 55032 Class B, EN 55035, tested at Idvorsky Laboratories), LVD 2014/35/EU (EN 62368-1), RoHS 2011/65/EU. HomeMaster® is a registered EU trademark (EUTM 019082911). Hardware under CERN-OHL-W v2, firmware under MIT.
Related products
These other products might interest you





