A thermal runaway is perhaps the worst and most dangerous thing that can happen during the 3D printing process, causing the components of the 3D printer to uncontrollably heat up to temperatures that are way above the intended levels.
Fortunately, most 3D printer firmware comes with a thermal runaway protection feature, which allows the printer to detect the possibility of a thermal runaway by comparing the temperature readings to the intended temperatures and stopping the printing process if danger is imminent.
In today’s article, we will examine one of the more critical errors you can come across during the 3D printing process if you’re using the Marlin firmware, which is the thermal runaway error that entirely stops the print due to the possibility of a thermal runaway.
So, what is the thermal runaway error in Marlin firmware?
Thermal runaway is an error resulting from the 3D printer losing control of the nozzle or the bed temperature, where the nozzle or the bed ends up heating to dangerous temperatures due to hardware failures in critical components such as the thermistor or the heating block.
As the Marlin firmware has measures in place against the hazardous issue of thermal runaway, seeing the thermal runaway error on the screen of your printer should mean that the firmware detected the possibility of a thermal runaway and prevented it.
Moving forward, we will dive deeper into the thermal runaway error, analyze the thermal runaway protection feature of Marlin firmware, and look at ways to configure the feature for it to work as optimally as possible.
What Is the Thermal Runaway Error in Marlin Firmware?
As the thermal runaway error will cause the printing process to come to a halt, it can be pretty disappointing to see this error suddenly pop up on the screen in the middle of a print.
The thermal runaway error in Marlin firmware (or any other firmware) refers to the fact that there is a disparity between the reported temperature and the calculated temperature of the bed or the nozzle, which essentially means that the 3D printer has lost control of the temperatures due to hardware problems.
An example to such a scenario would be a problem with the thermistor that causes it to report the temperature of the nozzle to be lesser than what it is, compelling the printer to unknowingly push the temperature of the nozzle higher, which would bring the actual temperature of the nozzle to dangerous levels.
Fortunately, seeing this error on your printer’s interface means that the firmware is aware of the thermal runaway, and the printing process is halted to prevent the possibility of the temperatures reaching such dangerous levels.
Does Marlin Firmware Have Thermal Runaway Protection?
Since the occurrence of a thermal runaway can have catastrophic results, it’s paramount for the firmware you use to have thermal runaway protection in place to keep the environment safe.
Marlin firmware has thermal runaway protection in place for the hotend, the heated bed, the heated chamber, and the laser cooler of your 3D printer by default, meaning that it will actively detect the possibility of a thermal runaway for any of these components.
Upon detecting the possibility of a thermal runaway for any component, Marlin firmware will immediately power these components down and halt the printing process to ensure that the temperatures don’t reach catastrophic levels.
How to Activate Thermal Runaway Protection in Marlin Firmware?
Ensuring that the thermal runaway protection is active for your 3D printer is one of the first things we recommend doing before starting the printing process, as it’s a vital safety measure that should stay operational at all times.
Since Marlin firmware has the thermal runaway protection feature active by default, you don’t need to perform extra steps other than ensuring that the firmware you’re using is up-to-date and downloaded from the official source.
On the other hand, if you would like to confirm that thermal runaway protection is active, we recommend following the steps below:
- Find the copy of Marlin firmware you have flashed to your 3D printer.
- Open the Configuration.h file in your favorite text editor.
- Find the lines #define THERMAL_PROTECTION_HOTENDS, and #define THERMAL_PROTECTION_BED in the file.
The thermal runaway protection feature is active for the hotend and the bed if you can find the lines in the file, and they aren’t commented out (they shouldn’t have // before them).
Marlin Thermal Runaway Protection Too Sensitive – What to Do?
While the primary purpose of thermal runaway protection is to prevent a dangerous scenario from arising, the configuration of the feature can be too sensitive at times and halt the printing process when there is no risk of a thermal runaway at all.
If the Marlin thermal runaway protection is way too sensitive in your case, the first solution we recommend is auto-tuning the PID, which will ensure that the firmware has the correct PID values in place for it to calculate the temperatures correctly.
To automatically tune the PID in Marlin firmware, you can use the M303 G-Code, which you can read more about in Marlin’s official documentation.
PID (Proportional Integral Derivative) is a mechanism that allows your 3D printer to reduce temperature fluctuations by using the calibrated P, I, and D values, meaning that these values need to be as accurate as possible for the printer to be able to hold stable temperatures.
On the other hand, if the Marlin thermal runaway protection is still acting up with the correct PID values, you may need to adjust the thermal protection settings of the firmware (which are responsible for determining when the thermal runaway protection activates) and re-flash the updated version.
Below, we have listed the two values that are responsible for the activation of the thermal runaway protection, their purpose, and where you can find them in the code:
- THERMAL_PROTECTION_HYSTERESIS – The maximum temperature difference allowed between the target temperature and the temperature reported by the thermistor for the thermal runaway protection to kick in. (Configuration_adv.h – #287 for the nozzle, #315 for the bed)
- THERMAL_PROTECTION_PERIOD – The amount of time spent in the situation where the difference between the target temperature and the thermistor is greater than the hysteresis value before the thermal runaway protection kicks in. (Configuration_adv.h – #286 for the nozzle, #314 for the bed)
In most cases, the best course of action is to increase the hysteresis value in increments of 1 until the thermal runaway protection does not trigger unintendedly.
We don’t recommend the modification of these values unless you’re familiar with how the thermal runaway protection operates, as misconfiguring these values can make the situation even worse or prevent the thermal runaway protection from kicking in when it should.
While seeing the thermal runaway error appear on the screen is definitely not pleasant due to it halting the printing process, it’s a sign that we do not recommend ignoring due to the severity of the consequences a thermal runaway can create.
To quickly recap, thermal runaway is a dangerous issue that can even cause the 3D printer to catch fire in severe cases, as it essentially means that the printer is unable the regulate the temperature of the nozzle or the bed anymore.
On the other hand, as Marlin firmware can detect the issue of thermal runaway, the appearance of the thermal runaway notice on the screen of your 3D printer means that the firmware has halted the printing process before further damage occurs.
Mike started his 3D printing journey with the Anet A8 when it first came out back in 2017, and has been obsessed with 3D printers ever since. Nowadays, he primarily uses his Ender 3 to print functional parts that make his life more convenient whenever possible.