Wednesday, February 12, 2014

In other news...

This post doesn't really fit on the blog, but I don't have a better place to post it and some other DIYer out there may want to do something similar.

My wife inherited a nice Evenheat glass fusing kiln.  The only problem was that the 20-year-old temperature controller wasn't working.  After finding the manual for it online, she decided that she wanted something more flexible and user-friendly anyway.  I convinced her that it would be relatively simple and inexpensive to build a better temperature controller from scratch.  A replacement controller was available from the manufacturer and other compatible controllers are likely available, but it seemed like a good excuse to play with an Arduino board. 

After more time than I'm willing to admit, it's up and running!  Behold the Meltinator 9000:

And here's the obligatory cheeky initialization screen:

The kiln controller uses:
-an Arduino Uno board
-an Adafruit Arduino display shield
-an Adafruit protoshield
-a K-type thermocouple reader board (MAX31855 based)
-a resistor, BJT, and diode to drive the relays

Schematics would be overkill for this one.  The circuit to drive the relay was like the version linked below, but with the resistor value adjusted for the resistance of my relay coils.

Luckily, the new kiln controller fits nicely in the old enclosure.  That made life a lot easier.  Flipping through 19 bazillion pages of a Mouser catalogue to find the right enclosure and switch caps is no fun.

The software allows for 25 different fusing schedules to be programmed.  Each schedule has 10 steps.  Each step has a target temperature, a temperature rate of change, and a hold time.  The user can add time to the hold cycle of the current step during execution of a schedule, if needed. 

The software for the kiln controller can be found at github here.  Use at your own risk.

I ran a two-step test program earlier today and kept an eye on it to make sure the house didn't burn down.  First, it ramped up to 1500 degrees Farenheit at a rate of 2550 degrees per hour.  Then it cooled down to 500 degrees at a rate of 1000 degrees per hour.  Heat-up worked just as planned.  Cool down was slower than anticipated; the kiln is better insulated than I had thought.  I may need to prop the kiln lid open slightly during cooling if I want the controller to be able to control cool down accurately. 

To wrap things up, here's a picture of some of the stuff that Sarah makes in the kilns.  She's gotten really good!


  1. I love the glass! How do you do that in the Burninator9000?

  2. Thanks! I'll pass the compliment on to Sarah. She starts with foot square sheets of colored glass. She uses a scoring tool or saw to cut pieces and arranges them in a design with a clear sheet on top. She then heats them until they fuse together. Finally, she places it on top of a plate or bowl mold and heats it up again until it droops to take the proper shape.

  3. This is awesome! I've been fighting the 31855 for awhile now. I've been trying to get good readings out of them for a while now. I had to get two because the the primary thermocouple was reading close to 700F off. I wound up getting a second one to measure the temp of the 'cold' end of the primary, but they error out too and stop giving good data. I suppose you are using K type connective wire?

  4. Awesome!!! I was in the process of building something similar for my wife (she is a potter). But now that you have done it I can just use your design and hopefully improve (want to switch to type S since she operates at or just above type K max. Will keep you posted.

  5. Nice work! I've been wanting to put together a kiln control with these exact components for heat treating metal. I've made a few frustrating false starts but now I'm happy! Thanks very much!

  6. Hello there, I assembled it and it works good, now I have a little problem, I needed it in Celsius, so I changed it, but I couldn't figure out how to change the increments from 5 to "1" and still have a range from 0 to 1200 Celsius. Did anybody make such a change? or can someone point me in the right direction?

    1. I have a new version with Celsius and no Adafruit component

  7. You can found Here:

    1. Fantastic! Thank you for adding to the project and sharing, Eugenio!

    2. Hello Eugenio Baldi,
      Which MAX31855 library are you using? I am getting a error on the readCelsius();

    3. Nevermind, got it working

  8. Wow, thanks you all, just what i need.
    Thank you!

  9. Happy new Year, new version after more time, Insert the possibility of use PID control (to test)