DIY Kiln Controller

I really like casting. I love the smell of molten wax in the morning. And the shimmer of the mercury like metal before the centrifuge spins it into the magic.

But I don’t like getting up early in the morning to turn the damned kiln on. Actually the second part of that statement is redundant, but I digress. After the getting up early, being tied to the kiln all day to check that it is at the temperature it is supposed to be is almost as bad. It just seems like a job that would be better done by someone with a better attention span, like a machine.

Commercial kiln controllers are available, but ridiculously expensive for what seems to be a pretty simple concept, and my tools budget didn’t stretch that far. So I decided to make one.


I think it turned out pretty well. If you look closely you can see that the case was not closed up when I took the picture, but it looks even better when it is.

Basically it is a thermocouple tied to an Arduino controlling a solid state relay. For those of you who don’t know what that last sentence meant, allow me to expand. An Arduino is a simple microcontroller. A microcontroller is a very small, cheap and low powered computer on a chip. The Arduino is the second least powerful computer I have ever owned, beaten only by the ZX81. 32Kb (yes kilobites) of memory is enough to do quite a lot. A solid state relay is a relay that has no moving parts. I used one of these over a standard relay as my research said that they lasted longer and normal relays had a nasty tendancy to stick on when they failed, not really what I am looking for in a kiln.


If you are following me so far, you would like a circuit diagram. Which unfortunately I can’t give you because I drew one up in sketchbook, etched the board and found that it didn’t work – the buttons gave problems with bouncing, so I hacked things into another configuration. Also I put the LCD upside down on the circuit board so it didn’t fit very well, so don’t do it that way.

Physical issues aside, the circuit is really simple:
5 switches (up, down, left, right, enter)
2 leds – heat on, like the one in your stove
ready to cast
1 solid state relay – bought off ebay with the heat sink included. The one I use is rated 480V, 25A, which should be plenty for my 110V 12.7A kiln, and going small doesn’t save a lot of money.
1 wall socket to plug the kiln into
1 lcd screen, standard 16×2 type
1 thermocouple and breakout.
The thermocouple I got off ebay with an old broken needle type pyrometer
The thermocouple breakout is a MAX6675 from Ryan McLaughlin, a simple and easy solution
Total cost is under $100


Inside the case you can see the power supply for the arduino at the top, the arduino and circuitboard at the left, the relay at the bottom, and the plug for the kiln at the right.

From the back, it is pretty simple. A power cord, and a socket for the kiln.


The top of the case shows the thermocouple going from the kiln to the case.


The software took longer than the hardware to put together. The actual controlling of the kiln is simple – the PID library from Brett Beauregard controls all of the hard stuff. The toughest part of the coding was the user input – every press of the button needs to be interpreted, down to moving the cursor.

Once it was done, I have full control over the burnout cycle. The time and temperature of each phase of the cycle : initial melt, ramp to hot, holding hot and casting temperature are all able to be changed. Of course multiple casting temperatures are possible – up to five. Best of all is when you turn the kiln on, you have the ability to set the casting time, so I can set the kiln to turn on sometime pre dawn allowing me to cast in the afternoon.

You are welcome to use my code, it will save you a lot of hassle, but before you do, there are of course the disclaimers:
If you build this and burn your house down or electrocute yourself, don’t call me. One of the guys I talked to who built a pottery kiln told me a story about his testing where a bug resulted in the kiln getting stuck in the on position. Things got pretty toasty and glowy before he realised. This didn’t happen to me, but it might to you. Kilns are hot, and mains power is dangerous. If you don’t know this, this is not the project for you.

I have released the code under the MIT open source license. Basically this means you can do whatever you want with the code, but I still own it and you have to tell anyone you give it to that I wrote the code.


If you think that the kiln controller code is useful to you, a couple of ways you could express that appreciation are by buying me a beer – in person would be preferable, then we could have a chat, but if not via Paypal:

Or buy me a book or something from my my Amazon wishlist.

I hope that it saves you some time.

The current version is V1.0. I have a couple of ideas that I would like to implement, but these may take some time.

4 thoughts on “DIY Kiln Controller”

  1. I love your ingenuity! I have an old dental kiln that has 3 settings (low, med, high); it get really hot but I cannot fine tune the temps or times. I hate to toss it, and can’t really afford the ready made controllers on the market, so when I saw your device I had hope that maybe ‘Old Smokey’ might get back in the game. In your opinion, would this work with a device that has so little control options? Thanks for your advice, and for your hard work.

    1. I probably should have made it a little clearer in my post, but when the controller is running, the kiln is turned to high, and just gets turned on and off intermittently by the controller. So yes, I think it should work. Turn ‘old smokey’ (a scary name for a kilnm btw) to high, plug it in and see what happens!

  2. I am trying to do the same thing with the same kiln!

    is there a reason you did not use the thermocouple that is already embedded in the kiln? Would different code be required?

    ill let you know when i get around to putting one together.

    thanks a bunch and ill be donating as soon as i can confirm the code will work for me.

    1. Two reasons:
      1/ I didn’t want to break my kiln :) I figured that adding another thermocouple would mean that if it didn’t work I could still use the kiln as before.
      2/ Especially during testing it was really nice to have the independent verification that the temperature readout was correct.

      Good luck, let me know if you have any problems.

Leave a Reply

Your email address will not be published. Required fields are marked *