Stove Temperature Monitoring with wifi, remote display, and datalogging

  • 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.

Ryan723

Member
Oct 14, 2018
59
Layton, NJ
Hi All,

Long time reader and first time poster. Going onto year 5 with my BK Ashford 30 which I purchased thanks to great info on here. And I've become a much better woodburner thanks to all i've learned here.

In my effort to get better at using my stove, I'd been looking for temperature monitoring options. Not finding any that really fit what I wanted, I decided to see what I could build.

Here is the 'business end' of it sitting on a bench near the stove. This has been on a breadboard for 3+ years and is waiting for me to add the 3rd thermocouple (for the stack) and put it into a better enclosure. It has stainless sheathed wires to a thermocouple on the stovetop under the Ashford's convection deck and another thermocouple in the catalyst probe hole used by the original BK cat thermometer.

I20B53T.jpg

The brains of it is a NodeMCU ESP8266. The 8266 is basically a microcontroller with wifi capability and variety of input-output pins. It can be programmed using the Arduino IDE over a USB connection from your computer.

The sensors are K-Type thermocouples read by MAX6675 chips. These MAX6675's talk directly with the ESP8266 and there are existing libraries to make the coding easy. In 1-off quanties off Amazon (NOT the cheapest way to get parts!), the ESP8266 and the 3 thermocouples and MAX6675s will set you back around $30.

In operation, it starts up and connects to my home wifi accesspoint, and then about every 8 seconds, the NodeMCU takes a reading and posts it to IO.Adafruit.com. This is webservice that allows datafeeds, achives the results, provides a way to make dashboards viewable from a computer, tablet, or smartphone.

Here is a dashboard on IO.Adafruit.com:
stn7hHD.png

The "placeholder for stack" is a copy of the stovetop temp. One of these days, I'll add the Stack thermocouple and update the dashboard.

The top 'gauges' update in realtime as new readings are received. The upper graph shows Stovetop and Catalyst temperatures in the last hour and the bottom graph shows the same over the last 24hrs.

Above, you can see my first fire of the season buring a few odds and ends around 4PM today, which lasted about 4 hours when I reloaded. I added more wood on the reload and kept the thermostatic air control a little higher about an hour before that screenshot (you can see the jump to ~1000F when the cat relit and it started cruising).

Here is the same dashboard viewed on my phone, which works from my home wifi as well as when I'm on the road for work and want to check in on how the stove is burning.
9s9IjKB.png

I wanted a display where I could see the results from the livingroom, so I build a display in a cheap wood pictureframe using some ~0.6" LED segment 4-digit displays.

3sTVHqT.jpg tPbBw2T.jpg

This sits on top a rolltop desk and can be seen from the livingroom, dining room, and kitchen due to my open floor plan.

It works by using another ESP8266 chip to connect to my home wifi and then connecting to my account on IO.Adafruit.com. When the sensor/sender unit uploads a new reading (every ~8 seconds), it gets pushed to the display unit and the values on the LEDs get updated. This is probably about another $25-30 in parts in 1-off Amazon order quantities.

The great thing about the 'display unit' is that as long as it has an internet connection, since the datafeed is on the 'cloud', it can be in my living room, my office across town, or anywhere else in the world with an internet connection.

I'm hesitant to share, as my code isn't streamlined or pretty and is basically just hacked and mashed up example code. But it works for me. And this setup is incredibly stable.

This is my first time doing any kind of 'microcontroller' based projects, and while a little intimidating to jump into, its all pretty straightforward. One thing I've learned is that there are dozens of ways to do any part of this and another way could be a better fit for your needs. But this one is working well for me.

If there is interest, I'll post more details, parts lists, and pros and cons of the setup vs some alternatives, and some next steps I'm considering.

If you made it this far, thanks for reading and I'd love to hear from others who have done anything similar or are looking to!

Ryan
 
Interesting project and great write-up.
Do you have a part number for the thermocouples you used?
Thanks for the information
 
Do you have a part number for the thermocouples you used?

I used 'generic' thermocouples with pretty good results.

My stovetop one is the 'free' one included with the MAX6675 thermocouple reader chip i used.

31eJXTUWFBL.jpg
The one above from Amazon ("Uxcell a12031600ux0144 6.7mm Thread K Type Thermocouple Temperature Measurement Sensor") is my catalyst probe...in the $6-7 range. The spade terminals connect to the MAX6675's srcew terminals.

That chip reads the tiny current created by the thermocouple junction and does the "cold junction" compensation for where the thermocouple leads connect to the circuit. It then converts the current to a temperature and feeds that to the ESP8266 when the code queries that Input-Output.

About once a year, it gets a little flakey. I found this is due to oxidized/burned out bits at the thermocouple junction which is inside that stainless steel thermowell. Cat operating temps are at the upper range of this probe. When this happens, I open the set screw on the thermowell, slide the braided line out, clip the thermocouple wires back an inch or two. Strip and retwist the wires tightly. Reinsert into the thermowell and replace the set-screw. One day i'll buy a better cat thermocouple, but for now, this works well enough for me.

It helps for me if I move the thermocouple junction up a little bit so it isn't right at the base of the thermowell before i set the position with the set screw.

I worry about trends a lot more than absolute numbers, so if it reads 10-15 degrees lower as a result of being a little bit out of the center of the cat's exhaust stream, it doesn't really bother me.

Generally, this combination reads true to room temperature within a few degrees and I would guess is good to a few % at operating temperatures.

Can I post direct links to the amazon products I used? or is that frowned upon on this forum?
 
  • Like
Reactions: John Ackerly
I would pay for a stove top and pipe thermo combo. Especially if has wifi compatibility.
 
  • Like
Reactions: 2fireplacesinSC
Because Amazon posts change in time, I would suggest part numbers that an interested party could query in Amazon. Old posts with dead links won’t help somebody reading this two years from now.
 
Thanks @Ryan723 , I'll check it out, the operating temp range was what I was most interested in. Appreciate the direction.
 
Thanks @Ryan723 ,the operating temp range was what I was most interested in.

Sorry...out of town all week. Here are a few things i've learned about thermocouple operating ranges that will be helpful to anyone trying this:

According to the Amazon posting, the temperature range on the thermocouple I linked is 0-400° C (i.e., up to ~750°F), so by spec, it isn't a great choice for catalyst or eve stove pipe.

That said, the thermocouple itself (i.e., the wires and junction of 2 kinds of dissimilar metals) is a K-type, which is good to over 1300°C.

Usually, it is the insulation and sheilding that will fail on any thermocouple used outside of its rated temperature range long before you burn out the actual thermcouple wires. This obvious has safety implications as well in your home.

The one i linked has a stainless thermowell (closed-end the hollow stainless tube) that houses the thermocouple wire and the wire junction that actually measures temperature.

On my BK Ashford, the thermocouple cable isn't subjected to heat above its range, however that thermowell is, but it can tolerate that. Stainless should be good to ~1700°F or more, depending on type. SO...i'm using it outside of the spec of the complete part, but within what it can actually stand up to...mostly. Eventually the glass insulation within the thermowell degrades near the very tip and starts to cause bad or erratic measurements. That is when I take it out and re-do the junction (1-2 times a season).

To get a full thermocouple suitable for catalyst temperatres, you need to look for something with ceramic or more exotic insulators. Which gets challenging at sizes that fit into catalyst probe openings on most stoves and starts to get away from the cheap/hobbyist range of parts.

The MAX6675 chip is capable of reading a K-type thermocouple up to 1024°C, although many of the commonly available (cheap) ones are knockoff chips (clones not made by Maxim), and may not give the same results all the through that range. Just something to keep in mind is doing a similar project.
 
No worries, thank you for all the great information!
 
Hey again @Ryan723 , question for you....
How do you handle cable routing to your thermocouples located on the stove and cat?
Functionality wise (protection from heat etc) I'm fine with solving, but did you manage to come up with something that looks half decent?
Thanks!
 
How do you handle cable routing to your thermocouples located on the stove and cat?
The BK Ashford's "convention deck" makes it easy to hide the stovetop sensor and wire, with the wire just routed to the back of the stove out of view.

Unfortunately, the cat probe opening is front and center on the Ashford, and I have the probe and wire coming out of it and routed to the back of the stove above the convection deck in a rather obvious way right now.

In the future, I plan to find/make a thermowell for the cat probe that has a right bend at the proper length but doesn't overbend/break to thermocouple wire so I can keep that cable routed under the convection deck too. My whole hearth area is due for an overhaul with a remodel, so this issues doesn't bother me too much right now, but I can see that for others, the current setup wouldn't be ideal.

But I'd suspect other solutions, like the Condar Digital Catalyst Monitor probe would suffer from the same visual appeal issue, too.
 
  • Like
Reactions: Fort Wisers
Just an update post here. I got my third thermocouple installed, so now I have stack temperature too.

I installed my stack temperature probe about ~28" up from the collar, due to not wanting to put a new hole into the pipe until I was sure where I wanted it. This location uses an extra screw hole in the singlewall pipe. So, it certainly reads a bit cooler than if it was 12-18" above the stove.

Here is the sender still in a breadboard. You can see the three thermocouple reader chips on the right. Due to the interface these use, they can share power and ground, along with most of the pins for the data connection to the control IC (the ESP8266). Each thermocouple chip needs a direct line from one of the I/O pins to the chip for the Chip Select (CS) line, which tells the thermocouple reader to send its data on the bus to the ESP8266. This means one can read a few of these MAX6675 thermocouple chips with a minimum number of ESP8266 pins.

TempSender--Breadboard.png

Now that I have this pretty well set, I need to order some perf board and solder it all up permanently and put it in a nicer project box. One day...

A minor update to the code on the sender and the remote display now shows all three readings.

Temp-Display.jpg


I added the stack temperature to the 'dashboard' on the Adafruit-IO cloud platform (free) that I use to log data, send to the remote display, and view data plots. That also lets me check the status from anywhere with an internet connection.

It looks like this from my iPhone:
Mobile--Gauges.PNG

Mobile--Charts.PNG

I typically have one chart showing 1-hour of data, one with 8-hours of data, and one showing 24 hours. I also have a 'long-term' dashboard that plots about 1 month of data, which lets me compare longer-term trends in burning and performance.

If you tap the graph with your finger, it shows the value of each sensor's readings and the time.

Below you can see the BK Ashford nicely cruising along, with the thermostatic control regulating airflow and keeping the stovetop temp and heat output fairly constant. The top graph is 8 hours of data, and the bottom one is 24 hours. On the 24-hr plot, you can see a hot reload last night about 9:50PM where the stack temps rise above the stovetop temps as everything gets going.


Screenshot 2018-11-14 at 7.35.09 AM.png
 
Last edited by a moderator:
This is excellent! I am working on trying to do the same as this.... different hardware. TBD if I am able to. I may come back asking for details to the code you used. good job.
 
  • Like
Reactions: Ryan723
This is excellent! I am working on trying to do the same as this.... different hardware. TBD if I am able to. I may come back asking for details to the code you used. good job.

Thank! Please do reach out if you think i can help! Happy to share code...might even be good incentive to make me document and clean it up a bit more.

Curious, what hardware are you using? There are a LOT of ways to accomplish this. I went for what seemed to me to be the most simple and low-cost, but this is my first project of this type and so I'm very open to new solutions.
 
I have used arduino for a separate data logger project, thats where my computer experience has ended (Its limited)...

I bought hardware similar to the automation project:
https://www.hearth.com/talk/threads/wood-stove-automation-using-the-raspberry-pi.166145/

my goal is to monitor the temp and report it to a local server for remote monitoring. I would like to avoid using a 3rd party service. In the past I have done all the effort in getting something up and running and having the 3rd party change/go away (The energy detective, plottwatt, and eyefi smart cards, in personal experience).

Goal would be for the raspberry pi read the k type thermocouple then host the data for report access over the internet. In theory that is easy... but getting it to make a pretty graph might take more work... My end result would be what you have, except i wouldnt be using a 3rd party site.

My materials:
Raspberry Pi 3 - Model B+
Thermocouple Amplifier AD8495
P1085 ADS1115 16-Bit ADC

However, take that with a grain of salt, all I have done is turn on the raspberry pi.... everything else is a goal...
 
I have used arduino for a separate data logger project, thats where my computer experience has ended (Its limited)...

I bought hardware similar to the automation project:
https://www.hearth.com/talk/threads/wood-stove-automation-using-the-raspberry-pi.166145/

my goal is to monitor the temp and report it to a local server for remote monitoring. I would like to avoid using a 3rd party service. In the past I have done all the effort in getting something up and running and having the 3rd party change/go away (The energy detective, plottwatt, and eyefi smart cards, in personal experience).

Goal would be for the raspberry pi read the k type thermocouple then host the data for report access over the internet. In theory that is easy... but getting it to make a pretty graph might take more work... My end result would be what you have, except i wouldnt be using a 3rd party site.

Ah...good stuff. I was hesitant about a 3rd party 'cloud' data solution, but the plug-and-play libraries for the Arduino development IDE made it easy to use Adafruit's service and then easy to switch if it stopped working or terms of service changed. Data/charting/dashboard was important for me, so i was going to roll my own, but i found Adafruit's to really be pretty good.

I'd love to host locally, but good plotting and then opening up services from inside my network so i can check it remotely has its own headaches & risks.

Looking forward to seeing what you come up with!
 
  • Like
Reactions: begreen
After a curious amount of work I have finally a working prototype. It reads ambient air temp and thermocouple temp. Its not perfect, still at breadboard state, and the thermocouple is still terribly noisy (currently averaged to dampen it), have to fix that (capacitor maybe). but it reads temperature, saves it to a round robin data base, turns it into graphs (data clips out when the machine is off), and serves it up on a website (ip address, only on my LAN, not outside of the house, intentionally for now). but it works.... total cost, about $50, and uses about 0.4 watts of power. Ill take it. lots of work left to do though....
07-thermo-30m.png 05-temp-1w.png 02-thermo-4h.png
 
Last edited by a moderator:
  • Like
Reactions: Ryan723
After a curious amount of work I have finally a working prototype. It reads ambient air temp and thermocouple temp. Its not perfect, still at breadboard state, and the thermocouple is still terribly noisy (currently averaged to dampen it), have to fix that (capacitor maybe). but it reads temperature, saves it to a round robin data base, turns it into graphs (data clips out when the machine is off), and serves it up on a website (ip address, only on my LAN, not outside of the house, intentionally for now). but it works.... total cost, about $50, and uses about 0.4 watts of power. Ill take it. lots of work left to do though....

Great stuff!

Couple ideas for the noisy thermocouple:
I don't know what probe you are using, but check for possible grounding issues between the thermocouple +/- and the shielding and thermowell on your probe.

Have you checked the actual thermocouple junction in the probe? If its a cheaper one and subjected to catalyst-level temperatures, I've burned them out before. When they start to go, measurements really start to bounce around. For me, the fix as simple as sliding the wire out of the probe, cutting back the insulation a little--twisting the pair to make a new junction, and crimping well with pliers. When you push the wire back in and secure with the set screw, I like to make sure the TC junction isn't mashed tight into the tip of the probe--i leave it ~0.25" above the end. Probably not reading the maximum temperature and its a little slower to respond, but it seems to make the probes last much longer at catalyst temperatures. The REAL solution would be to use thicker TC wire and a better junction to survive those temps better, i think.

Lastly, I've had great luck with cheap development boards with (likely knockoff) MAX6675 chips. They're on the order of ~$7 on amazon in quantities of 1. And they do cold-junction temperature compensation and ADC and convert to temperature and send data over 3-pin SPI connection (and you only need one extra pin to add another one to the same bus)....and have Arduino & Pi libraries, so they're super easy to make work with example code.​
 
Last edited:
Hi All,

Long time reader and first time poster. Going onto year 5 with my BK Ashford 30 which I purchased thanks to great info on here. And I've become a much better woodburner thanks to all i've learned here.

In my effort to get better at using my stove, I'd been looking for temperature monitoring options. Not finding any that really fit what I wanted, I decided to see what I could build.

Here is the 'business end' of it sitting on a bench near the stove. This has been on a breadboard for 3+ years and is waiting for me to add the 3rd thermocouple (for the stack) and put it into a better enclosure. It has stainless sheathed wires to a thermocouple on the stovetop under the Ashford's convection deck and another thermocouple in the catalyst probe hole used by the original BK cat thermometer.

View attachment 230905

The brains of it is a NodeMCU ESP8266. The 8266 is basically a microcontroller with wifi capability and variety of input-output pins. It can be programmed using the Arduino IDE over a USB connection from your computer.

The sensors are K-Type thermocouples read by MAX6675 chips. These MAX6675's talk directly with the ESP8266 and there are existing libraries to make the coding easy. In 1-off quanties off Amazon (NOT the cheapest way to get parts!), the ESP8266 and the 3 thermocouples and MAX6675s will set you back around $30.

In operation, it starts up and connects to my home wifi accesspoint, and then about every 8 seconds, the NodeMCU takes a reading and posts it to IO.Adafruit.com. This is webservice that allows datafeeds, achives the results, provides a way to make dashboards viewable from a computer, tablet, or smartphone.

Here is a dashboard on IO.Adafruit.com:
View attachment 230906

The "placeholder for stack" is a copy of the stovetop temp. One of these days, I'll add the Stack thermocouple and update the dashboard.

The top 'gauges' update in realtime as new readings are received. The upper graph shows Stovetop and Catalyst temperatures in the last hour and the bottom graph shows the same over the last 24hrs.

