Craig Miller, W8CR
I have flu fever
Quick recap: Chimney fire almost burned the house down, replaced chimney, installed
thermocouples in flues, plan to use Raspberry Pi to read thermocouples. Done.
OK, the last we left this, Santa did deliver two Raspberry Pi “HATS” that allow one to connect
up to 8 thermocouples. Way to go, Santa! Like a little boy on Christmas morning, I spent
several hours figuring out how to install the hats and wire up the thermocouples.
The hat manufacturer, Measurement Computing, supplied a nice set of libraries and sample
code, online, to get me up and running in short order. I plugged in one board on the Pi.
twisted together a short length of thermocouple wire and connected to one of the four
terminals. They support two languages to talk to the hats, C++ and Python. It’s been years
since I did any C and C++ programming and didn’t know anything about Python. Python,
even though new to me, didn’t require compiling so prototyping applications promised to be
quicker. Looking at the syntax, I concluded it is just like any other programming language,
just has a different accent.
I launched a demo program that reads a single channel. Damned if it didn’t work right out
of the box! My short thermocouple test probe echoed the room temperature rather
accurately, 20 degrees C (68 F to my wife’s dismay). I dipped the probe in an icy beverage,
the display dropped to 0 degrees C, cool, er, COLD!
On down to the basement where the thermocouples were routed during the chimney re-
construction. Two flues, three thermocouples per flue, measuring temperatures at the
bottom, middle, and top of the chimney, and two extra probes monitoring the burn
temperature inside the woodstoves.
200 feet of wire all terminating in the furnace room. I carefully stripped the wires and
inserted them into the screw-down terminals. I set up a small table to rest a computer
monitor and keyboard so I can fiddle on the Pi right there. We’re all hams, so we know the
importance of keeping the wiring and electronic devices secured properly to ensure proper
operation. I ignore those rules:
Since there was no AC outlet nearby to plug in the Raspberry Pi’s power wall wart, I ran an
extension cord into the next room. Everything fired up nicely. Using the same demo
program, I selected a channel to read the temperature. My heart sank when I received and
error: “Common Mode Error”, WTF?
Searching through the manufacturer’s web site, they describe the error meaning abnormally
high voltages are present on the thermocouple wire exceeding the .8 VDC limit. “OH NO!”
what does that mean? I tried another probe, same issue, “NUTS!”
I pulled out a digital voltmeter and found I was getting around 50VDC on the thermocouple
wires, where is this voltage coming from? The wires are not in contact with anything
electrical, in fact, they are buried in the masonry of the chimney. I replaced the power
supply, same issue. I’m dead. When the wires were installed, I didn’t have anything to verify
each line was operating properly, just hoped things would work. This could be a total waste
of time and money.
With nothing else to lose, I unplugged the extension cord and tried another outlet. OMG,
the error is gone and realistic temperatures are coming in! There must be a floating ground
or something weird with the outlet I first was plugged into. I’ll worry about that later but not
too much later – that could be a bad thing.
The Python libraries included examples of strip chart and web server code. This could be
fun! Some more fiddling around I ended up with something that is what I was hoping to
I am able to access the temperatures of both stoves and flues anywhere in the house, pc or
phone via access the web server running on the Pi – slick as snot. In the chart above, the
top red line represents the burn temperature inside the stove, the lines along the bottom
reflect the flue temperatures, I’m sampling every 5 seconds.
An interesting phenomena is observed, the lower probes in the flues show a slightly cooler
temperature than the middle probes. The upper probes cool back off as the gasses exhaust
outside. The flues are rather consistent through out the day. I monitor both stoves all day
long and find this data very useful in notifying me when the stoves need re-feeding – very
So far, so good. I have other features I’d like to implement: logging, high temp alarms,
monitor water heater and other fun stuff. Heating season is almost over, and chimney
cleaning will be on the docket this summer, with camera.
Goal? No more chimney fires and maybe play on the radio some more!