Category Archives: Electronics projects

No cycling this time. My other hobby, which became more important in the last years is playing around with electronics. It is a great alternative in the winter, when it is too cold and rainy outside. And the winter is long in Norway. Arduino and Rasperry Pi made it possible that even people without electronics background can create small electronic devices. Here I want to show one of my latest weekend projects, which turned out to be quite useful.

If you like good food and experimentation, sous vide is for you! It is a simple idea: you bring your food to a precisely controlled temperature in a water bath and leave it there for a rather long time. After doing this, you can give the food additional treatments. For example a quick searing to brown just the surface. The great advantage of this method is that you can control the outcome much better than with other techniques. When you ever overcooked a steak, you know what I mean. However, I didn’t like the idea to buy another kitchen machine, because it takes a lot of space and these sous vide cookers are expensive (and where is the fun in that anyway?). So I decided to build my own from parts I (mostly) already had. It turned out that it was a very simple and fun project – and a useful one!

In addition, some jumper wires, a soldering iron and something to attach the parts to. I used cable ties, screws and a small wooden board. You can get them at hardware or kitchen stores for example. Mine came in a four-pack for about 5€. I found the pump at the local Bauhaus hardware store. I think it was made for small indoor fountains. It was about 12€.

Here in Norway, I could order most of the other parts from kultogbillig.no. So I linked the parts to the stores website.

Wiring and setup of the parts

Here is an overview of the wiring:

Of course, the wires were connected to the LCD shield stacked on the Arduino in the end but it works as an overview. There was only a LM35 temperature probe available in Fritzing (the program which was used to make the diagram) so this should be a DS18B20 actually. The resistor was connected between 5V and the data wire as a pull-up resistor. Be aware that these DS18B20 sensors can come with different wire colors. Mine came with red, yellow, green wires, so it took a while for me to figure out what is what (GND: yellow, 5V: red, data: green).

To assemble everything, I stacked the LCD shield on the Arduino and soldered the wires to the respective connectors. There were three wires directly soldered to 5V: The relay power, the sensor power and the sensor pull-up resistor (which was connected by a short wire). The two ground-connectors next to 5V were connected to the relay ground and the the sensor ground. On the other side, connector 2 (the third hole on the shield) was soldered to the relay control wire. Connector 3 (4th hole) was soldered to the green data wire of the sensor and the pull up resistor.

I removed about 4 to 5cm of the plastic cover of the water boiler’s power cable to expose the cables. I cut the brown one, removed some of the isolation of the two ends, soldered some solder on them and bend the cable so that the two ends were facing out. Then, I used some tape to hold everything in place and connected the ends with the screws on NO1 and COM1 on the relay module.

Next, I cut out a piece of an old camping mat and placed it under the electrical parts to allow some flex when screwing them to the board. Put everything in place and screwed it to the board. I also drilled some extra holes for cable ties to keep the cables in place. In the end, it looked like this:

A bit messy maybe and the cables are exposed, which means to be extra careful when working next to water. But as a prototype, it did what it was build for.

Writing the sketch

The sketch is rather simple. After loading the libraries and initialize the pins, the buttons on the LCD are used to set the temperature. Starting value is 50 degrees Celsius; UP and DOWN change the temperature by one degree. SELECT confirms the desired target temperature.

Then the loop starts: As long as the temperature is more than 10 degrees lower then the target temperature, the heater will stay on. After this, the heater will switch on and off in 2 seconds heating and 10 seconds waiting intervals until the target temperature (minus the tolerance of 0.2 degrees) is reached. When the temperature is higher, the heater will remain switched off. Like this, I usually have a stable heat around ±0.4 degrees of the target temperature. The target and current temperature as shown on the LCD all the time.

After loading the sketch, filling water into the water boiler, attaching the pump and placing the temperature probe in the water it may look like this:

Pretty messy setup but it works really well actually. My biggest problem is the limited capacity. It is big enough for about 500 grams of meat so I am thinking about a bigger version. But until then, I enjoy sous vide poached eggs (just place large eggs for 13 minutes at 75 degrees) or perfect medium-rare steaks (in plastic bags with some oil at 55 degrees for about 3 hours) already.