This post is going to show you how to build an automated three tier brewing system using the OLinuXino. Our aim is to control the temperature of every step of the brewing process and make it easy to brew a batch of beer.  This system is set up to do small, all grain brewing batches.  The idea is to make it easy to brew, so you can experiment with any crazy idea that you might have.  That way if your idea for a vanilla wafer flavored beverage is a flop, then you don’t have to dump a lot of it.  Once you have the recipe perfected, you can always scale it up to a larger batch.


Brewery Materials








Silicone Washer


12 Quart Stainless Steel Pot


Heating Element


Stainless Steel Ball Valves


Mash Tun False Bottom

4 ft

Silicone Tubing (1/2”)


1/2 x 1/2 Stainless Steel Barb


3/8 x 3/8 Stainless Steel Barb


Silicone Tubing (3/8”)


Extension Cords




USB to One Wire Converter


JSP Connectors


Small Breadboard


Power Strip


Drilling Holes in the Pots

Let’s start with modifying the pots to have holes for a temperature sensor and a ball valve.  The first thing to do is to drill a couple of holes into your beautiful, shiny new pots.  To drill the holes, the first step is to use a center punch to create a little divot in the metal for the drill bit to sit in.  If you don’t have a center punch, a deck screw or a Philips screw driver will work.



This helps keep the drill bit from wandering when you go to drill the hole.  It will sit in the divot nicely.  Now when you go to drill the hole, you are going to want to start with a small bit first and then slowly work your way up to the final size of the hole. For the larger size hole for the valves, you can either use a step drill bit or a center punch.

The three pots have different functions.  The first pot stores hot water.  The second pot is the Mash Tun and that stores the grain.  The third pot is where the wort (water/sugar mixture) is boiled. Water always flows from the first pot to the second pot and from the second pot to the third pot.  Therefore, we can use a stand like the one below to use gravity to transfer the water between the pots.


So, when you go to drill the pots, here are the locations where you want to drill the holes (assuming of course that you are using a stand like the one below):




I would drill the 7/8” holes to be 1.5” from the bottom of the pot and the 3/8” holes to be 1.25” from the bottom.


The boil pot does not need a ball valve since it is on the bottom tier and doesn’t transfer its liquid.


Mounting the Temperature Sensor

The hole that we drilled for the temperature sensor is just big enough for the temperature sensor to slide through. Unfortunately, the connector will not fit through the hole so I had to cut the temperature sensor wire in half and then solder it back together after I fed it through the hole.  It was a pain, but this way the connector can be used to easily connect/disconnect the pots for cleaning.


When mounting the temperature sensor, be sure to put one of the silicone washers on the inside of the pot. This will prevent any leaks.




Mounting the Ball Valves

Slide the ball valve into the 7/8” hole.  The ball valve should come with all of the washers and screws that you need.


For the hot water pot, you only need to put a barb on the outside of the valve.  This barb goes half of the 1/2” piece of tubing.  So, cut the 1/2” piece of tubing in half and put one of the sections on the Mash Tun pot.



For the Mash Tun pot, you need to put a barb on the inside and outside of the valve.  The inside one goes to the 3/8” piece of tubing that connects the ball valve to the false bottom.  The outside one goes to the other half of the 1/2" tubing.



Finishing Out the Temperature Sensors

The last thing to do is to mount the 3 JSP connectors to a small piece of breadboard.  Place them so that the first pin of all three connectors are wired together.  Same goes for the second and third pins.  This is where the temperature sensors are going to be connected.  Since the DS18B20 is a “one wire” device, the same pins on all of the sensors need to be connected together and they will manage the channel so that only one device sends a signal at a given time.


Finally, the USB to One Wire Converter needs to be connected to the JSP connectors.  Think of it as the breadboard combining the signals from the temperature sensors and then sending them on to the USB to One Wire Converter which passes the information on the to OLinuXino.  Connect the USB to One Wire Converter to one of the USB ports on the OLinuXino.



I mounted a fourth JSP connector to use for the wires going to the USB to One Wire Converter.  This isn’t totally necessary, since they don’t need to come apart for cleaning.  You should be able to solder them directly to the breadboard.


Wiring Up the Heating Elements

Now that we are done with the temperature sensing part of the project, let’s go on to the temperature controlling part of the project.  To do this, we are going to modify some extension cords so that we can insert a relay in the middle of them and then use this to turn the heating elements on and off.


So, let’s start by cutting the extension cords in half and wiring a relay in the middle of them.  The schematic looks like this:


Now, make sure that you label the three extension cords: hot water, mash, and boil.  This will be very important later, since we want to turn off/on the correct pot.  After you label them, hook them up to the correct heating element and plug them into the power strip.


On the relay board you will need to connect a wire to +5V and one to ground.  Then you will need 3 wires that connect the GPIO pins on the OLinuXino to the relay that the extension cords are plugged into.  I picked IN6, IN7, and IN8 on the relay and wired them to logical GPIO pins 6, 7, and 8.  I say logical because they translate to GPIO-2 pins 9, 11, and 13, respectively. Here’s the pin out table for the OLinuXino A13:


Excellent, now everything should be wired up and ready to go!


Three Tier Brew Stand

The brewery uses gravity to transfer the liquid between the pots, so we need a stand that will allow that to easily happen.  Here are the plans for the stand that I built.


Stand Materials






3/4” Plywood (4’x8’)


Here’s a picture of how it should be assembled:


Assembly should be pretty straightforward.  The seven 18” boards are the braces between the posts.  The bottom two shelves have a width of 18”, whereas the top shelf has a length of 18”.  I assembled the 2”x4” frame first and then put on the shelves at the end.  That seemed to work out pretty well.  It’s also easier to paint first and then assemble it.



The software uses a PID loop to constantly monitor and control the temperature in the pots to be what the user specifies.  The measured temperature is then transmitted over web sockets to any browser that is pointed toward the brewery.  The browser is also able to control the brewery in order to transition from the mashing stage to the boil stage.  All of the necessary code to do this is attached to this blog post.



Here’s a video demonstrating how the brewery operates:


And here’s a picture of the beer that I brewed with it!  It's an experimental pale ale that uses Wormwood and Yarrow to get most of its bitterness, but it does still have some hops in there.