PID Autotuning Guide

PID (Proportional Integral Derivative) is the control algorithm the printers use for holding temperature. The parameters for this algorithm control how fast the printer reaches the set temperature, and how well it holds that temperature once it gets there. Fortunately, the printer has an automatic way of tuning these values.

STEP 1: Open a Gcode Terminal

Connect your printer to a computer and open a Gcode Terminal. The MatterControl Terminal tab will be used for this guide. Please see this guide if the Terminal tab is not visible.

STEP 2: Run the PID Autotune command

In the command prompt, type the M303 command in the following format:

M303 E<extruder> S<temperature> C<cycles>			
Example (Hotend):  M303 E0 S255 C5
Example (Heated bed):  M303 E-1 S70 C5			

E<extruder> is not a required field on single-extruder machines (except Smoothie). On multi-extruder machines, use the number of the extruder you want to tune (starting with 0).

To tune the heated bed, use E-1 (Marlin, others), E1 (Smoothie), or P1 (Repetier).

S<temperature> is the temperature you want to run the tuning at. This should be close to the temperature you will use for printing.

C<cycles> is the number of cycles of tuning to run. We recommend 5 cycles.

Note: the hotend will begin to heat, however the Set Temp will still read as "0"

STEP 3: Set PID Values

Note: Each firmware has different requirements for saving PID values. Consult your firmware's documentation to determine the correct method.

As the tuning process runs, the printer will calculate values for Kp, Ki, and Kd. When it is done, take the last three values provided and set these using either the M301 command, or via the Configure EEPROM window (if available). For this example:

Example:  M301 P34.38 I3.48 D84.78			

For the bed, use the M304 command instead:

Example:  M304 P33.76 I1.95 D389.06			

STEP 4: Save settings to EEPROM

When you are done, save the new settings using the M500 command.

Still need help? Contact Us Contact Us