Life is too short to eat bad food. This is especially true for overdone steaks and fish. Promise. There are few things better than an entrecôte cooked à point. Luckily I have read about sous vide cooking in Nathan Myhrvolds book Modernist Cuisine. With this method you get perfect results each time. So it is obvious that I want to have such a cooker!

There are tons of instructions for simple DIY sous vide cooker all over the web. As an engineering student I like to go crazy and build a cooker from scratch on. I had three main design goals in mind. The device should:

  1. look and act like a professional one
  2. be safe and easy to use
  3. be small and sturdy to use it outdoors


This project includes mains power, which can be dangerous, and if not treated with care, respect and intelligence, it can result in fatal injuring. You must accept that you and you alone are responsible for your safety and safety of others. While this project is provided in hope that it will be useful, you are responsible for verifying its accuracy and applicability. You are responsible for knowing your limitations of knowledge and experience. If you don't know exactly what you are doing, you should consider to consult a licensed electrician.

Step 1: Getting the Whole Picture

Basically a sous vide cooker is a controller which sets and holds a certain temperature of a water bath. In that bath you put the vacuum sealed food until it reaches the temperature of the water bath. For big pieces of meat that can take several hours.

The cooker may be divided in these parts:

Most professional sous vide cooker have a heating element integrated in the water bath. The downside of this approach is that unless you buy several cooker you are limited to that size.

I like to be more flexible. I made good experience with a rice cooker when I only want to cook one or two steaks. For more steaks or bigger pieces I tend to use heating coils. So I decided to add an AC power socket to the black box to be more flexible.

Some more parts used in this project:

Step 2: Inside the Black Box

Let's have a look inside the black box. It is powered by an Arduino Nano micro controller because it is small and cheap. The controller is programmed with a PID-library which get the temperature from the sensor as input and switches a relay as output. The relay switches the socket which is connected to mains power. Since the device is controlled via bluetooth, it also handles the connection to my mobile phone. I like to be able to control two water baths with different temperatures, so you find two temperature sensors and two outputs for the relay at the circuit board.

At the breadboard the red cables are for power supply, the black ones for ground. the green and yellow cables are for signal handling. The temperature sensors need a resistance to work.

To save space I decided to print a custom circuit board. You can get them for little money from China. The board is designed with the Fritzing software. You could change the design in order to add the relays directly to the PCB. I decided against it so I can exchange them without soldering when they break. My sous vide cooker is working for nearly a year without problems but the relay is the part which is most likely to break one day because it is the only mechanic part in the device.

Step 3: Source Code of the Microcontroller

You can program the Arduino easily via the Arduino IDE. I used the 'one wire'-, 'Dallas Temperature'-, 'Software Serial'- and a modified PID-library. You have to change the hardware address of your sensor in the source code.

Please find the source code attached. At the moment the code is only designed for one sensor. I will refactor the code when I find time for it.

Step 4: Low Voltage Circuit

The low voltage circuit powers the micro controller and the sockets. It is connected to mains power via a C13/C14 coupler to improve transportability. These connectors are safe to use with a maximum current of 10 Ampere so it can power heating coils with an overall output up to 2000 Watt. Most times 300-1000 Watt are sufficient.

The source powers three parallel circuits. They are connected via lever nuts. The first circuit powers the Arduino. An old mobile phone USB charger converts the 230V AC mains power to the necessary 5V DC. Next time I would add a print transformer directly to the PCB.

The other two circuits power the sockets. There is a relay connected to each of them in series, so the relay can switch the sockets on and off. Don't forget to ground your system. That is simply done by connecting the protective earth from the two socket with it's counterpart at the C13 connector (green-yellow cables in the picture).

Step 5: Temperature Sensor

The temperature is read by a DS18B20 digital temperature sensor. That sensor provides a wide range from -55°C to 125°C. It has a high resolution and the accuracy is sufficient for our purpose.

There are three wires but with the two wire method you need only two of them. That enables you to use a coaxial power connector to improve further the portability of the project. That means you simply solder GND and VDD pins to ground and DQ pin to digital input. You have to be careful with the colors of the wires because there are different standards. Check the manual for your specific sensor.

Step 6: Put It All Together

You have now all pieces together and can start the final assembly. Everything fits easily in a 160x95x55mm electronic project box. Make sure the box is waterproof and out of plastic to improve security.

You need two holes for the sockets and a third one for the C13 connector. Take your time because plastic melts easily. At the bottom of the box you have to drill four holes each for the printed circuit board and the relay.

Step 7: Control the Device

The device is controlled via Bluetooth. You can find an App for Ubuntu Phone in the Open Store. The App can scan for Bluetooth devices so you can select your device. It then connects to your cooker via tapping the Bluetooth icon. It turns blue when a connection is established. You can now change the temperature and see both the target and current temperature in a chart.

The source code is available on launchpad. It is written in Qt so it is cross platform. Feel free to fork it and build an App for Android, iOS or a Desktop version.

The App just establishes a serial connection to the hc-05 Bluetooth adapter, formats the input and sends data when you set a new temperature. That means any serial Bluetooth terminal App on Android or iOS should do the job as well. If you want to set a new temperature just send the plain number in Celsius to the device.

