Using the following code to autotune the PID:

M303 E0 S200 C10

Which is setting my tuning temperature to 200 °C using 10 cycles (though this is irrelevant in this scenario).

The temperature overshoots to 250 °C then decreases until room temperature.

The following error is returned:

PID Autotune failed! Temperature too high

PID Autotune graph

As a test I reset all PID values to zero.

M301 P00.00 I00.00 D00.00


Then set the printer to reach 200 °C

M104 S200

This produced the following graph, where oscillations can be seen.

PID All values set to zero

I could attempt to manual tune the PID from here but I'd rather use the autotune command if possible. Any ideas how to fix this?

  • 2
    $\begingroup$ No sure what exactly went wrong here, but increasing the PID_FUNCTIONAL_RANGE may help. The overshoot may also have triggered overtemp protections (HEATER_0_MAXTEMP) $\endgroup$
    – towe
    Commented Mar 5, 2020 at 14:46
  • $\begingroup$ @towe I am receiving the message "PID Autotune failed! Temperature too high" so it looks like you are correct about the overtemp protections. However, I am unsure about how to/what to adjust PID_FUNCTIONAL_RANGE and HEATER_0_MAXTEMP to? $\endgroup$
    – FEA42
    Commented Mar 5, 2020 at 17:48
  • 2
    $\begingroup$ We'd need to know what printer (/ hotend) model you're using to say for sure what HEATER_0_MAXTEMP would be safe. PID_FUNCTIONAL_RANGE is just a way of ensure fast heat up times. By default, Marlin heats at 100% power until it's at (Target temperature) - (PID_FUNCTIONAL_RANGE) and only then starts to modulate heating power with PWM. I'm not sure whether that applies to PID tuning though. How long does the hot end take to heat up to the target temperature (with PID = 0)? $\endgroup$
    – towe
    Commented Mar 6, 2020 at 7:13
  • $\begingroup$ @towe The printer I'm using is a Creality Ender 3, the hotend setup is the stock 20W heater cartridge and thermistor, with the Ender 3 having an output power of 24W. The heater block I am using is not stock however, it is a custom one I made myself. With PID=0, the heat up time from room temp to 200°C is approx. 40s $\endgroup$
    – FEA42
    Commented Mar 6, 2020 at 13:47

1 Answer 1


I recently experienced exactly the same problem. For me it was related to an incorrect heater cartridge. I accidentally used a 12 V cartridge in a 24 V powered system.

The heater element got accidentally mixed up between the higher voltage parts container and I forgot to check the resistance. Inserting the correct voltage heater immediately fixed the problem, but it did require a retune of the hotend.

  • 2
    $\begingroup$ This is the correct solution to my problem, I realised just the other day that I was using a 12V cartridge as opposed to the 24V cartridge I normally use. $\endgroup$
    – FEA42
    Commented Apr 3, 2020 at 9:38
  • $\begingroup$ It got me puzzled for a while until I decided to measure the resistance of the cartridge... Glad it fixed it for you too! $\endgroup$
    – 0scar
    Commented Apr 3, 2020 at 9:51
  • 1
    $\begingroup$ I guess this should be one of our FAQ ones XD $\endgroup$
    – Trish
    Commented Apr 3, 2020 at 12:38
  • $\begingroup$ same problem.Got my e3dv6 for 12V system and forgot it..... $\endgroup$
    – FrontENG
    Commented Sep 1, 2020 at 12:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .