Automating wood stove with Pi

  • Active since 1995, Hearth.com is THE place on the internet for free information and advice about wood stoves, pellet stoves and other energy saving equipment.

    We strive to provide opinions, articles, discussions and history related to Hearth Products and in a more general sense, energy issues.

    We promote the EFFICIENT, RESPONSIBLE, CLEAN and SAFE use of all fuels, whether renewable or fossil.

jotulf45v2

New Member
Sep 22, 2021
21
CT Shoreline
I've posted this on another forum and wanted to share what I had here to help a wider audience. I originally got the idea from this forum so I hope you guys like it.

I'm using a Pi2+B with a wifi dongle running Raspbian Buster on a Jotul F45 v2 wood stove. Stove was installed December 2020 (managed to get the last one!) and Pi was added in January. I heat a ~1300sqft house with a NG furnace but try to offset as much heat as I can with the wood stove. With Covid, I was able to heat almost exclusively with wood last season with wfh, hoping to do the same this season.

The inspiration for this came from when I had to do the break in fires. Going off a magnetic temperature seemed archaic. Being on cast iron I knew it would heat slow, being on a cast iron surrounded by steel would be slower. My biggest paint point was figuring out how big a fire I could make to get the temp up as quickly as possible without it running away from me. Looking at the magnetic thermometer it was always a guess as to when it would peak and start dropping. I had a separate flue probe thermometer that helped but the overall setup wasn't working for me. After the break ins I felt tied to the stove more than I needed to be. Growing up my parents had a Noble stove that was steel that came with our house. I learned how to use it but we didn't follow any sort of science to it. Put wood in, set air low. As long as the fire was going we didn't worry about how hot the stove was. Only how hot the room was getting. Besides not making the stove glow red (there was one time) it was set and forget. With a newer stove I knew that adage was gone and with the increased components inside there's more room for things to break. Dialing in the temperature in real time was something I needed to feel comfortable and after browsing this forum found the idea of using thermocouples to measure the heat. I had a pi but couldn't find a reliable tutorial to use so I took some parts from several sources and decided to create my own post with all I've learned.

The hardest bit was finding a thermocouple board to register the temperature and read from it. I originally browsed hearth.com forum and some people here had success with a pi and a separate maxi board that reads the temp. I tried ordering Max31855 board but it didn't quite work out too well. I didn't like the tutorial, there was too much that could go wrong and you couldn't tell if it was the board that was broken or the code. After scratching my head on why the temperature reading wasn't working, I found this https://pi-plates.com/thermoplate/. Bit pricey but it works really well with node-red (see below). It's also overkill as it has 8 type-k and 4 DS18B20 ports. But you just plug this "hat" into the GPIO and pi automatically reads and powers it properly. No guessing and no wiring involved, it just works.

The probe thermocouple for use with my double wall pipe. There's dozens, this is just what I went with - Amazon product
A surface thermocouple for use with the stove top - Amazon product
After all the hardware was received, I played around with Python to write the code from scratch but I was not patient enough to learn a new language. So I decide to go with node-red as I've heard some things about it and wanted to play with it. It was scary easy, really shines with event driven development. Stove emits a temp, board reads input => do something.

To enable node-red, I followed this https://nodered.org/docs/getting-started/raspberrypi

I installed the following node-red libraries to help

Once it's running, you access it at http://<hostname>:1880. This loads a dashboard where you can drag and drop all the elements to create a workflow and configure them. Each element has various customizations to make, such as transforming data via a custom script. Being a programmer the scripting was easy to pickup and node-red takes the data and passes it along for you.

From the attached photos, node-red-config is the workflow configuration screen. Running node-red creates a workflow design view to drag and drop different event emitters to watch and interact with from my pi. The first image emits a timestamp event every 5 seconds to start the workflow. It then goes to the two thermocouples to read the temperature individually, converts the temp for me, sends the data to chart and goes to a switch where if the temperature is above a threshold, will text me by mapping my phone number to an email address from the carrier I use. The text has the temp of both thermocouples and is set to text me every 5 mins if the temp is above 700*. The chart is set to hold data for 24 hours, allowing me to see the past days performance and especially the overnight temps. I can change the chart to hold more time but I found it to be too noisy and didn't really add much benefit.

