Hacking into my gas condensing boiler

in #steemstem7 years ago (edited)

I finally finished my most recent prototype to connect digitally to my gas boiler. Here it is:

P1060068.JPG

I have worked on this little project very intermittently. I started with the idea about 5 years ago to automate our domestic heating. The boiler allows setting the time at which it heats. My original idea was to make this available on internet to be able to control this remotely. For example preheat the house or turn it off. I also installed valves centrally which allow me to control the radiators. Add to that a temperature monitor in every room and the heating can be controlled very optimal. That would be good for the environment and financially interesting. But first of all fun an interesting to make myself.

A lot of dreams and in the meantime IOT and technology has caught up and implemented some of my initial ideas. But that can never beat the fun of doing it yourself. The first part of the project is off course making a connection with the boiler. There is a proprietary connection that allows serviceman check and control certain parameters of the boiler.


Source: www.wolf-online-shop.de

The connection consists of two special LEDs. On green LED which is also an infrared emitter. And one red LED which also serves as an infrared receiver. The red / green obviously serve an indication function to the user while the IR part is used for an optolink interface. The embedded 'V' is used to fix the adapter mechanically. The brand name is Viessmann, hence the 'V'.

Some Germans took the time to reverse engineer the thing back in 2007. In the meantime several variants of the protocol as well as parameters for the several boilers haven been described. Too bad the information is only available in German. Several self built adapters have been described on the site but most of them convert to USB which is not interesting to my project. I want a pure RS232 connection to connect to a microcontroller. If I want to I can still use a RS232 to USB adapter.

The big challenge I set to myself was to make the adapter small enough so it would fit on my boiler nicely. The area where the cable connects (the red area in the image bellow) is slightly lower than the surrounding area.



Source: www.tga-fachplaner.de

For a stable connection it is important that no IR light leaks to disturb the reception. It took me a few iterations but I’m happy with the result.

P1060066.JPG

First raw prototype for the proof of concept

P1060067.JPG

First PCB design. Forgot some decoupling capacitors (red arrows), cable attachment point not optimal

P1060068.JPG

P1060069.JPG

Final PCB, front and back

Next story will be about the 3D printed enclosure for the PCB. If you’re interested in the PCB’s or schematics feel free to contact me. I'm planning to opensource them anyway once I get it finished.

If there's interest I'm willing to blog in more detail about the designing and making of this PCB. Feel free to respond. I'm trying to get in touch with whoever can make a blog entry about this on the German site to opensource the schematics and PCB. I think it would be good to have it close to the other designs. Waiting for their input atm.


Proud minnow, eager to grow.

Sort:  

wow, awesome project, congratulations!!
It took me a moment to understand - please correct me if I got it wrong: The IC on the PCB is 'just' a switch to translate the RS232 signals into the appropriate levels for the optical components (in both directions). The microcontroller you mentioned will then be connected to the RS232 cable as a separate board.
Is there already a uC implementation for your specific boiler model available, or are you going to take German courses and do it on your own? ;)

You got it right. It's a converter that converts the infrared communication to rs232. There are some implementations for Linux (pi variants etc) but no real microcontroller implementatios I know of. The protocol is not too hard though. I'll add a link to the German site. I forgot that. I speak a bit of German and code/schematics/specs are sometimes in English.

sounds doable, indeed. Do you already have move precise plans on the hardware selection and the firmware functionality for the microcontroller board?

Well, since I have been busy with this idea since so long the available boards have changed too much. I'm thinking something simple with a wired Ethernet. Probably some AVR or ARM. Not sure yet. No Linux board, something bare metal.

Calling @originalworks :)
img credz: pixabay.com
Nice, you got a 2.2% @minnowbooster upgoat, thanks to @jefpatat
Want a boost? Minnowbooster's got your back!

The @OriginalWorks bot has determined this post by @jefpatat to be original material and upvoted it!

ezgif.com-resize.gif

To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!

To enter this post into the daily RESTEEM contest, upvote this comment! The user with the most upvotes on their @OriginalWorks comment will win!

For more information, Click Here! || Click here to participate in the @OriginalWorks sponsored writing contest(125 SBD in prizes)!
Special thanks to @reggaemuffin for being a supporter! Vote him as a witness to help make Steemit a better place!

Qurator
Your Quality Content Curator
This post has been upvoted and given the stamp of authenticity by @qurator. To join the quality content creators and receive daily upvotes click here for more info.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Jef Patat from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.032
BTC 60972.25
ETH 2632.93
USDT 1.00
SBD 2.57