A brief guide on how to utilise PID temperature tuning in Marlin. You will need to ensure that the following definitions are present in your firmware’s configuration to utilise this the temperature tuning functionality:
Table of Contents
#PIDTEMPfor the hotend
#PIDTEMPBEDfor the bed
Checking the current values
First you may wish to make a note of the current P, I, D values stored in the firmware; this isn’t essential but useful to compare to new values:
- Send G-code:
M301to the printer to get the current PID values for the hotend and make note of the returned values.
- Send G-code:
M304to the printer to get the PID values for the bed and make note of the returned values.
Performing a PPID tuning cycle
Next to start the P, I, D tuning process you need to send G-code:
M303 C < count > E < index > S < temp > U to the printer
- Hotend example:
M303 C15 E0 S215 U
- Heated bed example:
M303 C15 E-1 S60 U
When you initiate the M303 G-code commands the PID autotune process will start. The temperature will start to increase to the target temperature and fluctuate around that for the given number of cycles. The operation will be complete once the temperature begins to drop. For more verbose output you should consider connecting to the terminal on the printer at the time as this will let you see the operations progress and completion.
Once this process is done you can check and make a note of the new P, I, D values as they will very likely differ to those defined in your firmware.
|M301||Get/Set Hotend PID|
|M304||Get/Set Bed PID|
Example checking the current PID settings for the Hotend:
Example checking the current PID settings for the Bed:
Save all configurable settings to EEPROM
After you have compared the changed and are happy with the results; you can send G-code command
M500 to the printer to save the changes to the EEPROM.
Save PID settings manually
Example: setting the PID on the Hotend; note that the values of P,I,D should be replaced with your own:
M301 p:25.04 i:1.79 d:87.38
Example: for setting the PID on the Bed; note that the values of P,I,D should be replaced with your own:
M304 p:134.10 i:26.64 d:450.05