node-red-config.png node-red-config2.png

The dashboard screen I can access on my local network. I have an iPad that keeps the browser window open so while I'm in the living room I can view the dashboard at all times. I can also view it on my phone if I'm elsewhere on the property. Still working to make the dashboard available outside my network while I'm away from the house while keeping it secure. But at least I'll get text alerts.
temperature-dashboard.png
pi-plate.png stove-top-temp.png flue-temp.png

The rest are pics of my setup, a pi attached to a pi-plate that reads from two thermocouples on the stove and in the stack. I'm happy with the results. The temps from the magnetic thermometer were too slow to read. Especially having the cast iron jacket I'd get 600* in the flue before the stove top would reach 300*. With this I mostly go off the stack temp and keep it under 650 and wait for the stove top to reach >500. After reading the data for a couple days I found my stove keeps a high temp for ~1 hour and has a high drop off after off-gassing but has a prolonged burn over 4-6 hours. Depending on how quickly I shut off the air and how cold it's outside it can last longer. I try to refill when it drops below 300 as that seems to be the sweet spot for how fast it ignites with the bed of coals. If it gets <200 it takes a bit of effort to restart.

Thanks for the inspiration and I hope this helps someone else.

Side question, from the manual it states to put the stove thermometer left/right of center top but there's 3 spots it can technically be and they're all ~100* difference from each other. There's the outer ring of the stove that doesn't quite fit the diameter of the thermometer, the middle ring area (left of the line in the pic with the stove top thermometer) and the sides of the inner plate (where the thermometer currently sits in the pic). Am I right in where it sits currently? Thanks in advance.
 

begreen

Mooderator
Staff member
Nov 18, 2005
89,681
South Puget Sound, WA
That's a cool project. I lkie the alerts feature. For our stove I ended up getting a wireless Auber so that I could keep track of the stove flue temps remotely in my office. That is not as full featured, but our stove is very predicable in behavior.
As you have noted, the stovetop temp on a cold start is not the best way to regulate the air. An accurate reading of the flue gas temperature is much better. A comparison of temps on a cold start from each location is shown in this thread.

FWIW, I rarely look at stovetop temps, except for an occasional verification if I am switching from softwood to hardwood. I know where the stove will heat up to by the flue temp.
 

jotulf45v2

New Member
Sep 22, 2021
21
CT Shoreline
Thanks! I agree, flue temp is what I use. I kept the stove top just as another metric to have. After installing this I tracked my usage and lowering the air immediately started lowering the flue gas temp but the fire in the firebox was unchanged so it looked like it was still giving off the same heat. Stove top temp also immediately changed but not as fast because of the material. By the time the flue temp lowered ~200* the fire visually started to die down. It was just confirming my belief that going by how the fire looks or relying on magnetic thermometers was not going to be accurate enough to operate this expensive stove I just got.

In the short time I owned this stove, I had two or three run away fires where I had to engage the flue dampener with the air shutoff. I installed it just as a fail safe and only close it when it heats up too much. I have 2 90* bends (one inside, one out) and a 2 story triple wall metal chimney outside the house. Every now and then a wind storm may hit and it'll sound like a jet engine inside the flue. Other than that it drafts well considering how well insulated the house is (no fresh air intake).
 

gleblanc1783

Member
Dec 12, 2013
24
NH
I love all of this. I have 4 PI3's at home and do a lot with home automation. Something like this was on my list of to-dos but seeing an actual parts list I might actually give it a go.

If only we could hook up something to automatically control the air controls based on the read outs of the thermometer!

After trying to do this with new technology it's amazing there are companies that have this nailed down with some old-fashioned engineering.
 

begreen

Mooderator
Staff member
Nov 18, 2005
89,681
South Puget Sound, WA
If only we could hook up something to automatically control the air controls based on the read outs of the thermometer!
Someone actually did this with their PE Super stove several years back using a linear actuator.
 

