Jeroen88 / EasyOpenTherm

OpenTherm library to create thermostat for OpenTherm enabled boilers and HVACs using an OpenTherm controller and an ESP32 or other microcontroller
GNU General Public License v3.0
67 stars 2 forks source link

Electrical isolation of opentherm-controller board is faulty #7

Closed adrienbruant closed 1 year ago

adrienbruant commented 1 year ago

Hi,

I've stumbled upon your project because of a google news recommendation. I noticed that the hardware referenced from the project's readme uses a dual photocoupler which creates a safety risk regarding electrical isolation.

Isolation is provided by separation on each side of the photocoupler. But on said board, there are tracks going around on each side of the photocoupler, which means that you have less than 1mm of separation between the boiler and the microcontroller (distance between pins [2:3] and [6:7]). I don't have the number from the top of my head, but it should be much more! The fix is to use two single photocouplers and rotate one of them. It will also make routing much more straightforward.

You could assume that there is isolation on the boiler side, that the microcontroller is powered by an isolated source, that no one puts their hands where they shouldn't. But are these assumptions always true?

Jeroen88 commented 1 year ago

Hi Adrien, Thank you for your kind suggestion! I do not think there is a problem. The absolute maximum voltage for the OpenTherm bus is 24v and the Vmark is even lower: 15-18v (and Vidle less than 7v). Not taking into account the voltage drops over the components, at 24v the recommended spacing is 0.05 mm for a coated PCB. The actual distance between pad 6 and 7 of the optocoupler is 0.65 mm, 13 times more than the recommended distance. Near pad 2 and pad 3 are traces at 0.2 mm, 4 times more than the recommended distance. Also the voltage here is further limited by the zener diode and the voltage dividing resistors. The maximum current running through the OT loop 23 mA.

adrienbruant commented 1 year ago

Hi Jeroen,

Sorry for commenting on a closed issue, but I'm just going to clarify what I meant, as I think maybe my concerns were misunderstood.

I understand that the provided insulation is good enough for the nominal use case. But electrical safety is not approched from the nominal situation. There are cases where you could find a high potential at the end of the opentherm cables. I'm not saying these cases will be frequent, or that they are your product's fault, but they can happen and when they do, it's best not to fry whatever is at the end of the line. It just jumped out at me that the 5kV of insulation provided by the opto is wasted.

That being said, I understand if you choose to ignore it. It's for DIY projects, it's fine. But maybe keep it in mind for a next iteration.

Jeroen88 commented 1 year ago

Hello Adrien, thanks again for your kind advice! I will think about it...