Above, you can see my first fire of the season buring a few odds and ends around 4PM today, which lasted about 4 hours when I reloaded. I added more wood on the reload and kept the thermostatic air control a little higher about an hour before that screenshot (you can see the jump to ~1000F when the cat relit and it started cruising).

Here is the same dashboard viewed on my phone, which works from my home wifi as well as when I'm on the road for work and want to check in on how the stove is burning.
View attachment 230907

I wanted a display where I could see the results from the livingroom, so I build a display in a cheap wood pictureframe using some ~0.6" LED segment 4-digit displays.

View attachment 230908 View attachment 230909

This sits on top a rolltop desk and can be seen from the livingroom, dining room, and kitchen due to my open floor plan.

It works by using another ESP8266 chip to connect to my home wifi and then connecting to my account on IO.Adafruit.com. When the sensor/sender unit uploads a new reading (every ~8 seconds), it gets pushed to the display unit and the values on the LEDs get updated. This is probably about another $25-30 in parts in 1-off Amazon order quantities.

The great thing about the 'display unit' is that as long as it has an internet connection, since the datafeed is on the 'cloud', it can be in my living room, my office across town, or anywhere else in the world with an internet connection.

I'm hesitant to share, as my code isn't streamlined or pretty and is basically just hacked and mashed up example code. But it works for me. And this setup is incredibly stable.

This is my first time doing any kind of 'microcontroller' based projects, and while a little intimidating to jump into, its all pretty straightforward. One thing I've learned is that there are dozens of ways to do any part of this and another way could be a better fit for your needs. But this one is working well for me.

If there is interest, I'll post more details, parts lists, and pros and cons of the setup vs some alternatives, and some next steps I'm considering.

If you made it this far, thanks for reading and I'd love to hear from others who have done anything similar or are looking to!

Ryan
This may not be the correct place to ask but I'm going to anyhow and hope not to disturb anyone to bad. If you can make this apparatus can you make a device that will monitor stove pipe temperature and trigger some kind of alarm if the pipe is getting too hot? I would be willing to purchase such a device or try to make one myself in which I would welcome any advice or ideas I could get from some experienced individuals on this site. Thank you, Weso
 
Fixed the thermocouple.... couldnt get the MAX31855 working, tried 3 all ddnt work, I used the MAX 6675, worked great. I have it measuring temperature and reporting it to a locally accessible web page. really nice to check up on the fire. Its only taken most the heating season to get it working right, but its there... no automation... Below are the last 24 hours.
 

Attachments

  • 04-thermo-24h.png
    04-thermo-24h.png
    23.6 KB · Views: 480
Thanks for sharing. I've been working on a similar project. Mine makes use of Home Assistant, Grafana and Influxdb. It provides the ability to set alarms, sms messages, view real time data and to store and graph data. Below is a sample graph of my Princess going through a few loads on a cold winter's day.
 

Attachments

  • princess.png
    princess.png
    91.7 KB · Views: 513
  • Like
Reactions: mar13
This may not be the correct place to ask but I'm going to anyhow and hope not to disturb anyone to bad. If you can make this apparatus can you make a device that will monitor stove pipe temperature and trigger some kind of alarm if the pipe is getting too hot? I would be willing to purchase such a device or try to make one myself in which I would welcome any advice or ideas I could get from some experienced individuals on this site. Thank you, Weso

I've been developing a device for the past couple years to do just that - it's wifi based with local alarms and mobile apps with alarms, very configurable. getting it through all required testing and certifications (in order to legally sell it) is ongoing and a major pain, but the goal is to have it on the market this fall.
 
  • Like
Reactions: ibrowne and begreen
Great. Keep us posted.
 
Great project! Some commercial manufacturer should offer this as an option. But Ryan, what is your goal here? I may have missed it in the thread, but is there anyway you can match the various temp readings with cleanliness, and understand what the ideal temps are? Love the idea of a alarm for high temps - but maybe also for temps that are too low, so eventually you can have indications to show users how they need to build and maintain fire for optimum performance?

John
 
  • Like
Reactions: 2fireplacesinSC
A low temp alarm on the flue gases would also be beneficial in preventing creosote buildup.
 
I've been developing a device for the past couple years to do just that - it's wifi based with local alarms and mobile apps with alarms, very configurable. getting it through all required testing and certifications (in order to legally sell it) is ongoing and a major pain, but the goal is to have it on the market this fall.

Any progress on getting it to market? Looking to buy soon and would love to see what yours has to offer.
 
  • Like
Reactions: 2fireplacesinSC