Brewmatic

Brewmatic – Design

I present Brewmatic: a compact, mobile, electric, fully digital, internet connected, voice enabled, 3-stage home brewery.

To read about the motivations behind the beautiful machine, read Brewmatic – Introduction and Problem Statement.

Requirements

The simplified must-haves for Brewmatic:

  • Must store within the dimensions of a storage locker that is 74″ tall x 69″ long x 45″ wide.
  • Must draw power safely from a single 240V range receptacle.
  • Fresh water must be drawn from standard residential taps.
  • Waste water must be expelled through standard residential drains.
  • Steam must be exhausted to the exterior of the dwelling without condensing and causing leaks inside.
  • Must model the traditional 3-stage brewery: Hot Liquor Tank, Mash Tun and Boil Kettle.
  • The temperature at each stage of brewing must be controllable and maintainable within 1 degree F.
  • Must provide user interfaces through PC, mobile and voice.

High Level Design

Brew day – mashing, 36 stories above the streets of Toronto.
  1. Hot Liquor Tank (HLT)
  2. Mash Tun (MT)
  3. Boil Kettle (BK)
  4. Pumps
  5. Counter flow wort chiller
  6. Control unit
  7. Steam exhaust
  8. Boil Kettle exhaust lid
  9. Part storage
  10. Chemical and glassware storage
  11. Specialty grain storage
  12. Grain mill
  13. Temperature probes
  14. Drip shelf
  15. Accessory storage/drying hooks

Brewmatic uses of off-the-shelf components where feasible. In favor of panel mounted PID controllers, as often used in electric breweries, a microcontroller is used with bespoke firmware to reduce cost and space. As a full description of each component would require its own post, a summary of each follows below.

Hardware

Components are mounted on a standard food service wire shelving cart. The first shelf provides storage for parts, grain, mill, oxygen, chemicals, tools and glassware. The second stores hoses, pumps, exhaust vents and the control unit (when not in use). The top shelf primarily acts as a mounting point for the control unit, exhaust venting and brew day accessories.

Shelf drip lip, camlock fitting, and temperature probe.

The third shelf provides a rigid, heat tolerant, and spill proof surface for the heavy (when filled) Hot Liquor Tank (HLT), Mash Tun (MT), and Boil Kettle (BK). An 18-gauge, 304 stainless steel sheet was creased at the edges then welded to the stock wire frame shelf. These edges keep spilled liquid from cascading down to the lower shelves (a hard lesson). The sheet also greatly increases the strength of the shelf. Without it, a full pot dramatically warps the wire shelf downwards, so much that it is difficult to take liquid readings from the pot’s inside markings.

All metal hardware (pots, tubing, fitting, couplers, valves, etc.) is 304 stainless steel. All three pots are fitted with PT100 temperature probes and ball valves.

Hot Liquor Tank – 15 Gallons

Weldless 304 steel fittings are used to mount valves and tubing.

A 25ft steel coil exchanges heat between hot water inside the pot and wort recirculating to/from the MT. A stainless hot water tank heating element provides direct contact heat. The HLT is “stirred” using recirculation to maintain a uniform temperature. Water is pumped from the valve at the pot’s bottom to the right angle tube mounted at the top.

Mash Tun – 10 Gallons

Sparging out.

A Blichmann AutoSparge is used to control recirculation rates during the sparge. It was necessary to down size the MT from 15 gallons (pictured at top of post) to 10 for reliable control over the liquid level above the grain bed. If the pot is too large, more liquid is required to keep the grain bed below the surface than is optimal. The AutoSparge needs enough head room to float and perform properly.

A standard convex, perforated, steel plate provides the false bottom.

Boil Kettle – 15 gallons

Hops and trub after the boil.

A stainless “pancake” filter sits below another stainless hot water tank heating element. Inside the pancake filter is a stainless straw, bent slightly, and pointed towards the bottom of the pot to minimize dead space.

Plumbing

1/2″ camlock couplers are used between all hose connections. 1/2″ silicon tubing is used for all liquids, with the exception of fresh water. This is braid reinforced PVC for connection (also camlock) to a high pressure household water faucet. Two Blichmann RipTide pumps are used to transfer/recirculate between the HLT/MT and MT/BK. Cooling is accomplished using a 25ft counter-flow wort chiller and tap water.

Electrical

The only 240V source available in the unit is from the range (stove). I couldn’t find anything off-the-shelf that converts a range outlet to a 4 wire GFCI. So I built one with a spa panel (Siemens) from Costco, a NEMA 14-50R from Home Depot and a NEMA L6-30R from Amazon. The beauty of this solution is the ability to keep the stove plugged in.

Hides nicely under the stove.

This powers the heating elements (240VAC) in the HLT and MT, pumps (120VAC) and control circuitry (3/5VDC).

Control

Is there anything a Raspberry Pi can’t do?

Digital control of the system is handled by a Raspberry Pi Zero (12, see Firmware below). Pulse-width modulation controls the duty cycle of the heating elements (2, 3) via solid-state relays (9). Temperature for each of the HLT, MT and BK are read through PT100 sensors (4) connected to the I2C bus (13). Automotive relays (11) provide control of the pumps.

  1. Hot Liquor Tank Pump 120V out receptacle
  2. Mast Tun Pump 120V out receptacle
  3. Hot Liquor Tank 240V out receptacle
  4. Boil Kettle 240V out receptacle
  5. Temperature probe receptables
  6. Master power switch
  7. 120VAC to 5VDC converter
  8. 240VAC in receptacle
  9. 120VAC bus bars
  10. Boil Kettle/Hot Liquor Tank solid state relays
  11. Heat sink
  12. Pump relays
  13. Raspberry Pi Zero
  14. PT100 drivers
  15. I/O multiplexing logic
  16. Raspberry Pi I/O expander
  17. Safety logic, prevents activating both solid state relays simultaneously
  18. Common ground
  19. Debug LEDs

Firmware

A C++ driver performs the following basic input/output functions:

  • Toggle pumps on/off
  • Heating element power (in percent) via pulse width modulation
  • Read temperature probes

This driver is used by a multi-threaded Python application to control the system in response to commands from the user via the cloud. The application reports changes in state back to the cloud for user visibility. For example: confirmation that HLT pump is on, or temperature changes while the HLT is heating up.

The C++/Python split was chosen for rapid development and testing. The Pi Zero is quite capable of running Python code without becoming resource constrained.

Cloud

Cloud infrastructure is hosted on AWS. IoT device shadows are used to communicate state/settings to/from the device and the user interface. The IoT Python SDK makes it easy to integrate secure communication on the Pi Zero.

Visual User Interface

Basic but very functional.

Xamarin was selected as the UI framework for the following reasons:

  • I didn’t want to write separate iOS and Android code.
  • Xamarin provides a Windows UI (bonus).
  • There is some support for the AWS IoT SDK.
  • I wanted to re-learn C#.

The UI renders well on all of Windows, iOS and Android.

Voice User Interface

Using AWS as a cloud provider made it easy to develop an Alexa Skill to control the system verbally. Also, I happened to work in Alexa, writing a skills SDK, at the time.

The voice interface lets a user query for temperature of the HLT, MT or BK. They can also turn on pumps or change the set point of the HLT or BK. This is extremely helpful when the brewers hands are busy, which is always!

Leave a Reply

Your email address will not be published. Required fields are marked *