Back to the Gcode Dictionary
M303: Run heater tuning
- Hnnn heater number (in RRF 3.2 and later, this parameter is optional if the T parameter is given)
- Pnnn PWM to use, 0 to 1 (you should normally use 1 i.e. full power), default 1
- Snnn target temperature
- Tnnn (RRF 3.2 and later, optional) Tool whose primary heater is to be tuned
- Annn (RRF 3.2 and later, optional) ambient temperature - use this parameter if you want to tune a heater that has been on and has not cooled down to ambient temperature yet
- Ynn (RRF 3.3beta3 and later optional) Tuning cycle hysteresis, default 5C. When tuning bed heaters that are slow to cool down, tuning will be faster if you use a lower value, provided that there is no noise in the temperature readings.
- Fnn (RRF 3.3beta3 and later) Fan PWM to use when the print cooling fan is turned on (ignored if the T parameter is not present), default 1.0. Use a lower value if your printer uses a powerful print cooling fan that you do not normally run at full PWM.
- M303 H1 P1 S240 ; tune heater 1 using 100% PWM, target temperature 240C
- M303 T0 S205 ; tune the primary heater of tool 0 (RRF 3.2beta3.2 and later)
PID Tuning refers to a control algorithm used to tune heating behaviour for hot ends and heated beds. This command computes the process model parameters (see M307), which are in turn used to calculate the PID constants. Note that the tuning algorithm will overshoot the target temperature; the amount of overshoot depends on how powerful the heater is. See Wiki:Tuning Temperature Control.
Tuning is performed asynchronously. Run M303 with no parameters while a tuning is underway to see the current tuning state, or the last tuning result if the tuning process has already completed.