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.


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.

1 Like