Brewing Rig


My (mostly) automated brewing process has evolved over the years. It started with experiments with electric burners and usb scales. From there I moved on to clacking solenoids and running pumps. Finally I brought it all together with a small network of Raspberry PI micro-controllers and a bunch of custom software.


Brew Day

Everything hinges on the yeast. Ahead of brew day I will start spinning up a culture of yeast based on the type of beer I want to make.

The night before brew day I will formulate a recipe that goes well with the yeast culture. As I pick out each grain type and pour it onto the scale, my software measures and records it for later. Then, it is milled and dumped into the mash tun.

On brew day, before I wake up, the rig will fill the bottom tank up with exactly 8 gallons of water. Next, it brings it up to the target strike temperature and pumps the hot water into the mash tun. It then circulates the mash over the next hour, recording temperatures along the way. During this time it is also heating a second tank of water. When the mash is complete, it is pumped to the boil kettle, and the second tank of water is then circulated over the grains (sparge).

As the sparge finishes and joins the mash in the boil kettle, the natural gas is lit and the boil begins. During the boil, hops are added (manually) after they go across the scale and the software records each entry.

After the hot wort is chilled it is moved to kegs in my luxurious crawl space to ferment. When it’s ready, I’ll rack it to a keg to serve on tap, or bottle it for conditioning and aging.

A final label contains all the information collected including notes, pictures of the yeast, the grain bill, the mash data, the sparge data, hop additions, and fermentation temperatures.

Labels are displayed on a screen above my seven tap keezer so you can see how the beer was made as you drink it.

The whole system is controlled by a web interface that I can run remotely from my laptop or phone. I can open certain valves and trigger specific actions, but there is also an abstraction layer that lets me set high-level modes like, fill to 8 gallons, heat to 170, or even “mash”. One day I’d like to have a mode called “brew” that, given the right inputs, could run through the entire process safely without me.

The first batch of beer I ever made had Winnie on the caps and it tasted pretty bad. It hasn’t improved all that much over the years either.