I'm currently trying to create an interface between my Arduino-compatible (NodeMCU) and my OpenTherm boiler. OpenTherm is a protocol used by some boilers (mainly in Europe) which allows for the control of boiler temperature and other things like the boiler state; this is usually done by a stand-alone OpenTherm-compatible thermostat wired into the boiler. The protocol allows you to send and receive information from the boiler. However, the protocol operates on AC, and at a much higher voltage than an Arduino, thus, an OpenTherm to TTL levels adapter is needed

I've found myself upon this tutorial which seems to be the only one available relating exactly to what I am trying to accomplish. The writer of the article has made an Arduino Library which allows for the Arduino to communicate directly with OpenTherm via this circuit:

enter image description here

X1 & X2 are the Opentherm wires (doesn't matter which); the IN and OUT go directly into the Arduino's GPIOs. Finally, the VCC goes to Arduino 3.3 or 5v and the GND to Arduino ground.

Whilst the circuit does function perfectly, I felt that this was slightly overcomplicated as it involved numerous different components like multiple diodes. This would require the purchasing of a wide range of components which is not desired. As a result, I did some more digging and found myself upon this question on the forum. Whilst the question is not the same as mine, the top answer notes that:

• any of these parts will the same or better job.

What was linked was optotriacs. The answer also states that:

That circuit provides a DC current shunt to an AC rectified source and series load from a 24Vac furnace transformer. All it has to drive is a logic driver to activate the furnace, the same way a reed relay might work.

Now, whilst it does seem that the original poster of the question asked for more clarity on how exactly the optotriacs could be used in this situation, I feel the person answering does not give a sufficient enough answer for the skill level of the person asking.

Similarly, I am not super skilled with electronics and found the explanation of the proposed solution rather lacking. As a result, I am asking this question.

My question is: How can the above circuit be replaced with a simpler solution? Is all that circuitry required to allow the communication from 5v DC to 24v AC and back? The answer linked above mentions optotriacs, how could they be used in this situation to simplify the circuit?

Best, John

P.S. The NodeMCUs logic voltage is 3.3V

  • 2
    \$\begingroup\$ I'm not sure I follow what exactly you're trying to do here. Do you recognise that the circuit you're wanting to "simplify using optoisolators" already uses optoisolators? If so, are you wanting to add more somehow? And how do you anticipate that helping? I don't understand what this circuit is meant to do, either, though, so perhaps it's obvious to someone who can see what it's meant to do and I'm just not seeing it. \$\endgroup\$ – Hearth Feb 14 at 23:05
  • 2
    \$\begingroup\$ Can you edit your question to make it very clear what the real question is? Are you trying to sense 24 V AC signals from the boiler or switch 24 V AC signals to the boiler or both? Your text mentions opto-triacs but the schematic shows transistor opto-isolators. Which is it? \$\endgroup\$ – Transistor Feb 14 at 23:07
  • \$\begingroup\$ @Transistor Hopefully the edits I have made add some clarity to my question. \$\endgroup\$ – John Greeny Feb 14 at 23:21
  • 1
    \$\begingroup\$ All linked scematics are almost exactly the same. I don't understand the question. And you can't remove any of the components + optotriacs are not optocouplers, also no simplification can be realized with use of optotriacs. \$\endgroup\$ – Marko Buršič Feb 14 at 23:25
  • \$\begingroup\$ @JohnGreeny, i think that you are misunderstanding what the circuit actually does ..... the circuit sends voltage signals to the boiler ..... the boiler responds by sending current signals ...... also, why would you ask your first and third questions if you do not know the answer to your second question? \$\endgroup\$ – jsotola Feb 15 at 1:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.