Hi Joel, I'm using the AD595 which works with a K type thermocouple, the chip is quite expensive but it is pretty accurate. well it might seem like I know what I'm doing but I've just fudged my way through it over a few years.
The programmes are created in XML on the PC then sent to the controller via Bluetooth, it can hold ~500 programmes, each programme can have up to 255 segments each. It will log each successful firing into a 32k memory segment, then you can retrieve the logs via Bluetooth for display into a graph, the number of logs depends on the sample rate it's set at.
Everything is coded in C, the LCD, the Real Time Clock, the 64k EEPROM and also the Bluetooth UART RX / TX lines, so all custom code and no code libraries used what-so-ever.
The example below is a typical programme to biscuit fire a ceramic; this particular one has 3 segments, seg 1 is 200'c at a ramp of 30'c per hr, then 600'c at 70'c, then finally 960'c at full power and it will hold for 15 mins. The XML will get compiled to a binary file then it's uploaded to the controller via a c# console app. the uC then just stuffs it into the 64k flash memory. The uC reads it back when you're selecting a firing programme via the menu of the controller. When the controller is running it gets the time in minutes since you started, and then calculates the target setpoint based on the XML data; it also makes an initial adjustment based on the ambient temperature to skip up the curve to the correct starting place. Regulation is just done via on/off of the SSR
<prog> <title>Biscuit</title> <short_description>Biscuit Firing</short_description> <long_description></long_description> <seg data="200,30,0"/> <seg data="600,70,0"/> <seg data="960,999,15"/></prog>
At the moment I'm in the process of re-writing all the code to work on a bigger chip so I can add more features, but my plan is to create a nice controller that is easy to use and cheap to make, and that can perhaps be easily be maintained in the future. the idea is to keep the design all through-hole components, so perhaps it could be easily built up as a kit or repaired.