Rolling your own furnace controller

replacement-thermostat

[Viktor's] found an opportunity to put his embedded design skills to use when the furnace controller in his building went out. He admits it would have been much easier to just purchase a replacement, but not nearly as fun. Instead he built this furnace controller based on a PIC 18F4550.

First off, you may find it strange that we’re calling this a furnace controller and not a thermostat. But a study of the hardware schematic reveals that the device doesn’t have the ability to sense temperature. It merely switches the furnace on and off based on a time schedule. We guess this is for an apartment building where measuring the temperature at one central point doesn’t suffice?

At any rate, the build is clean and the UI looks quite easy to use. Inside there’s a board-mounted 12V relay which controls the furnace. The schedule is saved to the EEPROM of the microcontroller and time is kept by a battery-backed DS1307.

We’d love to see this extended in the future. Some possibilities would be adding internet connectivity and implementing a mesh network of temperature sensors which would give feedback to the main unit.

Comments

  1. Dave says:

    This is kind of dumb. Wouldn’t the largest reason to do this be to implement a configurable PID loop with temperature feedback? Maybe some loop adjustment/prediction based on outside temperature? Some other random building-specific feature? Most temperature controllers that do reasonably advanced stuff are very expensive compared to normal thermostat so I could see someone doing this. I was tempted to when setting up a boiler system with multiple zones and thermostats controlling them.. And if there was a way to get analog temperature feedback from those t-stats back to the boiler control i would have. Even those basic off-shelf parts have some basic safety features which he may or may not have added, they aren’t mentioned. Hopefully covered in the heater controls that weren’t replaced.

    What he has there could be replaced with a 555 timer.

  2. Dan says:

    I think this is good progress.

    He replaced a broken part with a working part. He included the features needed at the time. While an all bells and whistles unit might be slightly better this device is now working as designed.

    Sometimes simple is better, and it sure beats an on and off switch.

    ” I was tempted to when setting up a boiler system ” When you have done this then please post pictures and we can berate your design.

    It’s the definition of a hack and a great writeup with photos to boot.

  3. Graham M says:

    It’s a central heating timer, not a furnace controller or thermostat. Presumably the existing system already has one or more thermostat(s) somewhere and he only needed to replace the timer. Thus a combination of the new timer and existing thermostat(s) would control the temperature.

  4. xorpunk says:

    When I was in the states I did this off a single IC in my manufactured home that used a 2 unit water heater and a external AC unit. There is actually an ISO or something for it.

    Factory controllers use the ISO and have gates to multiplex units.. It’s actually only voltage drop..

  5. RussWill says:

    Well, I don’t know what you all read. But for a “Programmable Timer Switch”, I thought it was all good! I wonder about the “furnace controller”.

  6. Joe says:

    I think point #1 was to replace what was there… then he can worry about feedback based on outside temperature, aggregating several interior temperatures, etc…

    My guess is that this is a gravity steam heating system with individual valves to allow more or less steam into individual radiators. These are not models of efficiency by any means–they were designed for an era when you literally started a coal fire and constantly fed it. When people moved to gas/oil fuels with the ability to control the boiler being on/off it just wasn’t worth it to start tearing things out so they kept getting used.

    I do think some feedback would make sense, based on external temperature and on some central internal temperature. Probably they are working toward making sure the coldest part of the building remains in the upper 60s, at the expensive of the hotter parts of building being in the upper 70s and people opening windows.

  7. n0lkk says:

    clearly this can’t be duplicated(as suggested) by a single 555 timer IC. Maybe that easily field programmable 555 that can drive a display can. :) Where this will connect to the same control lines the old timer was, wouldn’t be reasonable to assume that, internal to the heating system safety features, are not affected? The only downside that I can think of is shared with all custom control. When you have it working as planned, you should set out immediately to build as least one duplicate to set back for if/when the original fails

    • xorpunk says:

      Anyone who actually wants to do this, there are ICs with thermostats in them and GPIO and FLASH storage. You only really need 3-4 controllable relays and needed stepping for residential furnaces.

      All furnaces use 24VAC and 1-2 stage heating and cooling circuits. Commercial units have more stages.

      It’s actually pretty simple, you close circuits based on thermal feedback. I’d put a fuse and/or heavy capacitor on it too…

      • Dan says:

        “All furnaces use 24VAC” except in Europe where 220-240VAC is mostly universal

        • xorpunk says:

          Most of Europe has isolated boilers, and on newer and upgraded homes they have small central units with mounted vents, with a three wire interface. Apartments use boilers that are manually switched.

          • Graham M says:

            Unless you’re in the UK, in which case a wet system is fairly normal, and switching is done at mains potential.

          • xorpunk says:

            The apartment I’m in, in rural northern-eurpope, uses a non-reserve mains industrial heater for a radiator based heating system to all apartments; sinks and showers/tubs use mains independent boilers.

            These systems are super simple and can be controlled easily using relays and GPIO no matter the polarity.

            I was actually going to do a linux(for the UI) system for my water heater and furnace when I was in the states using gumstix and a single IC+relay board.

            PS: wet systems are idiotic IMO.. energy star electric units costs 3/4 for each resident..

  8. Wow a home made furnace controller, I am pretty sure i will not be able to make one of those on my own (not a techie). Patent it if you can, produce and sell it for cheap price.. lol.

  9. Maud AC says:

    That’s very creative and think would have took a lot of time to put together. But i am still wondering why you chose PIC 18F4550, since most of these controllers these days dont work on PIC 18F4550. But, i could be wrong.

    — Maud

  10. j says:

    Yes, but still this idea work for controlling the temperature. It seems like this idea is bit creative and working fine for controlling a furnace.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 91,297 other followers