I made this for warming something at work. And I made it about as fast as I could one evening when I had very little time available to make it. It's a rough draft proof of concept prototype. With that said, it works, and it works well. I thought I'd go ahead and share it here on my blog.
Here it is in action. So what is it? It's a temperature controlled chamber (so long as you want positive temperatures). It's a roughly 2'x2'x2' styrofoam box (external dimensions, very rough estimate). There is an Arduino UNO controlling the heat source inside. Outside there's a white status LED on the breadboard, and a 4x20 LCD for monitoring status, as well.
This shot shows the control wires going into the styrofoam.
This is the bottom inside of the lid. The little black dot to the right of the red/black wires is a TMP36 temp sensor. It's a fairly cheap temp sensor that claims .1 degree resolution. I see more like 1.2 degrees (Fahrenheit).
I'm using one of my solid state relay controlled outlets from my Christmas light display which I'm not using this time of year. One of the red/black wires is going to that solid state relay.
That relay/outlet control the heat source. In this case, it's a 60 watt incandescent light bulb in a desk lamp fixture (proof of concept).
The fan is on continuously, doesn't matter if the heat source (light) is on or off. This gives the chamber a "convection oven" effect, I suspect. And it makes sure the metal surround of the lamp never gets hot enough to melt the styrofoam (unless the set temp were to be set that high).
As for how it works, I made it as absolutely simple as possible. If the temperature inside the box is below the target, it turns on the light, the light creates a lot of heat. When the temperature inside the box is greater than the target, it turns off the light. It takes about 10-15 minutes to go from 55f to the current target of 90f. Once it reaches the target, it does a remarkably good job of maintaining that target by simply pulsing the light on and off. Probably not the best thing to do with an incandescent bulb, but they're very cheap to replace.
In the future, if I finalize the design, it'll have set buttons, to raise and lower the target temperature. For now, to change the target temperature, the sketch would have to be changed and re-uploaded.
Here's some video of it in action, I tried to limit the down time in the video where you're just staring and waiting for the temperature to change, but there's still a fair amount of that involved.
And here's the sketch that's running on the Arduino: