Temp fluctuation and steady state error at certain temperatures

On the last couple beers, I’ve noticed at certain temperatures there is a lot of overshoot. At about 65 F the fridge temp will fluctuate +/-10 F constantly and the beer will fluctuate +/-1 F. At 53 F the fridge temp only moves +/-5 F and beer is +/-1 F.


  • Arduino based BrewPi
  • 10 gallons of beer fermenting in a 12 gallon plastic fermenter. Beer probe in thermowell.
  • 150W lightbulb for heater
  • Fans circulating air
  • Kp=5, Ki=0.25, Kd=1.5, PID max=10


53 degrees:

65 degrees:

35 degrees:

In your case, I would go for a smaller difference between air and fridge temp by setting Kp to 2 and increase Kd to counter overshoot.

Alright, settings changed. Hopefully this helps. Thanks a lot!

After a couple days with the updated settings, it doesn’t seem to have changed much. Now it is fluctuating between 34-37F with a 35F setpoint. This beer is about to be kegged this weekend so I will have to wait to see what happens with the next brew. Maybe I’ll get another Photon and switch over to BrewPi Spark.

I am pretty sure the algorithm on the BrewPi Spark will do a much better job for this, but I am still surprised you are not getting better results.

There is a lot of lag between the fridge temp and the change in beer temp. Reducing that will be key to better control.
You might be able to reduce cooling overshoot by moving the fridge sensor towards the back of the fridge, where the temperature is the lowest.