Brewing beer with Linux, Python, and Raspberry Pi

Jonathan MathewsPublic

I started brewing my own beer more than 10 years ago. Like most homebrewers, I started in my kitchen making extract-based brews. This required the least equipment and still resulted in really tasty beer. Eventually I stepped up to all-grain brewing using a big cooler for my mash tun. For several years I was brewing 5 gallons at a time, but brewing 10 gallons takes the same amount of time and effort (and only requires slightly larger equipment), so a few years ago I stepped it up. After moving up to 10 gallons, I stumbled across StrangeBrew Elsinore and realized what I really needed to do was convert my whole system to be all-electric, and run it with a Raspberry Pi.

There is a ton of great information available for building your own all-electric homebrew system, and most brewers start out at Just putting together the control panel can get pretty complicated, although the simplest approach is outlined well there. Of course you can also take a less expensive approach and still end up with the same result—a boil kettle and hot liquor tank powered by heating elements and managed by a PID controller. I think that’s a little too boring though (and it also means you don’t get neat graphs of your brew process).

Hardware supplies

Before I talked myself out of the project, I decided to start buying parts. My basic design was a Hot Liquor Tank (HLT) and boil kettle with 5500w heating elements in them, plus a mash tun with a false bottom. I would use a pump to recirculate the mash through a 50′ stainless coil in the HLT (a “heat exchanger recirculating mash system”, known as HERMS). I would need a second pump to circulate the water in the HLT, and to help with transferring water to the mash tun. All of the electrical components would be controlled with a Raspberry Pi.

Building my electric brew system and automating as much of it as possible meant I was going to need the following:

  • HLT with a 5500w electric heating element
  • HERMS coil (50′ 1/2″ stainless steel) in the HLT
  • boil kettle with a 5500w electric heating element
  • multiple solid-state relays to switch the heaters on and off
  • 2 high-temp food-grade pumps
  • relays for switching the pumps on and off
  • fittings and high-temp silicon tubing
  • stainless ball valves
  • 1-wire temperature probes
  • lots of wire
  • electrical box to hold everything

Full Article