Sous-Vide Master: DIY Temperature Controller With Arduino

by Rob Cai in Circuits > Arduino

224 Views, 6 Favorites, 0 Comments

Sous-Vide Master: DIY Temperature Controller With Arduino

Overview2.jpg

Low-temperature sous-vide cooking is a modern cooking technique that involves cooking food inside a sealed food-grade plastic bag, which is heated in a water bath at a temperature ranging from a minimum of 55°C (131°F) for meat and fish to a maximum of 85°C (185°F) for vegetables and starches.

In this Instructable, I will show how to build a device to control and maintain the overheating temperature of water using an Arduino Nano and a few other simple components.

Low-temperature cooking is maintained for several hours (typically 6 to 10), allowing the food to cook evenly, ensuring there are no differences between the inside and outside—unlike traditional cooking, where the outer part is often overcooked. This method also helps retain the food’s natural moisture.

Meat cooked with this technique should be seared for just a few minutes in a high-temperature stainless steel pan to create a crispy outer crust (professionals would call this the Maillard reaction…).

Supplies

  1. Arduino Nano
  2. Temperature sensor DS18B20
  3. 16x2 Liquid Crystal Display (LCD)
  4. 2x 10K knob potenziometers
  5. a small 10K potenziometer
  6. tip120 transistor
  7. 2.2 kOhm resistor
  8. 220 Ohm resistor
  9. 4.7 kOhm resistor
  10. 12 to 24 V relays that can handle 110/220V contacts
  11. 12 to 24 V DC transformer
  12. flyback diode (such as 1N4148)
  13. 220V switch
  14. 110/220V socket
  15. an LED
  16. a housing box
  17. a travel immersion heater ora a small electric stove

Working Principle

This cooking device is used to control and maintain the temperature of a given amount of water at a desired value, set using two potentiometers—one for the target temperature and the other for the allowed temperature interval (called Delta).

The water temperature is measured using a DS18B20 sensor and displayed on the LCD, along with the set temperature and interval. The Arduino Nano manages these inputs and outputs: when the measured temperature drops below the set value, it switches ON the relay (via the TIP120 transistor). When the temperature reaches T + Delta, it switches the relay OFF.

The relay is connected to a 110/220V socket, where the travel immersion heater is plugged in. Both the heater and the temperature sensor must be immersed in the water pot, where the food—sealed in a vacuum plastic bag—is placed.

Connecting the Relay and LED

Relais connectorv2.png

The relay is used to switch the 110/220V output socket, where the travel immersion heater is connected.

There are relay models available on the market that can be directly driven by Arduino TTL outputs (0-5V with minimal current), but the one I have requires 12 to 24V DC. Since the Arduino cannot drive it directly, a TIP120 transistor must be used, as shown in the schematic on this page.

In short, Arduino pin 8 must be connected to the Base of the TIP120 through a 2.2 kΩ resistor. The Collector is connected to the 12/24V DC, and the Emitter is connected to one of the two relay coil control pins. The other relay control pin must be connected to the 12/24V ground. Finally, the relay switch pins must be connected to the live (phase) wire of the 110/220V circuit.

Connect the diode across the relay coil with the polarity shown in this picture. The purpose of this diode, called flyback diode or freewheeling diode, is to protect the nearby components and the PS from voltage spikes generated when the relay coil is de-energized.

Optionally, an LED can be connected between pin 8 and the Arduino ground to indicate when the relay switch is open or closed.

Connecting the LCD

LCD_Base_bb_Fritz.png

The Liquid Crystal Display (LCD) must be connected according to the schematic shown on this page.

Note that although the picture shows an Arduino Uno, the Arduino Nano can be connected using the same pin numbers.

Wire the 10k small potentiometer to +5V and GND, with it's wiper (output) to LCD screens VO pin. Finally, connect LCD LED+ to 5V through a 220 ohm resistor.

More details can bve found here.

Connecting the T Sensor

T sensor.png

The DS18B20 Temperature Sensor must be connected according to the schematic shown here: the black and red wires should be connected to Arduino GND and Vcc (+5V), respectively, while the yellow wire must be connected to analog input A0. A 4.7 kOhm resistor must be connected to A0 and +5V too.

Connecting the Potenziometers

IMG_0028.JPG

Wire the two 10k knob potentiometers to the Arduino Nano +5V and GND, while connecting their wipers (outputs) to A4 for the potentiometer used to set the temperature value and A2 for the one used to set Delta.

The logic is as follows: when the measured temperature drops below the set value, the relay—and thus the heater—switches ON. When the temperature reaches T + Delta, the heater switches OFF.

The Arduino Code

At the bottom of this chapter, you can find the Arduino code (LowT_Cooking.ino) and the temperature sensor libraries.

The libraries must be copied as is into any folder inside the "libraries" folder of the Arduino IDE. After that, the LowT_cooking.ino code can be uploaded to the Arduino Nano.

Assembling the Parts

Build1.JPG
Build2.JPG
Build3.JPG
button.JPG

Now, all the components need to be assembled inside an appropriate enclosure. I used an electrical junction box, as shown in these photos.

Additionally, I built the DC power supply using a toroidal transformer, a full-bridge rectifier, and a voltage regulator for stabilization—since I already had these components at home.

Of course, a more convenient solution would be to use a 12V power supply connected directly to the 110/220V input voltage and housed within the circuit enclosure. This power supply can be used to power the Arduino itself through pin 30 (VIN), that accepts voltages ranging from 6V to 20V.

Using the Device

preparation.JPG
food1.JPG
food2.JPG

Now That You Have the Low-Temperature Sous-Vide Cooking Device, How Do You Use It?

There are thousands of recipes online for cooking meat or vegetables using this technique, but the key steps are as follows:

  1. Determine the proper temperature and cooking time for each type of food.
  2. Place the food in a suitable plastic bag (one that does not release chemicals when heated), vacuum-seal it using a vacuum sealer, and seal the bag completely.
  3. Optional: You can add spices, salt, and a bit of oil inside the bag, then let it rest in the refrigerator overnight.
  4. For cooking, use a pot of appropriate size filled with water. You can also preheat the water on a regular stove.
  5. Set up the Low-Temperature Sous-Vide Cooking Device by adjusting the desired temperature and placing both the temperature sensor and the travel immersion heater into the water, as shown in these photos.


Why Use This Cooking Technique?

meat.JPG
vegetables.JPG

Since the temperature never reaches 100°C, the nutritional properties, flavors, and aromas are preserved within the food.

At the end of the low-temperature cooking process, meat in particular should be quickly seared on the surface in a stainless steel pan with a little oil. This triggers the Maillard reaction, creating a delicious, crispy crust.

The low and controlled temperature helps retain all the meat’s natural juices, resulting in a perfect texture and exceptional flavor.