begreen

Mooderator
Staff member
Nov 18, 2005
89,681
South Puget Sound, WA
Have you read this thread?
Member @WES999 did some cool work on this and had automated his stove too.
 

xman23

Minister of Fire
Oct 7, 2008
2,334
Lackawaxen PA
Stability must be hard. Primary air control is only a small part of it. Wood load is most of what produces the heat. And then there's start up with a cold stove. I agree the stack temp must be the best place to get feedback from.
 

Todd

Minister of Fire
Nov 19, 2005
9,407
NW Wisconsin
I have the same stove and I always follow my flue temps as well. Weather I’m at cold start or reloading once my flue temps (Condar fluegard) reach 400 i start shutting down the air from wide open. Usually go to half way first for a few min and watch the fire and flue temp to make sure it doesn’t stall then I’ll set it to lower setting. The stove top temp lags behind for awhile but will climb up into the 500-700 range depending on where the air is set. Flue temps run 400-600. I didn’t understand where Jotul wants the stove top thermometer placed either so I just put it dead center where it’s hottest anyways.

keep us posted on your temps, good info to compare to mine, thanks.
 

MongoMongoson

Member
Feb 6, 2021
164
Wisconsin
I use the MAX31855 board and have had no issues at all. I am using it for the same purpose, providing as close to real time flue temperatures as I can get. Is there something I should be watching out for?
 

jotulf45v2

New Member
Sep 22, 2021
21
CT Shoreline
Have you read this thread?
Member @WES999 did some cool work on this and had automated his stove too.
I did! I think that was the first post on here that I saw. On my todo list is to create a dedicated display board with the two temps. When the wood pi emits the temp, a 2nd board will read it and use a digital display to show the temps in some sort of frame in the main room using a mqtt service. Node-red integrates very well with this.

I love all of this. I have 4 PI3's at home and do a lot with home automation. Something like this was on my list of to-dos but seeing an actual parts list I might actually give it a go.

If only we could hook up something to automatically control the air controls based on the read outs of the thermometer!

After trying to do this with new technology it's amazing there are companies that have this nailed down with some old-fashioned engineering.
I found this cool project that did just this with an arduino board. I imagine node-red should have a library to integrate with a servo motor to hook up to it. Just need to find a device that can attach to the air handler. Maybe just a wood dowel with a metal component :D
 

jotulf45v2

New Member
Sep 22, 2021
21
CT Shoreline
I have the same stove and I always follow my flue temps as well. Weather I’m at cold start or reloading once my flue temps (Condar fluegard) reach 400 i start shutting down the air from wide open. Usually go to half way first for a few min and watch the fire and flue temp to make sure it doesn’t stall then I’ll set it to lower setting. The stove top temp lags behind for awhile but will climb up into the 500-700 range depending on where the air is set. Flue temps run 400-600. I didn’t understand where Jotul wants the stove top thermometer placed either so I just put it dead center where it’s hottest anyways.

keep us posted on your temps, good info to compare to mine, thanks.
Interesting, I'll try setting the air down earlier. But I wouldn't be surprised if your flue temp was closer to 500 by the time the fluegard thermometer registered 400. I imagine I'm losing more heat than I want to up the stack to get the stove up to temp faster. I burn mixed wood that I find around town so the length of burn isn't always reliable. Mostly maple, hickory, occasionally oak. I have a better pile this year so I'll try following this.

I saw that dead center isn't good because it's the hottest point on the F45. But not really a big deal as you're going off the flue temp anyway. After burning a VC Intrepid II, the size of the stove is a welcome change. No longer need to burn with the door open to burn down long pieces :) Air control is really easy to understand and with real time temp update makes it great to fine-tune. I may have jumped the gun on this post but once burning season starts up in just over a month, I'll post what temps over the course of a day so you can see the trail off. From the pic above that was in March/April I think and you can see the time in between fires where I let it die out during the day and started back from cold the following morning. I was actually burning all bark at that point which is why there's such a sharp jump up and fast cooling afterwards. It still lasted 6 hours :D very efficient stove.
 
