FireControl - Use an Arduino with K-type thermocouple probes to get the temperature of a wood stove and move the air intake slider as needed with a servo to keep the stove at an optimal temperature determined by the PID_v1 library. Controllable via the Arduino IoT phone app and web, with a simple IR remote control as well.
Bottom line: If you have a wood stove and like to keep an eye on how it's running and avoid overfire, build something like this. Yesterday.
Version 1 last year used Adafruit thermocouple boards and an Arduino Mega from an Elegoo kit. It used the Blynk UI. This ran the whole winter in breadboard form.
Version 2 this year uses a PlayingWithFusion dual thermocouple board and a Nano 33 IoT. I moved to the Arduino IoT Cloud GUI, as Blynk tended to block code execution and required a reboot of the Mega when there were network burps or when I restarted the fire, which I cannot have. I am hoping that Arduino IoT is non-blocking and allows the Nano to continue doing its job even if the network has issues. TBD with further testing, although I've seen reboots which have me scratching my head. If this doesn't work, I've added an OLED screen and IR remote controller, so I can make do without any network/GUI if I have to, but then I won't have remote monitoring (that's what the OLED and Wyze Camera are for
). This project is still in progress, and I've got parts on order to move it off the breadboard and get it soldered. Wish me luck.
Blynk vs. IoT GUI: OK, I'll say it -- Blynk's GUI is amazing and highly customizable. I hope the Arduino GUI begins to add features like programmatically setting the color of the LED widget, for example. But I never found a solution to Blynk hanging the Mega when the network had issues, so I had to try something else.
As someone new to Arduino, I was amazed at how easy it was to combine temperature sensing and a servo to help me with my wood stove. I learned about PID. The IoT GUI/app support is a piece of cake. I plan to add another networked Arduino to monitor the temperature in my GF's office and display what the stove is doing.
Cobbled together in the picture:
- Nano 33 IoT
- PlayingWithFusion SEN-30006 dual K-type thermocouple board with 2 probes from Auber Instruments. Measures the stovepipe and the stove. (The stove temperature setting is static for now, as I found I only needed to tweak the pipe temperature setting now and then, and the stove would behave.)
- Servo (temporarily using the one from the Elegoo kit, will use a HD-1501MG)
- OLED (cheap from eBay)
- IR receiver (from the Elegoo kit)
- Breadboard with temporary power supply (need more beef for the servo)
- Mouse pad from Dog Mountain in Vermont
Update 2-Dec-2023: Working GREAT! It's all together in a $5 ammo box. I've added weather info from OpenWeatherMap and a setting that lets me light the fire then have the automatic mode kick in. To do: Unfortunately the Nano crashes and reboots from time to time, so that'll take some investigation. But overall it's a very useful build.
Dashboard:
Cobbled together:
Board laid out, soldered, running on the bench:
Final form. That was FUN!