Revised Sous Vide PID Calibration

We want to quickly amend how to calibrate PID parameters for the sous vide. Experience now shows that our last calibration often overshot more than the default settings.

Although we took data over a few hours for our old settings, the true results only came to light after we played with our vide for a month. Evaporation is more complex than we expected, but after we tinkered around with some fudge factors everything turned out all right.

Temperature versus time for three sets of PID parameters: default (green), auto-tuned (red), new (blue). The target value is 60º C.

In our formulas we varied parameters all over the place until we got something that converges as fast as possible in most situations (i.e. small pots, big pots, different heaters, covered, uncovered.. etc). However, this diagram simulates a middle-of-the-road model of a semi-covered pot 30 cm in diameter, with 20 cm of water and a 1000 W heater for heating and evaporative cooling.  You can see in the figure the original temperature curve (green), after auto-tuning (red), and with our new PID parameters.

The optimized parameters: P: 0.2%; I: 2000 sec; D: 0 sec.

To put these into the JLD 612 PID controller: Press SET; enter code “0036”; press SET; press up or down to P; enter 00.2; press SET; press up to I; enter 1999; press SET; press up to d; press SET; enter 000; press SET. Press up or down to End; press SET.  The parameters will remain set even after your controller is unplugged.

Good luck!

Tags: , , , , , , , , ,


Subscribe to our e-mail newsletter to receive updates.

15 Responses to “Revised Sous Vide PID Calibration”

  1. tward
    April 7, 2011 at 12:21 am #

    What heating element (wattage) was used to make these settings? The proper PID settings depend on the heating element wattage. (In prior posts you’d used the Norpro as well as a bucket heater.)

    • April 7, 2011 at 7:25 pm #

      The chart above used the 1000 W heater, but I found that the ideal values for I were higher than the JLD 612 could handle, and so I used the max. Changing the heater power or water level or target temperature doesn’t change this (it is maxed out in every case).

      I wasn’t able to model the “overshoot correction” that the JLD 612 has in its manual because I don’t know its form. There may be some way to get a better tuning using this, but for me the above tuning works well enough.

      • tward
        April 8, 2011 at 2:36 pm #

        Well this is interesting, because way back in my brain I was remembering a controls class I took over a decade ago. I started thinking about our simple system here, namely a water bath. Water has a high specific heat and we’ve got a large amount of it, and with the forced circulation the change in temperature is nearly uniform and instantaneous in response to our manipulated variable (heater) (and assuming our temperature sensor has little lag, the controller sees these changes very quickly). What does this mean…? Well, it implies that proportional-only (P) control would be the way to go. Why? Because our heating element power is small w.r.t. to the size of the water bath and has little latent heat and there’s little lag and so we probably won’t overshoot and thus can “let ‘er rip” and set the control period long enough so we won’t undershoot and thus we won’t need I to deal with that and we won’t need D for overshoot. And that’s what you’ve got above (max Integral Time means I is off and zero Differentiation Time means D is off).

        Now this is where things get interesting. I finally noticed that the P term for our controller is termed “Proportional Band” which is the reciprocal of “Proportional Gain”. Setting Proportional Band to a very low value sets Proportitonal Gain very high. So we expect the heaters to stay on until we get very close to the set point.

        So…we’ve got something very close to a simple on/off controller that could be controlled with a simple alarm with hysteresis. Well then, the hunt is on for an affordable display with alarm. In other words, I’m starting to think this application does not need a PID controller at all!

        • April 27, 2011 at 6:00 pm #

          The I component is important to provide offset: If you check the wikipedia page, you will see that with only a proportional term, the equilibrium value will not be the same as the set value. It is also a finite proportional and integral value, rather than just on/off (which would be infinite), which does keep the temperature closer to the set value. But an on/off controller would probably keep you within a degree C, and would not be a bad setup for most things.

          • Kuba
            November 1, 2011 at 12:58 pm #

            The controller has an on/off output anyway. It only has a proportional output if you attach it to an external SSR (solid state relay). The output to the heater is a relay, nothing proportional about it. As for the integral value, you’ve set it to the maximum, effectively disabling it. As for the proportional value, its setting only affects how close the temperature has to be to the setpoint for the heater to come off, since the output is on-off anyway. Perhaps it clicks the relay on and off often enough to approximate a proportional output given the thermal lag of the heater, but that’s what bang-bang controllers do, too!

  2. Ron D
    November 15, 2011 at 7:50 am #

    Starting my new DIY Sous Vide, except using a 7 QT crock pot. I tried Auto Tune and got these results. When testing I set it at 62C, and PID shut at 62.1, but heat went up to 64C in 15 min, then back down to 61.9 in 20 min, PID turned on, temp went as low as 61.7 in 3 min, then back to 62c in 3 min, PID shut off, temp reached 63.2 in 8 min.
    Can I set it manually? What settings? I used yours and at 62.2c PID blinking, temp went up to almost 65C

  3. bcs
    April 8, 2012 at 11:21 am #

    Hello, unfortunetaly the manual for this device is not too useful. Tehere is an unknown computing method, which works however, but a bit scrambled.
    Parameter “P” is not the Gain of the proportional band, but even not the 100/Gain.
    Furthermore, result of settib the parameter of “I” and “D” both depend on “P”, AND ! on “Ot” (control period) !!!! wow!
    In an average use for sous-vide (controlling for example a rise-cooker, a working set is as follows:
    P=0.1 , I=60, D=115, SouF=0.2, Ot=4.
    Regards! csaba

    • ays
      May 17, 2012 at 9:54 pm #

      Thanks bcs these settings worked perfectly for my controller.
      I am using a “Chef Tony Wonder Cooker” maxed out and filled to the top mark and an SSR and it holds the temperature at 62 most of the time. Every now and then it goes to 61 for a few seconds but it hasn’t overshot at all..

  4. katgoo
    September 23, 2012 at 6:48 pm #

    P: 0.2%; I: 2000 sec; D: 0 sec seems to work very well for my 32 cup Aroma rice cooker. Thanks!

    The default and the AT produced bad results.

  5. Frankie
    November 14, 2012 at 5:40 pm #

    Hi im having problems with the PID controller and I was hoping you could help. When I plug in my DIY sous vide machine the screen flickers on and off with a clicking noise. It doens’t do this when I am in the settings mode. Do you know how i can fix this? Thanks

    • James N
      February 26, 2013 at 8:03 am #

      Sounds like you have something wired wrong. Please make sure all of your equipment is plugged into a GHCI outlet for your safety. Electricity is dangerous.

  6. Marius
    December 17, 2012 at 11:45 am #

    I don’t know if it is possible, but i have the JLD612 PID controller from Lightobject and i’d like it to be more precise than one degree celcius. For now I can adjust SV (Sought Value) by 1. However, I’d like to adjust it with 0,5 or even better 0,1 degree accuracy. Anybody who knows if this is possible, and how it’s done on the JLD612?


  1. DIY Sous Vide Accuracy | Q and Abe - April 2, 2011

    […] Aspects of PID tuning here may not be correct. See our revised article for better PID values. Our setup for accuracy […]

  2. $50 DIY sous vide immersion heater/circulator | Q and Abe - April 2, 2011

    […] our PID tuning parameters to reach the target temperature […]

  3. $70 DIY Sous Vide Universal Controller | Q and Abe - April 2, 2011

    […] should also update your PID settings to save time heating up your water […]

Leave a Reply