Why buy something when you can spend more time and money and do it yourself!?

As the title suggests, doing something yourself is often much more effort and money than just buying something off the shelf. This is the case with the furnace controller I’m making. I ruined the one that came with the original furnace. Replacing it with a modern one would be about 400 bucks or so, not too bad but I decided to make my own. I had already made a basic controller with an arduino nano and a max6675 module. However, I want something more thorough.

So with that said I made a new prototype board with an RP2040 running MicroPython. This was an interesting experience since I’ve never used MicroPython. Also, this time around I bought a quality MAX31855 Adafruit module off Digikey since the ones I bought off AliExpress were all borked.

The prototype kiln controller

As you can see, this uses the following components

  • RP2040-Zero with MicroPython (Available on AliExpress and Ebay)
  • Max31855 Module (Available from Digikey and Adafruit) DO NOT BUY FROM ALIEXPRESS!
  • TM1638 LED display module (Available from Ali and Ebay and basically everywhere)
  • Linear Voltage Reg to 5V (LM7805 or 1084-50)
  • 4 position wire-to-board terminal block
  • 2 general purpose diodes to remove flyback voltage on relays
  • a small Takimisawa 5V small signal relay (to turn on a larger relay, not the best idea)
  • An NPN MPSA13 Transistor to drive the relay
  • Some caps for decoupling, Good idea to decouple the display and the MCU module

A view of the prototype board. Nothing spectacular of note.

The only real challenge of this was writing the software for the controller. I’ve written it in such a way that you can have 8 separate programs and each program can have up to 6 steps. You can individually enable and disable certain steps in a program if you want a different process for each. The controller supports ramping and also has the ability to ramp down. Also, there is some error correction in the form of thrown errors. One thing to keep in mind is that I’ve never actually written anything in MicroPython before so if you do look at the code, don’t judge too harshly, it’s a mess.

Here is a link to the source http://smackaay.com/files/furnace2.zip

So, there’s still a lot to do. I have to make a nice semi-decent looking cover for it and install it properly onto the furnace rather than having a bunch of exposed wires hanging out. Also, I need to test the software a bit more thoroughly and make sure it doesn’t cause issues when the big relay is activated.

This is a quick model of the buttons and sheet that will go into the existing frame. I’ll have to add spacers in order to have it sit correctly

Anyways, some more work to do. I will update this.

Comments are closed.