Sous-vide cooker

On 14-08-2013, in Molecular Gastronomy, Projects, by erwin

IMG_0937Since hearing Jeff Potter giving a talk on The Next Hope, I want to cook sous-vide.
With sous-vide (French: Under vacuum) cooking, you seal the food in a bag and place it in a waterbath with a tightly controlled (+/- 0.5 C) temperature for a long (> 2 hours) period of time. This allows you to control which processes occur in the food and which do not.
I did it during OHM2013 in preparation of a workshop by standing next to the pot and watching the temperature like a hawk. 61 C? turn on the heater and stir. 63? turn off the heater and wait.
This should and can be automated!
The requirements my cooker should have:

  • must heat 3 liter waterbath with 0.5 C accuracy between 40 and 80 degrees
  • must have water circulation to prevent heat gradient in the waterbath
  • must be affordable ( < 100 EUR)
  • must be easily hackable

There are great sous-vide cookers for sale, but they are prohibitly expensive, lack some of my requirements (eg. water circulation) or both, so let’s build one myself!

The principle

sv flowEnergy is fed to a heater and the water temperature is measured. If the temperature is at the set value, the heater is turned off. The waterbath will start to cool down (entropy). If the temperature drops below the set value, the heater is turned on again. A simple closed-loop control circuit.
This circuit can easily be extended by a cooler, allowing a more rapid cooling of the waterbath or air (eg. for fermentation projects).

The waterbath

I got a small coolbox as a promo gift from Grolsch (a brewery). It can hold 3 liters of water, which is a perfect size for my cooking.
It is somewhat insulated, so heat will be retained longer than with a metal pan.
I drilled a hole in the lid for heater, pump and sensor. This keeps the bottom intact (water tight) and allows for a precise placement of pump and sensor.

The heater

I got an immersion heater for making a quick cup of tea. There were surprisingly difficult to find. 500 Watt should be enough to heat the water, without

The pump

I got a small pump that is capable of withstanding 100 C water temperatures. This is important, as most aquarium pumps are not meant for these temperatures and cannot shed enough heat themselves. The pump can be submerged in the water, but I am not sure if it can loose the built up heat efficiently. I therefor placed the pump on top of the coolbox and use some extention tubes to reach the desired spot in the water.
The inlet will be low (cooler water), while the outlet will blow the water through the spiral of the immersion heater.

The sensor

I got a LM35 temperature sensor. It is an analog sensor with 10mV / C steps. Great for hooking up to an Analog/Digital Converter.

The brains

sv control loopI really love Atmel’s atmega microcontrollers.
This project will be no exception. In this case an atmega32 is used. My favorite. Plenty of RAM and the IO pins are placed conveniently in line along the side of the chip.
For prototyping I use one of Lady Ada’s Atmega32u4 breakout boards, as they have an USB connector and USB programmer built in. No more searching for my AVR Dragon during prototyping!

The processor generates an interrupt every 100 milliseconds. This will trigger an ADC reading for the temperature. The completion of the ADC triggers a new interrupt that will place the ADC value into a variable and it will increment a counter. Every increment will cause a keyboard readout. Every 10 increments will increment a second counter that can be used for time keeping.

I am now 3d printing the frame that will hold all components.
Working code (for the atmega32u4 breakout box at this time) can be found on github.


Comments are closed.