First test - overshooting

Here is my out of the box test run. Overshot the cooling by about 3 degrees.


Any suggestions?

See this thread: New BrewPi Settings and Heater oddness

Exact same situation. Maybe we should change the defaults. :slight_smile:

The charts look almost identical! I’ll change the Beer-to-Fridge Kp to 8 and report back.

FWIW, this is a small chest freezer (about 5 cuft) with a 50w ceramic reptile heater. The test is being done on 5 gallons (19l) of water in a plastic bucket.

That’s about he same setup as mine (the graph in the other thread). The changes Elco recommended made a big difference. I’m brewing 2 batches tomorrow and will have them in the same chest freezer (same yeast in both batches) so will be able to see how this behaves in a production situation.

Here is the chart after just changing Beer-to-Fridge to Kp 8.

What do you think?

Please zoom in a bit more. It looks a lot better to me.
I would set the beer-to-fridge derivative filter to max.

Maybe also set the maximum between beer and fridge temp a bit lower.

Thanks for the advice. Here is a zoomed in photo, let me know if you need more zoom.

I’m getting ready to ramp back up and add your suggestions to the next run.

I mainly meant zooming in in the Y direction, but that doesn’t look bad at all.

Doh! Sorry! Trying to do this on my phone. Can’t get into my VPN through this hotel wifi for some reason.

Maximum difference between fridge and beer set point is currently 18. How does 12 sound?

Beer-to-Fridge derivative filter delay time is currently at 159 seconds. I’ll set it to max (639 seconds).

That sounds perfect.

Here is the latest run with the following changes:
Kp = 8
Maximum difference between fridge and beer set point = 12
Beer-to-Fridge derivative filter delay time =639 seconds


Looks pretty good.

It is also possible that the back of your fridge is cooler than the position of the sensor, causing a small bit of overshoot maybe.

If you look at 05:00, the fridge temperature was above the beer temperature at all times, but still the beer temperature dropped because the beer was cooled directly and not via the fridge air. That’s also why the fridge temperature settles above the beer temperature I think.

So if you want to optimize further, I think it should be done by moving optimizing heat transfer and sensor position.

But you could also just forget about it and say this is good enough :slight_smile:

Thanks for the quick response (again). First question: Do you sleep? It seems that no matter what hour I post a question, you reply to it fairly quickly.

My current setup is in a small chest freezer. The freezer probe is dangling near the back wall but about halfway between the floor and the top. The beer probe is entering from the top of the fermenter and is in the top of the water column. It is midway between the fermenter wall and the center of the fermenter. Looking down into the freezer, the beer probe is on a tangent to the heater so the probe is in the middle of the column from the perspective of the heater. The heater is in the lower corner of the chest freezer.

This is close enough to make beer but I would like to close the gap on the beer temp cruising along below the temp if I can. I can do one or two test cycles before brew day tomorrow so I’m going to play with some things and see what happens.

Thanks again for your guidance.

1 Like

I’ve moved the fridge sensor lower in the freezer and more protected against any influence from the heater. The old probe position is a logging sensor now to see what the difference is between the two positions. The next test is underway!

1 Like

I noticed a strange spike in the fridge temp and decided to check the logs. Here’s what was in the log at the time of the spike:

Jul 30 2017 20:25:37 Error: controller is not responding anymore. Exiting script.
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File “/usr/lib/python2.7/”, line 810, in __bootstrap_inner
File “/usr/lib/python2.7/”, line 763, in run
File “/home/brewpi/”, line 87, in __listen_thread
File “/usr/local/lib/python2.7/dist-packages/serial/urlhandler/”, line 140, in in_waiting
: ‘NoneType’ object has no attribute 'select’
Jul 30 2017 20:26:09 Notification: Script started for beer 'Test 2’
Jul 30 2017 20:26:09 Connecting to controller…
Jul 30 2017 20:26:09 Opening serial port
Jul 30 2017 20:26:37 Checking software version on controller…
Jul 30 2017 20:26:37 Found BrewPi v0.5.1 build 0.5.1-0-ga1d812ffa, running on a Particle p1 with a V3 shield on port socket://

When I was looking at the logs I found something else that happened earlier:

Jul 28 2017 08:28:22 Serial Error: socket disconnected)
Exception in thread Thread-1:
Traceback (most recent call last):
File “/usr/lib/python2.7/”, line 810, in __bootstrap_inner
File “/usr/lib/python2.7/”, line 763, in run
self.__target(*self.__args, **self.__kwargs)
File “/home/brewpi/”, line 110, in __listen_thread
if self.writeln("") > 0:
File “/home/brewpi/”, line 56, in writeln
return self.write(data + “\n”)
File “/home/brewpi/”, line 59, in write
File “/home/brewpi/”, line 75, in exit_on_fatal_error
File “/home/brewpi/”, line 38, in stop
self.thread.join() # wait for background thread to terminate
File “/usr/lib/python2.7/”, line 940, in join
raise RuntimeError(“cannot join current thread”)
RuntimeError: cannot join current thread

Jul 28 2017 08:28:23 Lost serial connection. Cannot write to serial
Terminating due to fatal serial error
Jul 28 2017 08:28:55 Notification: Script started for beer 'Test 1’
Jul 28 2017 08:28:55 Connecting to controller…
Jul 28 2017 08:28:55 Opening serial port
Jul 28 2017 08:28:55 Checking software version on c

Here is the graph of the spike that coincided with that error.

@gonzo this seems to be possible related to the same issues I and @bpascucci are experiencing.

@elco what do you think?

Yes, I think so. I’m working on a fix!

Ok. Let me know if you need anything to assist with that.

In other news, here’s the latest graph after some adjustments in the chamber. Looks like it’s tracking the target beer temp pretty tight.