The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Yes, you can connect an Arduino to a central-heating system—but never connect an Arduino GPIO pin directly to boiler terminals. The correct design depends on the control interface: a verified dry-contact thermostat input, an OpenTherm digital bus, a 24-V HVAC circuit, or a proprietary or mains-voltage system.
For a simple boiler, the usual architecture is Arduino → electrically isolated relay or approved interface → thermostat input. For a compatible modulating boiler, use Arduino → dedicated OpenTherm interface → boiler. If you want to keep an existing thermostat, an OpenTherm gateway can sit between the thermostat and boiler.
As an Amazon Associate I earn from qualifying purchases.
Identify the boiler interface first
Do not identify terminals from wire colours or from a generic internet diagram. Find the exact boiler model and read its installation manual. Look for labels such as OpenTherm, OT, RT, TA, T1/T2, room thermostat, call for heat, volt-free, dry contact, COM/NO, 24 V, SL, switched live, eBus or EMS.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall| Interface | What it does | Arduino approach |
|---|---|---|
| Dry contact or relay input | Boiler runs when a contact closes | Isolated relay, only after the manual confirms the input type |
| OpenTherm | Two-wire digital communication with a modulating boiler | Purpose-built OpenTherm interface or shield |
| 24-V HVAC | Common in many North American heating and cooling systems | Use a compatible HVAC interface; do not assume OpenTherm compatibility |
| Proprietary bus | Manufacturer-specific communication | Requires a system-specific interface |
| Mains or switched live | Potentially hazardous line-voltage control | Not a casual Arduino wiring project; use a qualified professional |
OpenTherm is a communication protocol for heating appliances, not a simple 5-V signal or ordinary relay connection. The OpenTherm organisation describes it as a system for communication between a heating appliance and room thermostat. Compatibility must still be checked against the exact boiler model, firmware and installer configuration.
#1 Best Overall
- 5V Relay Module: Working Voltage: DC 5V; Maximum Load: AC 250V/10A, DC 30V/10A; Trigger Current of Opto-Isolator: 5mA
- Fault-Tolerant Design: Fault Tolerant Design, Even if the Control Line is Broken, the Relay will not Operate;All Interfaces of Relay can be Wired Out Through the Terminals Directly,Normally Open and Normally Closed
- Optocoupler Isolation:1 Channel Relay Board use Optocoupler Isolation that has Strong Driving Ability and Stable Performance ,The Isolation Circuit Prevent Damages to I / O Port by Relay Switch Current
- Jumper Design: The Relay Module has a Jumper That You Can Set Rather the Unit State Changes with High or Low Signal. Has Screw Terminals for Relay (NC,C,NO) and for Input; Coil +, Coil - and Trigger.
- Wide Application: DC 5V Relay Module Works Well with ARM /PIC /AVR /MCU/Raspberry/CNC Machine/ PS4 etc.
Choose what “connect” means
Monitoring only
The lowest-risk objective is to read information without issuing heating commands. Depending on the boiler and interface, this may include room temperature, set point, flow and return temperatures, boiler status, modulation level, faults and runtime statistics. These values are not guaranteed: OpenTherm data identifiers and features vary between boilers.
Begin by logging sensor data and displaying it on a screen or home-automation dashboard. Test your temperature logic with an LED before allowing it to control the boiler.
Simple on/off heating control
An Arduino can implement thermostat logic when the boiler has a confirmed compatible relay or dry-contact input. The basic rule is:
Recommended Free Tools
Room temperature below target → call for heat
Room temperature above target → stop call for heat
Do not switch exactly at the target temperature. Use hysteresis, minimum on and off times, sensor validation and a maximum continuous-run limit to reduce short cycling and protect against software faults.
Rank #2
- Eight Independent 5 V Relay Channels: Control up to eight separate loads from compatible 5 V microcontroller projects; each channel uses an active-low input and has its own status LED for easier testing and troubleshooting
- Flexible NO/NC Wiring: Each relay channel provides normally open (NO), common (COM) and normally closed (NC) terminals, allowing the load circuit to be wired for normally open or normally closed operation
- Channel Status Indicators: A power LED and eight individual channel LEDs make relay states easier to check during setup and troubleshooting; onboard flyback diodes help clamp relay-coil transients
- Optocoupler-Equipped Input Stages: Eight optocouplers separate the control-input stages from the relay-drive circuitry; use the JD-VCC/VCC configuration required by your project and follow the board documentation for isolated-power setups
- Relay Contact Rating: Each relay is marked for up to 10 A at 250 V AC or 30 V DC under the relay manufacturer’s specified conditions; actual usable load depends on load type, wiring and switching conditions
const float target = 20.0;
const float hysteresis = 0.4;
if (roomTemperature < target - hysteresis) {
callForHeat = true;
}
if (roomTemperature > target + hysteresis) {
callForHeat = false;
}
This is only control logic, not a complete unattended heating controller. Add watchdog recovery, a defined relay state during boot, sensor-failure handling, manual override, frost protection and a local fallback.
Modulating control with OpenTherm
With a compatible modulating boiler, OpenTherm can exchange more information than an on/off relay. Depending on the boiler, the controller may request a heating-water set point and read flow temperature, return temperature, room values, modulation level, status and diagnostics. ESPHome’s OpenTherm documentation lists fields including t_set, t_dhw_set, t_room and t_room_set, while noting that supported values vary.
Do not select temperatures solely because a software component accepts them. Use the boiler manufacturer’s limits and account for the heating emitters. Radiators, underfloor heating, cylinders and combi boilers can require different strategies. Never disable domestic-hot-water or anti-legionella protections without understanding the installation.
Gateway between an existing thermostat and boiler
A gateway preserves the existing thermostat while allowing Arduino to monitor or selectively modify traffic:
Rank #3
- 5V 2-Channel Relay interface board, and each one needs 15-20mA Driver Current
- Equiped with high-current relay, AC250V 10A ; DC30V 10A
- Standard interface that can be controlled directly by microcontroller (compatible with Arduino ,Raspberry Pi, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic)
- Indication LED's for Relay output status
- Size: 50.5mm(L) x 38.5mm(W) x 18.5mm(H)(1.99inch x 1.54inch x 0.73inch)
- Receive a thermostat request.
- Validate and interpret it.
- Forward it to the boiler.
- Receive and validate the boiler response.
- Forward the response to the thermostat.
- Recover safely from timeouts, malformed messages or unsupported commands.
This is the most complex option. A crashed or incorrectly programmed gateway can interrupt the thermostat completely. The original Arduino central-heating project describes gateway, thermostat and monitoring modes, but its example is a maker project—not a finished safety-certified controller.
Hardware for an Arduino heating project
Relay architecture
- Arduino, ESP32 or similar controller
- Room-temperature sensor
- Electrically isolated relay or approved dry-contact interface
- Independent low-voltage power supply
- Enclosure, strain relief and appropriate protection
- Manual override or fallback thermostat
A relay module advertised as “Arduino compatible” is not automatically safe for a boiler. Verify the boiler-side voltage and switching arrangement first. A genuinely volt-free contact is different from a 24-V thermostat circuit, and both are different from mains switched-live wiring.
OpenTherm architecture
OpenTherm is not TTL serial communication. The bus can reach approximately 24 V, so direct connection to a GPIO pin can destroy the board. The Arduino OpenTherm project provides dedicated interface hardware and supports master, slave and gateway modes.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesThe cited Uno/Nano implementation uses specific pins—master output D4, master input D2, slave output D5 and slave input D3—and relies on interrupt and timer resources. Treat these as library-specific details, not universal Arduino requirements. Board choice, logic voltage, interrupts and timer conflicts must be checked against the current implementation.
Rank #4
- Four Independent 5 V Relay Channels: Control four separate loads from compatible microcontroller outputs; each channel uses an active-low input and has its own status LED for easier wiring checks and troubleshooting
- Optocoupler-Equipped Input Stages: Four optocouplers separate the control-input stages from the relay-drive circuitry; use the JD-VCC/VCC configuration required by your project and follow the board documentation for isolated-power setups
- 10 A Relay Contact Rating: Each relay is marked for up to 10 A at 250 V AC or 30 V DC under the relay manufacturer's specified conditions; choose wiring, protection and load types appropriate to the application
- Flexible NO/NC Wiring: Each relay channel includes NO, COM and NC screw terminals, allowing the connected circuit to use normally open or normally closed operation
- Compatible with Common MCU Projects: 5 V control module for compatible Arduino, AVR, PIC, ARM and STM32 projects; package includes one 4-channel relay module, and controller boards, power supplies and load wiring are not included
A safe build sequence
- Document the installation. Record the exact boiler, thermostat, zones, hot-water arrangement, emitters, valves, wiring centre and terminal labels. Photograph existing connections before any alteration.
- Confirm the interface in the boiler manual. Check terminal voltage, polarity, dry-contact requirements, OpenTherm support, links or jumpers, frost protection, pump overrun, hot-water priority and temperature limits.
- Prototype away from the boiler. Use an LED or test lamp to represent the heat call. Simulate sensor disconnection, controller reboot, network loss and a stuck-on condition.
- Start with monitoring. For OpenTherm, query capabilities and log replies before sending control commands. Expect some commands to be unsupported.
- Add fail-safe behaviour. Include a watchdog, sensor plausibility checks, communication timeouts, maximum run duration, manual control and a defined power-loss state.
- Check the final installation professionally. Gas-appliance work, mains-voltage wiring and safety-critical control changes may require a qualified heating or electrical professional, depending on your location.
Safety features your firmware should include
- Sensor validation: reject disconnected, corrupt or physically impossible readings rather than interpreting them as a cold room.
- Hysteresis and timing: prevent relay chatter and short cycling with minimum on and off periods.
- Watchdog: reset firmware that blocks, but also define what the hardware does during and after the reset.
- Boot state: choose deliberately whether heating is off, held, or transferred to a fallback control.
- Maximum run time: stop or escalate an abnormal continuous heat demand.
- Offline operation: retain local schedules and manual control; heating should not depend on cloud access.
- Fallback control: for a household heating system, consider retaining a mechanical or manufacturer-approved thermostat.
Tasmota’s OpenTherm documentation discusses timeouts, unsupported commands and fallback behaviour, and recommends considering a mechanical thermostat for failure protection. The exact response to lost communication remains manufacturer-dependent.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common problems
The boiler does not respond
Check that the exact boiler supports OpenTherm, the correct master/slave role is configured, installer activation is not required, the interface is wired correctly and the command is supported. OpenTherm support on the boiler does not guarantee that every data identifier or command works.
The existing thermostat stops working
This is a typical gateway failure. The Arduino must forward traffic correctly; otherwise it has interrupted the original communication path. Restore the original wiring if necessary and test forwarding with monitoring before modifying messages.
The Arduino resets during a heating call
Define the relay or gateway state during reboot and power loss. Do not assume that the boiler, thermostat or gateway will choose the same fallback you would choose. Test the recovery behaviour deliberately.
Best Value
- Safe, Reliable Power Control
- One circuit, 4 outlets, 2x NC, 2x NO
- Wires to your Arduino, Raspberry Pi, PIC, or other micro
- Takes the place of a relay board. Fully assembled and ready to use.
- Includes surge supression, debounce, safety breaker
The relay chatters or the boiler cycles rapidly
Add hysteresis, minimum on/off times and a stable sensor-reading strategy. If the boiler supports modulation, OpenTherm may be more suitable than repeated full-power switching.
Heating never turns off
Check for a failed or implausible sensor, a stuck relay, software deadlock, a network value that is being treated as authoritative, and missing maximum-run protection. A hardware fallback should be able to remove the demand.
There are several zones or domestic hot water
One relay cannot represent every heating installation. Multiple zones may involve valves, end switches, pumps, boiler demand aggregation and hot-water priority. Combi boilers, cylinders and diverter valves also use different arrangements. Underfloor heating may require mixing controls and lower-temperature management.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Arduino versus a commercial thermostat
| Option | Strengths | Trade-offs |
|---|---|---|
| Isolated relay | Simple and understandable on/off control | No true modulation; terminal type and short cycling remain concerns |
| Arduino OpenTherm | Custom control and boiler telemetry | Timing-sensitive firmware, variable compatibility and DIY maintenance |
| OpenTherm gateway | Keeps the existing thermostat and adds automation | Most failure-prone because it must forward both sides correctly |
| ESPHome/OpenTherm | Useful Home Assistant integration and local dashboards | Requires suitable interface hardware and is not a certified thermostat |
| Commercial thermostat | Compatibility checks, support, polished controls and safety design | Less firmware control and possible cloud, subscription or ecosystem limits |
For example, tado° states that its Smart Thermostat X supports relay or OpenTherm connections and water-based underfloor heating, but compatibility is regional and model-specific. Its compatibility information is available at tado°’s compatibility page. The Google Nest Thermostat is aimed at compatible US-style HVAC systems; Google notes that some installations require a C wire or Nest Power Connector. It should not be assumed to provide native OpenTherm control for a European boiler.
Final recommendation
Choose an isolated relay when the boiler manual confirms a simple thermostat input and you only need on/off control. Choose OpenTherm when the exact boiler is compatible and you want modulation or telemetry. Choose a gateway when retaining the existing thermostat matters and you can engineer robust forwarding and fallback behaviour. Choose a commercial thermostat when household reliability, support, warranty and installation assistance matter more than experimentation.
In every case, Arduino supplies control logic; it does not replace the boiler’s own over-temperature, flame-failure, pressure, pump, frost-protection or other manufacturer-designed safety systems.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