Last edited:

Todd

Minister of Fire
Nov 19, 2005
9,407
NW Wisconsin
Interesting, I'll try setting the air down earlier. But I wouldn't be surprised if your flue temp was closer to 500 by the time the fluegard thermometer registered 400. I imagine I'm losing more heat than I want to up the stack to get the stove up to temp faster. I burn mixed wood that I find around town so the length of burn isn't always reliable. Mostly maple, hickory, occasionally oak. I have a better pile this year so I'll try following this.

I saw that dead center isn't good because it's the hottest point on the F45. But not really a big deal as you're going off the flue temp anyway. After burning a VC Intrepid II, the size of the stove is a welcome change. No longer need to burn with the door open to burn down long pieces :) Air control is really easy to understand and with real time temp update makes it great to fine-tune. I may have jumped the gun on this post but once burning season starts up in just over a month, I'll post what temps over the course of a day so you can see the trail off. From the pic above that was in March/April I think and you can see the time in between fires where I let it die out during the day and started back from cold the following morning. I was actually burning all bark at that point which is why there's such a sharp jump up and fast cooling afterwards. It still lasted 6 hours :D very efficient stove.
Yeah I’ve found this stove is very controllable if you start shutting it down at the right time. If I don’t pay attention and let those flue temps get away from me I’ll see major off gassing and 700+ stove top temps and shorter burn times.

I burn mostly Aspen because I have 23 acres of it but still manage 8+ hr burns with it. With better Hardwood you could easily have 12 hr burn schedules With this stove.

Once you get going on posting your temps, I’ll try and post mine so we can compare. I do have an Auber thermocouple somewhere, maybe I’ll install it to get a little better accurac.
 
  • Like
Reactions: jotulf45v2

jotulf45v2

New Member
Sep 22, 2021
21
CT Shoreline
I use the MAX31855 board and have had no issues at all. I am using it for the same purpose, providing as close to real time flue temperatures as I can get. Is there something I should be watching out for?
If you got it to work, not at all. I'm not very handy at soldering so I just had it hooked up to a breadboard at the time. Pi wasn't reading the values (loose connection or bad board). Not to mention Pi's maxi tutorial was dated and left a lot of gaps to fill in so I wasn't confident in the setup. After switching over to node-red I don't think I can go back to manually programming a board. The tool makes designing workflows easy and lets you focus on the outcome more than the code. It also allows for custom scripting so if you wanted to interact with a maxi board you can write your own node-red code and inject it into the workflow. I exported and backed up my setup so if my pi dies, I can buy a new one and import the workflow with zero additional work. I guess the benefit is leveraging node-red more than anything.
 

MongoMongoson

Member
Feb 6, 2021
164
Wisconsin
If you got it to work, not at all. I'm not very handy at soldering so I just had it hooked up to a breadboard at the time. Pi wasn't reading the values (loose connection or bad board). Not to mention Pi's maxi tutorial was dated and left a lot of gaps to fill in so I wasn't confident in the setup. After switching over to node-red I don't think I can go back to manually programming a board. The tool makes designing workflows easy and lets you focus on the outcome more than the code. It also allows for custom scripting so if you wanted to interact with a maxi board you can write your own node-red code and inject it into the workflow. I exported and backed up my setup so if my pi dies, I can buy a new one and import the workflow with zero additional work. I guess the benefit is leveraging node-red more than anything.
OK, thanks. I looked at using node-red before I wrote my application in Python/Tk. I didn't know either before I started, but to me Python makes more sense than node-red. I have a lot of experience writing code, and once you really know a language learning another is pretty quick and easy. I have quite a bit of Java and Perl experience and I feel like those both relate well to Python.

For a backup, I just have an image of my microSD. If my Pi dies, I get a new microSD (which is the part that is most likely to die), write the image and boot it up again.
 
  • Like
Reactions: jotulf45v2