Update March 8: I added pictures for the fuse and switched to using a SSR.
This will show you how to build your own accurate temperature controller for cooking with sous vide. How much you spend depends on what you use for a heating element. This controller is accurate to 0.1° C and is able to keep a steady temperature within 0.2°C of the desired temperature.
First I need to give credit to Scott at Seattle Food Geek. This instructable is inspired by his genius DIY sous vide. Check it out for an alternative to mine at http://seattlefoodgeek.com/2010/02/diy-sous-vide-heating-immersion-circulator-for-about-75/
My controller is a little more generic than Scott's in that it can use any electric heat source to keep the water bath at a constant temperature. I use a cheap crock pot but plan on using a bucket heater in a cooler when cooking for large parties.
Let me know if there are any mistakes of missing steps and I'll try to fix them asap.
Step 1: Parts List
1) PID controller. I got mine on Ebay for ~$35 (including shipping). Most controllers will do but avoid ones that have a built-in relay--the relays usually aren't rated for the current your heater(s) will use and will blow out your PID controller. The wiring for this instructable assumes your controller puts out 12v to control an external relay.
2) Aquarium pump for water circulation. You don't have to get too fancy--it seems that most pumps can handle the heat for common sous vide cooking (< 70° C).
3) 10+ amp electric relay. I originally used a mechanical relay (see pictures) but it eventually wore out. I've updated the build with a 10 amp SSR that I got used on EBay for $4 (many people on Scott's page are using 25 amp SSRs). If you don't know anything about SSRs make sure you get one with DC control voltage and AC output voltage. This one will do: http://www.amazon.com/dp/B004HZN628/ Depending on what you're using for a heat source you may want to get a heat sink. See my discussion in the step that installs the SSR.
4) 10+ amp switch. I bought a light switch from Home Depot like the following (mine was cheaper): http://www.homedepot.com/h_d1/N-5yc1vZ1xh3/R-100356855/h_d2/ProductDisplay?langId=-1&storeId=10051&catalogId=10053 . Get a rectangular one because it'll be easier to cut the holes in your enclosure.
5) 10+ amp dual socket like this one: http://www.homedepot.com/h_d1/N-5yc1vZ1xh3/R-100117108/h_d2/ProductDisplay?langId=-1&storeId=10051&catalogId=10053 . Again, get a square one because it'll be easier to install.
6) A 3-prong power cable with bare leads.
7) A PT100 temperature probe (thermocouple). Get a three-wire probe because it'll be a little more accurate (and because I don't know how to hook up a two-wire probe to the PID controller).
8) Some sort of plastic enclosure. I went with a junction box because they're easy to cut with a Dremel and very sturdy but at $11 it's overkill. You can get a plastic acrylic box for ~$4. I'd advise against a metal box to avoid electric shorts.
9) 10 amp fuse and fuse holder.
10) Various wires and screws. For doing the AC power wiring you want wire rated for 10 amps.
11) 8-screw terminal block.
12) Electric heat source. A crock-pot works well. Make sure you get one that turns on with a mechanical switch--the controller is going to continuously toggle the power to the heat source and you don't want a digital crock pot that has to be reset after every power cycle. I got mine at a thrift store for $15.
Not required but handy:
1) An outlet wallplate to use as a template when cutting your enclosure. (Like this: http://www.homedepot.com/h_d1/N-5yc1vZ1xh3/R-202059861/h_d2/ProductDisplay?langId=-1&storeId=10051&catalogId=10053 .)
2) LED for indicating when the heater is on. Most PID controllers have a little light but I wanted mine to be obvious. I got an LED assembly with a built-in resistor.
3) Male and female three-wire audio jack for hooking up the PT100 thermocouple.
Step 2: Prepare Outlet
Step 3: Solder Male/female Audio Jack
Step 4: Cut Up the Box.
Cut and drill holes in your enclosure to fit the electronics. Something you want to pay attention to is how the components will fit once they're all inserted. Some of the components may get in the way of each other if you don't do it right.
1) Cut a hole near the bottom for the power cord.
2) Use the wallplate template to draw a box on the side of your enclosure for the outlet.
3) Cut out the hole. A dremel makes quick work of this. Insert the outlet to make sure it fits.
4) Now we need to drill the holes for the screws that will hold the socket in place. Insert the socket "backwards" (see picture) and use it as template for drilling the holes.
5) See the picture for how it looks when it's all screwed in. Don't screw it in permanently because it'll be a pain to wire.
6) Do the same for the light switch, the PID controller, the power LED, and the female audio jack.
7) Drill two holes near the hole for the power cord to hold the terminal strip.
Step 5: Solder Wires to Relay
My original relay burnt out so I upgraded to an SSR. Installation is straight-forward (see pictures) except for one thing: depending on your heat source (and the electrical load it makes) the SSR can get hot . I did some tests with a 1000W space heater and the SSR got hot enough to burn one's fingers (which, like a dummy, I found out the hard way). As you can see in the pictures I screwed the SSR to a metal plate to act as a heat sink. With the heat sink the space heater made the SSR very warm but it seemed manageable.
However, once I got it all wired up the heat sink appears unnecessary. I hooked up the crock pot and cooked some beef brisket and the SSR never got warm, even when it was on full-time to heat up the cold water. If/when I try a 1000W bucket heater I'll update this with my results.
Old text is below for reference:
I got a relay intended for socket boards, which made my wiring a bit more difficult but it works. Make sure you use the heavier wire for the AC power. The wires that control the relay can be thinner gauge. Use wires long enough to fit between the different components.
A note about wiring: you'll have a tangle of wires at the end. Try not to leave any exposed AC wires or you run the risk of a short.
Step 6: Wiring It All Up.
If you have a LED for indicating that the heater is on connect it to the same PID pins as the relay.
Double check the wiring to your PID before plugging it in for the first time! I was careless and had the AC power connected to the wrong pins and fried it. It's not necessary but you should connect the ground wire to the ground pins on the socket and switch.
Once it's wired plug it in and turn it on. Hopefully it won't blow up. Here's where things get finicky. My PID controller needed some configuration changes and the documentation was not at all intuitive. I had to tell the PID that my thermocouple was a PT100 and then raise the highest "set value" from 40° C to 90° C.
Step 7: Calibration
1) Boil water (preferably distilled) in a pan and insert your temperature probe. The PID should show 100° C (at sea level).
2) Fill a glass with ice and then add water. If much of the ice melts add more. Your probe should measure just a hair over 0° C.
If your measurements are off you should be able to adjust a setting on your PID. Mine was off by 2.3° C.
Step 8: Your Done!
You should now be able to plug your pump into the always-on socket and your heater into the controlled plug. You'll probably need to tune your P, I, and D settings on your PID to make it accurate (see http://en.wikipedia.org/wiki/PID_controller for some help). My PID has an auto-tune function that ended up working pretty well.
This controller should be generic enough to work with any electric heater. You could, for example, use a hot plate with a large pan on top. I plan on trying it with a bucket heater and a large cooler to cook steaks for a large party.
Happy sous vide!
Step 9: Using a Bucket Heater and a Cooler
1) The heater is a lot bigger than I was expecting and there was no way to close the cooler lid (the heater is *not* completely submersible). I cut a couple of squares out of packing foam I had laying around to put on top of the water. This helped to insulate the water and it made it trivial to position the thermometer.
2) The Marshaltown heater is 1000 watts which can put stress on your controller's SSR if it has to run steady for a while (e.g. if it has to heat up a lot of water by 70-80 degrees). I used hot tap water to fill the cooler which meant the water was most of the way to the desired temp. My SSD got warm but was never in danger of over-heating. If you can't start with hot water it might be a good idea to start with the heater plugged directly into the wall. (Just remember to plug it back into the controller. One time I forgot and overcooked a brisket. It was ugly.)
3) The one downside is that it requires a lot of water which means it requires a lot of energy to heat up the water. I assume I don't have to have the bottom half of the heater completely submerged but I've always done so. It's not real practical for small meals.
4) If you're cooking a lot of items, keep in mind that once you drop them in the cooler the water level will rise. So don't fill the cooler all the way up.