Tuning of brewblox FTSS setup

I’ve replaced the FTSS controller for my 7gal unitank with the spark 3. The stock controller struggled to keep the temp +/- 1 C of the setting but brewblox/spark keeps it within an impressive .1

I’m very happy with the plot from a temp perspective, but looking at the state of the heater and cooler actuators makes me wonder if there’s more tuning to be done. With an ambient temp of roughly 18C and a setpoint curve going from 10C to 12C over 24h, I’m thinking ideally, the cooler shouldn’t have to turn on at all. Am I being too picky, or can this be improved?

Your heater and cooler are both making small and steady adjustments, and don’t seem to overshoot much.
From a practical point of view, there’s no need for further tweaks.

Depending on whether you want to run as energy-efficient as possible, or just want to play with it, there are alternative approaches to settings. It’s unlikely they’ll further improve accuracy though.

You should add a mutex block and add a mutex constraint to both actuators that prevents them from alternating quickly.

A pwm period of 10 min works well for the cooling pump.

Thanks! I have a mutex constraint on the actuators set to 10s, but that’s too short to be visible in the 24h graph. What’s a good number for the mutex?

I have the PWM at 10m for cooling and 10s for the heater as I picked up from prior FTSS threads.

An unfortunate effect of this very precise temperature management is the fact that there’s almost always sub-zero coolant in the hoses to and from the reservoir and the coil in the fermenter. This leads to lots of condensation and pools of water on the floor of my brew space which unfortunately isn’t built for that.

In the mutex, the minimum time for switching to a different actuator should be set to 30 min of even 1 hour. You don’t want to heat just after cooling.

A 30 min setting in the mutex and some heater kp tweaking later:

I couldn’t be happier, thanks guys!


Much better, but it could be smoother. If you zoom in on some of the small fluctuations in the PID chart I can offer some advice.

Not sure if you mean just a zoom in the chart above or another view showing PID metrics?

Service page, PID widget, action dropdown button, show maximized. If you pick a shortish duration (2-3h), you can take a screenshot of that.

Thanks. That graph screen resets from my zoomed view within seconds of zooming, gotta be quick on the screenshot button :slight_smile:

Thanks! We’ll take a look at it.

I’ll look into the resets. You can use the controls in the top right corner to fetch zoomed data from the history service. That should not reset when the block updates.

The duration setting under the cogwheel drop down doesn’t have any effect at all, I’ve tried lots of different values. When I zoom using the zoom graph tool by marking an area of the graph, there’s a pop up in the top right saying I can double (or maybe right) click to zoom back out, but there’s barely time to read it before it zooms back out. I’m in Chrome on MacOS.

I assume you’re not running the latest release? We fixed the bug where duration settings don’t update the graph there.

(Just checking whether it hasn’t come back)

Clicking the little bug icon in the lower left tells me 0.2.2+871.gb85fe068. I probably don’t have the aug 22 release.

That’s the august 12 release. Apart from the not-yet-fixed bug, it all seems in order.

I managed to upgrade yesterday but I haven’t really used the system after that. Still curious if there’s anything to be learned from the PID graph above though :slight_smile: ping @Elco

You zoomed in on a time window were the temperature error stayed under 0.1 degree. So I don’t see much room for improvement here.

The start of your graph seemed to cycle a bit more.

Hi mks,

I’m also replacing the brewtech controler by a brewpi/brewblox setup. You seem to have a really great setting!
Could you please share your settings? Since this is all very new to me I could really use some help.
I have a 7 gallon unitank, ss brewtech heater and a glycol chiller.

What Kp, Ti and Td settings do you use for cooling and heating?

Thanks in advance for your reply,


I have the same setup at home.
We’ll soon add a wizard for a glycol setup.

For now the quickest way to set up is to use the fridge wizard and then change the following settings:

Cool PWM:
period: 10 min

Cool PID:
Kp: -5
Ti: 2h
Td: 5m

Cool actuator:
Add minimum On time: 10s (can be shorter if you have short lines. It is mainly to prevent your glycol from heating up in the lines to the fermenter before it reaches the coil).
Keep the mutex

Heat PWM:
period: 10s

Heat PID:
Kp: 50
Ti: 2h
Td: 5m

As you see I use a long PWM period the cooling pump with a low Kp.
That’s because glycol is very powerful, so PWM values required are usually around 1%. You still want 1% to cause some flow to reach the cooling coil. So with a 10 minute period, 1% will still cause a 6s ON period of the cooling pump. The minimum On time will make that 10s and it the period will be adjusted so it stays low a bit longer too. That way it can do 1% with a 10s minimum ON time.

Many thanks for your quick and helpfull reply Elco!