My girlfriend just informed me that she thinks the test board (I had two boards, one in the kitchen, one in my office) is in the garage... somewhere. We moved, and our garage got filled with other people's crap. Fortunately we have a work day this weekend to get it organized and labeled for a yard sale. There should be an old version on there.
In the meantime, I'm going to talk about some of my design decisions. First, I'm going to talk about the temperature sensor.
I'm using the waterproof DS18B20 (from Adafruit http://www.adafruit.com/products/381?gclid=COPRmeLVycYCFYsWHwodEKYAGA) for this project (and probably a bunch of others). It's a three wire sensor (Vin, Ground, Data) with 9 or 12 bit resolution. You feed it between 3.0 and 5.0v, and you get back a temperature reading. The beautiful part is that each sensor has a unique 64-bit ID. You can run multiple sensors off of the same pin.
I wrote a quick Python program to watch the Raspberry Pi system, and autodetect all of the DS18B20's connected to the Pi. The program then asked you how you wanted to treat the thermal probe (Ignore it, treat it is an external probe, or an active probe). Initially the system was going to have a great PID loop (I'll talk about these later). I had a fair amount of trouble implementing a true PID system that drove a digital pin (as opposed to a PWM system).
Now, I may switch over to a PWM system, if I replace the relays with a FET or SCR or something (You gotta pardon my terminology. I'm not an electrical engineer).
I'm using multiple $10 parts for a reason. The biggest is because I could spend the money, and support Adafruit. Without them and Sparkfun, I wouldn't have much of a chance of accomplishing this. Second, I know the parts can be had pretty inexpensively (You can get 5 on Amazon for $7.50. No idea how water proof they are....). Third, the initial design didn't have a water circulator. It was a simple Pi controlled system that turned the power on and off to the slow cooker. I wanted to have a thermal probe on one side of the vacuum sealed bag, another probe on the other side, and one floating free.
I also had plans to make this extensible. There are a huge number of applications for "intelligently" controlled thermal systems. Being able to measure multiple temps from one board, and log it, would be pretty useful (I'm looking to build a home monitoring project using distributed Pi's). If I get my act together, I'll write a software library for the sensor, including the autodetect function, so it can spit out temperatures in a variety of formats on demand.