Step 8: Some Final Thoughts

If you come this far you have an precise sous vide cooker so you can for example make your steaks from one side to the other perfectly medium rare at 56°C. The final step is to sear them to get that wonderful tasty brown crust.

The keys to success are on the one hand very hot temperatures because the so called Maillard reaction only happens at very high temperatures. On the other hand you should sear it in a very short time to avoid that gray ring of overdone meat around the center.

Make sure you removed all the water from the steak before searing. Water vaporizes at 100°C and needs much energy to do so. Temperature rise only higher than that when all water is vaporized. Do also not use a teflon pan! Heavy iron cast pans are much better because they can store much more energy. Even better are alternative searing methods, like deep-frying or the use of a MAPP-burner. Try out different methods and find your way.

Enjoy your meal!

<p>It's the first time I heard that a DS18B20 has a PT100 inside. Do you care to elaborate on that?</p>
<p>Hej Raitis, thanks for your comment. DS18B20 and PT100 are of course <br>different sensors. I corrected that in the article. Maybe I got a bit <br>confused because the PT100 is the default sensor at my university.</p>
<p>Ah, thanks, thought I missed something and got neck deep in the world of PT100 for my BBQ without really needing it. :)</p><p>Cheers!</p>
<p>I made a sous vide cooker using a crock pot (slow cooker) and a cheap temperature controller (&pound;10.00) from china. No need o go to all the trouble of making wiring circuits etc. It works brilliantly. I have been using it for 2 years.</p>
<p>How? Please post. I have a crock pot and would love to just convert it. </p>
<p>Thanks for all the great easy cheap tips.</p>
<p>I've done the same thing and it works just fine. Look up the STC-1000 on ebay or Amazon. It's about $15 and you'll just need a few other components. The bonus is that it has a hot side and a cold side, so you can use it to control a crockpot, or use it to temperature control a fridge or freezer (for brewing, etc).</p>
<p>That is the one I used. I also made a 'Bread Proofer' out of a seed propagator and a fish tank heater using one.</p>
<p>It is easy to do. Buy a cheap temperature sensor/controller on eBay and place it between the power socket and the crock pot. Set the crock pot to 'high' and let the sensor control the temperature.</p>
<p>I'm an Arduino fan, so this instructable gets me excited.</p><p>As with any problem, there are multiple solutions. Here's an instructable I did a few years ago using a digital temperature controller and crock pot for sous vide. <a href="https://www.instructables.com/id/Sous-vide-cooker-for-less-than-40/" rel="nofollow">https://www.instructables.com/id/Sous-vide-cooker-f...</a></p>
<p>I would be catutious about using a MAPP blowtorch to sear though, as it has a couple of additives for smell in there that I wouldn't like to find on my steak. Maybe straight propane or butane would be better but those have thiols (mercaptan) in them for smell purposes as well so... Hydrogen flame would be ideal for heating without residues, but out of the question for practical reasons. I guess an oxyacetylene blowtorch would be the best accessible choice but good luck on not burning the meat :)</p><p>Imho the good old cast iron pan preheated for a while is the best option though !</p>
<p>I prefer Propane, as it doesnt leave odoriferous residue. BUT, after the meat is done, I like to deep freeze it in liquid nitrogen, then deep fry the frozen cut of meat. PERFECT Maillard Reaction; those delicious amino acids take hold and the meat thaws just to warm cool, MMMMMMM... Time to go cook :)</p>
<p>Propane has a similar additive (mercaptons), and I regularly use propane to sear meats, brown creme broulee, custards, cheeses.... But MAPP seems to retain the smell through the burn, where propane propane flames do not - so this is a wise caution! </p>
so that sensor is the food-grade sensor? I like the neatness of your setup.
<p>No it is not. But that's ok, because in sous vide cooking the food is vacuum sealed so it don't get in contact with the water or the sensor. You then just wait long enough until the food has the same temperature as the water bath.</p>
<p>Shouldn't be necessary since the food is never to be in contact with the water in which he places the sensor and teh vacuum sealed food..</p>
<p>Thanks to you I learned about the Maillard reaction, thanks for sharing !</p><p>Again, a great french discovery linked to food :)</p>
<p>What did you use for the heating element or water pump. You didn't mention those parts</p>
<p>I've included some links in step 1. Hope that helps.</p>
Great instructable! I was looking to making a sous vide cooker for sometime now. <br>I have a few questions. <br>This can only be used currently with a Ubuntu device? <br>What gauge wiring are you using? <br>How can a circulation pump be used (you'll want this to be running constantly I assume).<br>Very nice!
<p>There is currently only a graphical App for Ubuntu but you can use a terminal App on Android and iOS. I tried the Bluetooth Terminal HC-05 App from the play store and it works well.<br>You can use any aquarium pump, they have suction cups so they fit in any pot. I made good experience with the Eheim 300 water pump.</p>
<p>This is cool, I haven't seen one of these before :)</p>

About This Instructable




More by Birger Niklas:How to Build a Premium Sous Vide Cooker 
Add instructable to: