<p>According to the description to use <a href="https://reprap.org/wiki/G-code#M301:_Set_PID_parameters" rel="nofollow noreferrer"><code>M301</code></a>, the heater number needs to be included,</p>
<pre><code>M301 P20 I0.02 D250
</code></pre>
<p>should therefore be:</p>
<pre><code>M301 H1 P20 I0.02 D250
</code></pre>
<blockquote>
<p><strong>Parameters</strong><br>
Hnnn heater number (Smoothie uses 'S', Redeem uses 'E')<br>
Pnnn proportional (Kp)<br>
Innn integral (Ki)<br>
Dnnn derivative (Kd)<br>
<strong>Examples</strong><br>
M301 H1 P1 I2 D3 ; Marlin, RepRapFirmware</p>
</blockquote>

CC BY-SA 4.0
2024-05-18T13:43:42.240Z
2024-05-18T13:43:42.240Z
0scar
<p>I am trying to implement new PID values to try and solve a heat creep issue. The Marlin command <code>M301</code> and <code>M304</code> do not get a response (example code below). <code>M104</code>, <code>M503</code>, and <code>M303</code> all work. When I use <code>M503</code> to view the current PID values, they also haven't changed. I am using a Monoprice Select Printer and Pronterface to communicate.</p>
<pre><code>&gt;&gt;&gt; M301 P20 I0.02 D250
SENDING:M301 P20 I0.02 D250
&gt;&gt;&gt; M301
SENDING:M301
&gt;&gt;&gt; M503
SENDING:M503
EPR:2 75 115200 Baudrate
EPR:3 129 2822.120 Filament printed [m]
EPR:2 125 2200571 Printer active [s]
EPR:2 79 0 Max. inactive time [ms,0=off]
EPR:2 83 360000 Stop stepper after inactivity [ms,0=off]
EPR:3 3 80.0000 X-axis steps per mm
EPR:3 7 80.0000 Y-axis steps per mm
EPR:3 11 405.4591 Z-axis steps per mm
EPR:3 15 200.000 X-axis max. feedrate [mm/s]
EPR:3 19 200.000 Y-axis max. feedrate [mm/s]
EPR:3 23 2.000 Z-axis max. feedrate [mm/s]
EPR:3 27 40.000 X-axis homing feedrate [mm/s]
EPR:3 31 40.000 Y-axis homing feedrate [mm/s]
EPR:3 35 2.000 Z-axis homing feedrate [mm/s]
EPR:3 39 20.000 Max. jerk [mm/s]
EPR:3 47 0.300 Max. Z-jerk [mm/s]
EPR:3 133 0.000 X home pos [mm]
EPR:3 137 0.000 Y home pos [mm]
EPR:3 141 0.000 Z home pos [mm]
EPR:3 145 200.000 X max length [mm]
EPR:3 149 200.000 Y max length [mm]
EPR:3 153 180.000 Z max length [mm]
EPR:3 51 1000.000 X-axis acceleration [mm/s^2]
EPR:3 55 1000.000 Y-axis acceleration [mm/s^2]
EPR:3 59 100.000 Z-axis acceleration [mm/s^2]
EPR:3 63 1000.000 X-axis travel acceleration [mm/s^2]
EPR:3 67 1000.000 Y-axis travel acceleration [mm/s^2]
EPR:3 71 100.000 Z-axis travel acceleration [mm/s^2]
EPR:0 880 0 Autolevel active (1/0)
EPR:0 106 0 Bed Heat Manager [0-3]
EPR:0 107 255 Bed PID drive max
EPR:0 124 80 Bed PID drive min
EPR:3 108 196.000 Bed PID P-gain
EPR:3 112 33.000 Bed PID I-gain
EPR:3 116 290.000 Bed PID D-gain
EPR:0 120 255 Bed PID max value [0-255]
EPR:3 200 96.000 Extr.1 steps per mm
EPR:3 204 50.000 Extr.1 max. feedrate [mm/s]
EPR:3 208 20.000 Extr.1 start feedrate [mm/s]
EPR:3 212 5000.000 Extr.1 acceleration [mm/s^2]
EPR:0 216 0 Extr.1 heat manager [0-3]
EPR:0 217 230 Extr.1 PID drive max
EPR:0 245 40 Extr.1 PID drive min
EPR:3 218 7.0000 Extr.1 PID P-gain/dead-time
EPR:3 222 2.0000 Extr.1 PID I-gain
EPR:3 226 40.0000 Extr.1 PID D-gain
EPR:0 230 255 Extr.1 PID max value [0-255]
EPR:2 231 0 Extr.1 X-offset [steps]
EPR:2 235 0 Extr.1 Y-offset [steps]
EPR:1 239 1 Extr.1 temp. stabilize time [s]
EPR:1 250 150 Extr.1 temp. for retraction when heating [C]
EPR:1 252 0 Extr.1 distance to retract when heating [mm]
EPR:0 254 255 Extr.1 extruder cooler speed [0-255]
</code></pre>

CC BY-SA 4.0
2024-05-18T13:30:33.390Z
What makes you think that a different PID schedule will give better heat creep resistance? As far as I know there is no link between PID and heat creep, unless you overshoot 40-50 °C or do. Heat creep is mostly related to too high print temperatures, printing speed and retraction length.
0scar
<marlin><hotend><monoprice-maker-select>
M301 command no response on Monoprice Select
Simon Kozik
# M301 command no response on Monoprice Select

(Asked by: username_0 on 2024-05-17)

I am trying to implement new PID values to try and solve a heat creep issue. The Marlin command `M301` and `M304` do not get a response (example code below). `M104`, `M503`, and `M303` all work. When I use `M503` to view the current PID values, they also haven't changed. I am using a Monoprice Select Printer and Pronterface to communicate.

```
>>> M301 P20 I0.02 D250
SENDING:M301 P20 I0.02 D250
>>> M301
SENDING:M301
>>> M503
SENDING:M503
EPR:2 75 115200 Baudrate
EPR:3 129 2822.120 Filament printed [m]
EPR:2 125 2200571 Printer active [s]
EPR:2 79 0 Max. inactive time [ms,0=off]
EPR:2 83 360000 Stop stepper after inactivity [ms,0=off]
EPR:3 3 80.0000 X-axis steps per mm
EPR:3 7 80.0000 Y-axis steps per mm
EPR:3 11 405.4591 Z-axis steps per mm
EPR:3 15 200.000 X-axis max. feedrate [mm/s]
EPR:3 19 200.000 Y-axis max. feedrate [mm/s]
EPR:3 23 2.000 Z-axis max. feedrate [mm/s]
EPR:3 27 40.000 X-axis homing feedrate [mm/s]
EPR:3 31 40.000 Y-axis homing feedrate [mm/s]
EPR:3 35 2.000 Z-axis homing feedrate [mm/s]
EPR:3 39 20.000 Max. jerk [mm/s]
EPR:3 47 0.300 Max. Z-jerk [mm/s]
EPR:3 133 0.000 X home pos [mm]
EPR:3 137 0.000 Y home pos [mm]
EPR:3 141 0.000 Z home pos [mm]
EPR:3 145 200.000 X max length [mm]
EPR:3 149 200.000 Y max length [mm]
EPR:3 153 180.000 Z max length [mm]
EPR:3 51 1000.000 X-axis acceleration [mm/s^2]
EPR:3 55 1000.000 Y-axis acceleration [mm/s^2]
EPR:3 59 100.000 Z-axis acceleration [mm/s^2]
EPR:3 63 1000.000 X-axis travel acceleration [mm/s^2]
EPR:3 67 1000.000 Y-axis travel acceleration [mm/s^2]
EPR:3 71 100.000 Z-axis travel acceleration [mm/s^2]
EPR:0 880 0 Autolevel active (1/0)
EPR:0 106 0 Bed Heat Manager [0-3]
EPR:0 107 255 Bed PID drive max
EPR:0 124 80 Bed PID drive min
EPR:3 108 196.000 Bed PID P-gain
EPR:3 112 33.000 Bed PID I-gain
EPR:3 116 290.000 Bed PID D-gain
EPR:0 120 255 Bed PID max value [0-255]
EPR:3 200 96.000 Extr.1 steps per mm
EPR:3 204 50.000 Extr.1 max. feedrate [mm/s]
EPR:3 208 20.000 Extr.1 start feedrate [mm/s]
EPR:3 212 5000.000 Extr.1 acceleration [mm/s^2]
EPR:0 216 0 Extr.1 heat manager [0-3]
EPR:0 217 230 Extr.1 PID drive max
EPR:0 245 40 Extr.1 PID drive min
EPR:3 218 7.0000 Extr.1 PID P-gain/dead-time
EPR:3 222 2.0000 Extr.1 PID I-gain
EPR:3 226 40.0000 Extr.1 PID D-gain
EPR:0 230 255 Extr.1 PID max value [0-255]
EPR:2 231 0 Extr.1 X-offset [steps]
EPR:2 235 0 Extr.1 Y-offset [steps]
EPR:1 239 1 Extr.1 temp. stabilize time [s]
EPR:1 250 150 Extr.1 temp. for retraction when heating [C]
EPR:1 252 0 Extr.1 distance to retract when heating [mm]
EPR:0 254 255 Extr.1 extruder cooler speed [0-255]

```

**Tags:** marlin, hotend, monoprice-maker-select

> **Comments:**
> **username_1**: What makes you think that a different PID schedule will give better heat creep resistance? As far as I know there is no link between PID and heat creep, unless you overshoot 40-50 °C or do. Heat creep is mostly related to too high print temperatures, printing speed and retraction length.  

---

## 1 answers

### Answer by username_1 on 2024-05-18. Score: 1

According to the description to use [`M301`](https://reprap.org/wiki/G-code#M301:_Set_PID_parameters), the heater number needs to be included,

```
M301 P20 I0.02 D250

```

should therefore be:

```
M301 H1 P20 I0.02 D250

```

> **Parameters**  
> Hnnn heater number (Smoothie uses 'S', Redeem uses 'E')  
> Pnnn proportional (Kp)  
> Innn integral (Ki)  
> Dnnn derivative (Kd)  
> **Examples**  
> M301 H1 P1 I2 D3 ; Marlin, RepRapFirmware


---

