The $30 Homemade Sous Vide Machine

Bradley Heilbrun
5 min readJul 30, 2016


… or how I didn’t cause an electrical fire.

This is a brief story of how I built a sous vide machine for cooking the perfect steak, egg or anything. The total cost was about $30 dollars plus my well invested time.

An important note of attribution. The idea and parts for this project came from my good friend Palash. His write-up can be found on his MIT project page here. The only difference between our two devices was in the case design. He used sheet-metal and I used a 3D printer.

The sous vide method yields results that are nearly impossible to achieve by traditional means. (Modernist Cuisine)

In Action

Here’s a photo of the finished product in action.

This space station is fully operational.

The questionable color combo (purple and clear) is a result of using the PLA filament spools that I had on hand. When it’s free, you don’t complain.

Parts List

About that last item, I modeled a custom case and printed it using a Lulzbot Taz 5 that I had access to. Cheaper and easier solutions are possible.


A quick wiring schematic built with EasyEDA.

In the above schematic, the small red dots are connections where I used wiring nuts. Below, the brown wires are Live and blues are Neutral. (A consequence of using the wires on hand.)

The STC-1000 closes (connects) pins 5 and 6 when it wants to heat. That is, the live wire to our outlet becomes “hot” when the temperature is too low.

Interior shot of the guts. Wiring nut for blue wires can’t be seen.

Case Design and 3D Printing

I modeled the case from scratch using OpenSCAD. If you haven’t seen this program before, it allows one to code a 3D model using a C-style declarative language. A nice quick overview of OpenSCAD is available here (Hackaday blog entry).

OpenSCAD in action. Specifically, a rendering of the case sans lid.

The source code for the above model is available on Github.

A popular alternative application is Blender but I think that has a much steeper learning curve for people coming from software backgrounds.

“Using Blender to design a small object to send to a 3D printer is like using a bulldozer to build a sand castle.” (Hackaday)

In total, it took about 2 weeks of modeling and 2 weeks of printing/reprinting. A lot of the former was spent learning OpenSCAD and building up some best practices. The latter was largely due to printer problems, learning material properties and iterating on the design. The typical joys and frustrations of 3D printing.

3 major printing attempts. #1 had warping; #2 had spider webbing and design flaws; #3 was just right.

Below is another photo of attempt #1. Note the awful warping. This was printed on a Lulzbot Mini using 3mm HIPS. My colleagues and I had various theories as to the causes.

The below was printed on a Lulzbot Taz 5 with 3mm PLA. Note the awful spider webbing and the platform on the bottom.

Bad webbing; bad platform.

The webbing could be cleaned up possibly but the platform was totally adhered to the model and I couldn’t remove it. (Typically a platform is used to improve bed adhesion and reduce lifting/warping.)

Backside of the “final” print. Electronics installed.

Success! Though, to quote the movie Snatch,

Tommy: What’s wrong with this one?

Turkish: Oh, nothing, Tommy. It’s tiptop. It’s just I’m not sure about the colour.


The STC-1000 control unit has an unintuitive UI. There are only a few buttons and functions (which is good) but without the manual I couldn’t easily figure out the right incantation of button presses.

The short version of the instructions are…

  1. Hold ‘S’ for 3 seconds. (Controller should now read F1.)
  2. Press ‘S’ once to set the temperature.
  3. Hold ‘S’ and press the arrow buttons to raise/lower the desired temp.
  4. Press the power button to finalize.

Craziness. A good manual with some dubious English can be found here.

Cooking and Results

My first test run was a hanger steak. The goal was 135F/57.2c interior (medium-rare) and a seared outside. The results were delicious!

Hanger steak, medium-rare. Also pictured, mashed sweet potatoes.

Briefly, the recipe was, 1 package of Prather Ranch Hanger Steak, salted and peppered before going into a zip lock bag. It spent 1.5 hrs at 135F/57.2C. After that, I seared each side for 15–20 seconds using a cast iron pan on high heat with a little safflower oil.

For a thorough review of this entire process please read, The Food Lab’s Complete Guide to Sous Vide Steak.

Tips and Notes

  • If you’re in the US, find a control unit that supports Fahrenheit. One example is the Inkbird ITC-1000 (occasionally known as ITC-1000F).
  • There is some temperature variance. The mean temp is probably close to the desired set point, but due to the crockpot’s thermal mass and conductivity, the whole device will briefly overshoot your set point.
  • There is no water circulation mechanism. It’s unclear how much impact this actually has on the result.
  • Buy an oval slow cooker. I think the shape is more useful given what you’ll typically put in it (steaks, chops, chickens, etc).
  • Slow-cookers are slow. It will take at least 15 minutes for your water bath to reach the desired temp. So give yourself extra time at the start of each recipe.
  • The 3D modeling and printing process deserves a post of its own as I left out a lot of interesting details (and failures). Perhaps another time.
  • The wiring nuts aren’t as secure as I’d like, I might need to revisit that decision.
  • I plan to put some glue or silicone on the case where the probe wire runs out. This will provide better water sealing.