Site Navigation

Your Account

Choose Language


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.

  1. Open the G-Code Terminal in MatterControl.
  2. The M303 command runs the PID tuning. It uses the following format:
    • The M303 command runs the PID tuning. It uses the following format:

      • M303 E<extruder> S<temperature> C<cycles>

      • Example: M303 E0 S240 C3

    • The E option is not required on single extruder machines. To tune the heated bed, use P1 (Repetier) or E-1 (Marlin, others). On multi-extruder machines, use the number of the extruder you want to tune (starting with 0).

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

    • C is the number of cycles of tuning to run. We recommend 3.

    • Once you run this command the autotuning process will start. The printer will cycle the temperature up and down over the course of several minutes.

    • You can turn off the Filter Output option in the console to watch the temperatures change.

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

    • As the tuning 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 the M301 command. For this example:

      • M301 P29.31 I3.88 D55.42

    • In the case of multiple extruders, these settings will be applied to all of them.

    • For the bed, use M304 instead.

    • You can also save the values through the EEPROM settings in MatterControl.

    • When you are done, make everything permanent with M500.

Finish Line

4 other people completed this guide.

Tyler Anderson

Member since: 06/30/2015

2,149 Reputation

20 Guides authored


Hi MatterHackers,

I have robo R1 plus and the commend for Autotuning the bed doesn't work for me.

I have tried E-1, P1 and it's refer to the extruder.

Do you have another commend to try?

Meidad - Reply

Sorry but I don't have any other commands for you to try. The Robo uses Marlin firmware, and the Marlin documentation says to use E-1.

Maybe the Robo is on an old version of Marlin that didn't have this feature yet.

MatterHackers - Reply

What is the process for the bed tuning? The line in step 3 that says use m304 doesn’t tell me anything. Is m304 used to start the auto-tune? If so, are there any parameters that go with it? Where do you enter the constants?

Frank Brooks - Reply

View Statistics:

Past 24 Hours: 25

Past 7 Days: 215

Past 30 Days: 879

All Time: 16,459