Heating System Data Acquisition System

Despite living in an old house with a steam heating system, I'm slightly obsessed with reducing my energy usage. New boiler, upgraded insulation, programmable thermostat...all good things, but do they make a difference? My goal is to find out -- and to find a use for an ancient computer in the process.


The venerable Stylistic 1200, previously used for running a scan program for my pre-OBDII BMW, was chosen here mostly for its wall mount. The little board hanging out of its serial port (remember those?) is a DATAQ DI-194 which I bought for $12 in the early 2000's.

Twelve dollars doesn't buy you a lot of signal conditioning. The quad Darlington opto-isolator (white) interfaces the 24VAC boiler control signals with the single-ended digital inputs on the DAQ. Separate channels detect calls for heat from the thermostat, hot water aquastat, and low-water shutoff. The quad op-amp (black) buffers the outputs of temperature sensors to the DAQ's analog inputs.


The old hardware doesn't give me a ton of modern programming options, but no matter. MS Access 97 has enough functionality to read the DAQ board and record values anytime the boiler's status changes.

To give at least a passing nod to modernity, the computer also goes online every night just after midnight and downloads outdoor temperature data from the nearest PWS (personal weather station) via Weather Underground. (Hopefully that's all it does, though with Win98 one never knows...) Through some code too hacky to admit to, I manage to shoehorn the comma-delimited data into the Access tables.


Analysis so far has been pretty basic. During the debugging phase, these graphs of boiler activity and outdoor temperature over the day help make sure I'm in the ballpark.

Red and blue segments show boiler activity due to heating and hot water respectively. This shows some interesting behaviors -- the boiler tends to heat the house in long, continuous burns (indication of good venting), but cycles on and off many times as it reheats the indirect hot water tank twice a day. This increases wear on components.

To try to gauge the system's efficiency over time (as I insulate the house or experiment with thermostat setbacks), I need to control for varying weather. To so this, I calculate degree days based on a 67 setpoint. This isn't completely rigorous due to timing variations, but gives a reasonable estimate. Here we see a roughly linear relationship during the heating season, with a few outliers.