BrewBlox and mashing

Is BrewBlox in a current state of development that it is ready for mashing (I have a simple kettle and BIAB with 1 temp thermowell and 1 heating element) or should I stick with brewpi software?

Yep! There’s no process steps or hop drop alerts etc yet. But it works very well as a PID for it. This is how my boil kettle is set up now. There’s no wizard for creating a kettle arrangement yet but it’s relatively simple.

  • Create a DS2413 Actuator that drives the relevant output on your relay control board for your element.
  • Create a Sensor/Setpoint pair and link it to your temp sensor. This allows you to set the target temp.
  • Create a Pulse Width Modulator and link it to your DS2413 Actuator. This will allow the output to the relay to be varied. Apply the heating element preset.
  • Create a PID. This does the same job as the PID bit in the old BrewPi software. It should take the setpoint pair as the input and set the Pulse Width Modulator as its output. Apply the Kettle Element preset. You may need to tune the PID.

If you want to automate stepped mashes using profiles, create a setpoint profile to drive your setpoint pair. If you want to view the graphs of your data, create a graph widget.

That’s really helpful - thanks for that. As soon as i manage to get BrewBlox installed i shall have a go.

If you want a more advanced setup like HERMS, you can can create an offset actuator with the mash setpoint as reference and the HLT setpoint as target.

A mash PID can then drive this actuator, with the result that your HLT setpoint is dynamic. The PID will drive it based on the temperature error in your mash tun.

Another thing you can do is balancing/mutexing your heaters. Many brewers only have enough power for one element at a time. BrewBlox has some fancy features to help to work around this:

  • To prevent the 2 heaters to be active at the same time, create a Mutex block (short for mutually exclusive). In each of the heater output pins, add the mutex as constraint. If one heater is ON, it will now block the other one from turning on.
  • Now for equal sharing, create a balancer block. On both of the PWM blocks driving the heaters, add the balancer as constraint. The balancer will ensure that both PWM settings add up to 100% max and will divide proportionally.

The PWM cycles can overlap, so your heaters can run on 50% each, 30%/70%, 40%/60% or anything under 100% if they don’t request more. This is great for when you want to keep one kettle at constant temperature, which only requires 10% and at the same time want to quickly heat up your other kettle at 90% power.

1 Like

Is there a way to set the setpoint profile to keep mash temperatures for some time and then move to another?
like this:
step 1:
reach temperature XX
step two:
keep temperature XX for 60 mins
step three:
reach temp XY

Will this be added soon? Otherwise it is useless for automation…

Starting the timer when a temperature has been reached has not been implemented yet.
The profile is running on absolute time, not relative at the moment.

I’ll create an issue for it.


HI @Elco,

I’m migrating from a CraftbeerPI powered 2-kettle K-RIMS to BrewBlox with Spark and was wondering if there has been any progress on this? I’m brewing a lot of Weizen beers with complex maisch schemas and this would really really help a lot (one of the features I liked most of CraftbeerPI)

Temperature control for mashing works very well in BrewBlox now (with a dynamic HLT setpoint or RIMS tube output target), but we don’t have conditional start times in the temperature profile yet.

We are working on a more generic step manager which can have many different transition conditions and apply multiple types of changes. Not only temperature, but also opening valves, starting pumps, etc.

When I brew a weizen myself, I use the Hermann method. This involves mashing half of the grains at 62 and 70 (to create maltose), cooling it down to 45, then adding the second part of the grain to convert the maltose to glucose with maltase, then back to 62 and 70 again.

Because I need to add grains or check for conversion, I just set the mash temp manually instead of automatically transitioning. I don’t feel the need for automatic temperature steps for this actually.

That said, we are working on a system-wide automation tool, but as this is a huge feature it will take a few months before it is ready.


Will the pi have enough horsepower and reliability to handle the full automation? I’m really excited.

The processing power required is negligble next to the InfluxDB service.

Reliability is a concern, but not a new one. The main weaknesses are Wifi (especially when in sheds or basements commonly used for brewing), and the Pi SD card.

So far, we’re pretty happy with the overall cost/quality balance of the Pi, but we also made sure to support the AMD64 processor architecture. If people want to invest in their hardware in order to boost reliability, they can do so.

1 Like

I have a similar setup to what is described in this post:

  • Single vessel BIAB (mashing and boiling)
  • One 5500W element in the base of the pot
  • A temperature sensor mounted in the base of the pot
  • Manually controlled recirculating pump (not attached to BrewPi)
  • A temperature sensor at inlet on lid

What is the easiest way to set this up? The ‘RIMS BIAB’ in the ‘Wizardry’ is a more complex setup. Do I use this as a starting point?

Create a few mock sensors (service page, double click on page background), and run the HERMS wizard, then strip out everything not related to the BK. Use the mock temp sensors to satisfy the wizard when it asks for MT/HLT sensors. Use either of your real sensors as BK sensor.

You may need to tune settings a bit, but that should provide a decent starting point.

Awesome. Thanks will try that.