Marlin 2.0 is one of the most popular 3D print firmware options available for aftermarket. However, it still has frequent problems, especially when loaded onto printers that you might have set up yourself. One of the most common of these issues is failed heating – where the software either overheats the 3D printer causing thermal runaway or the print fails because of a heating error. In other cases, you might hear a thermal runaway error alarm – which can be annoying. However, it also means something is wrong and it’s important to stop and check – because the alarm is in place to protect the printer and your home or build space.
Marlin “heating failed” errors usually relate to issues with a thermistor or a bad thermistor, code issues, or printer setup. There are several steps you can take to troubleshoot the best next steps to keep yourself and your printer safe.
Why Marlin Heating Failed Error Happens
The Marlin “heating failed” error is usually a result of two separate scenarios. The first is a “MINTEMP” issue. This normally relates to the 3D printer bed or the nozzle being unable to get up to temperature for whatever reason.
The second issue is closely related and also a thermal issue. The “thermal runaway error” means that the printer is registering heat that is too high for the settings or that the printer is not maintaining stable temperature. In this case, the thermal runaway protection built into the Marlin firmware will shut the print down, for your safety.
We’ll go over both possible scenarios below so you can troubleshoot and make changes.
Defective Thermistor
A broken, defective, or loose thermistor can cause both “heating failed” and “thermal runaway” errors. The thermistor is a resistor designed to detect and regulate temperature in the 3D printer. These resistors are strongly dependent on temperature (the name means thermal resistor), which allows them to function as self-regulating heating elements.
In most cases, the thermistor attached into the cartridge on the nozzle or hot end. You’ll see issues when the thermistor is bad or loose. For example, if one end of the thermistor isn’t firmly in place, it will pick up temperature from the air – it could push the hot end to keep heating – because the air is much cooler than the hot end should be. That could result in a MINTEMP issue. This roughly means “the printer is not getting up to temperature”.
- Double check that both ends of the thermistor are firmly in place.
- Try swapping your thermistor out for a new one. You can buy a 5 pack of Ender 3 thermistors for $15.
- Check if the issue relates to PID values. You can autotune using M303. If autotuning fails, check BANG_MAX parameters and adjust them to something that works for your cartridge. Around 240 is usually good for autotuning PID without overshooting temperature ranges.
- Set a D-term/I-term ratio to 4/1.5/25.
This issue is also common for people who use Marlin with CNC or with cold extrusion. Here, you normally want to set the printer bed and extruder to 998 (25C) or to disable M302 F1 and enable M302 PO S170 to update the temperature. Be sure to run M500 afterwards so that the changes save to EEPROM. Otherwise, you’ll have to reset each time you reboot.
Low Room Temperature
Printing in an unheated space can result in MINTEMP errors. Here, the room’s ambient temperature might be so low that the printer loses heat too fast to get up to temperature. You’ll have to heat the area, move the printer, or install the printer in an insulated box or tent to print.
Marlin also uses temperature stability requirements to regulate printing. If your printer doesn’t maintain a target temperature for a specified amount of time, it will cancel the print. So, even if your printer is getting up to temperature, if the room is too cold, it will quickly lose temperature. Then, the TEMP-RESIDENCY-TIME trigger will stop M109, and you’ll receive a heating error.
- Our new Filament Printing 101 Course is just for you! Lean how to create perfect professional prints without all the hassle.
- Don't let common mistakes hold you back, click the link to learn more and get ahead now!
If you keep getting errors and you’re certain it relates to room temperature, try increasing WATCH_TEMP_PERIOD or decreasing WATCH_TEMP_INCREASE. For safety, make sure you double check thermistors, heaters, and the connections first.
What is a MINTEMP ERROR?
MINTEMP errors are in place to a) assess if the printer’s thermal regulation is working correctly; b) to prevent thermal runaway; and c) to ensure that the print doesn’t run if the printer can’t get up to temperature. If the thermistor fails and doesn’t return a value, MINTEMP triggers. In addition, if the 3D printer loses heat so quickly the printer cannot get up to temperature, MINTEMP triggers. This is important both for controlling costs and for safety. For example, if your 3D printer has to run heating at maximum to print – the elements are likely significantly hotter than is safe to run. They can become a fire hazard, even if the bed isn’t warm enough for your print to properly adhere.
MINTEMP should be set to the lowest value in Celsius that your machine is likely to experience. So, if you’re printing indoors, you want 10-40C. If you’re printing in an unheated workshop, 0 might be appropriate. However, using 0 will disable a significant amount of thermal protection for your printer – meaning you won’t get warnings if your thermistor goes bad. Therefore, this is not recommended.
Importantly, Marlin also uses MAXTEMP. These settings are usually 275 for the extruder and 130 for the bed. The 3D printer will shut down if you exceed these temperatures.
Thermal Runaway Protection
Thermal Runaway Protection tackles the same problem from the opposite side. If the printer keeps heating up and doesn’t stop, thermal runaway errors shut the print down. Marlin software has had thermal runaway protection since V1. Today, it uses a heat setpoint to determine how warm the printer should be. If it overshoots, the 3D print will shut down – even if the overshoot is accidental.
- Check heat setpoints for Thermal protection. Make sure they are appropriate for your location and your print
Here, a few things could go wrong. For example, Marlin uses individual configurations per thermistor brand. If you’ve changed thermistor and not recalibrated, it could be inaccurately recording temperature. If you’ve purchased a generic thermistor, set it to 1, the generic profile. On the other hand, if you have a branded thermistor, try to use the configuration settings for that thermistor.
You might also have issues with the printer not heating up quickly enough. Here, Marlin issues a “Heating Failed” error in case the temperature fails to rise at an appropriate speed. The default setting is 2 degrees per 20 seconds. If it doesn’t, Marlin assumes a heater or thermistor issue and shuts the printer down.
Finally, you might have a thermal stabilization issue. If the temperature drifts from the target temperature, you’ll receive a “Thermal runaway” error. This might indicate the thermistor isn’t touching the hot end, that the PID needs turning, or that the environment is too cold. You can always check settings under Configuration_adv.h.
Why Should It Be Active?
Thermal runaway protection is one of the most important safety settings on your 3D printer. It shuts the printer off in case the heat does not meet expected norms. This prevents your printer from becoming a fire hazard if it overheats. For example, if the thermistor is loose and the printer keeps heating up because it’s measuring ambient temperature, it could burst into flames. Good fire prevention measures require having the thermistor on.
Never Turn Off Your Thermal Runaway Protection
While it’s common practice to turn off thermal runaway protection for CNC machines it’s too much risk to do so with a 3D printer.
Deactivating thermal runaway protection means you have no safety in place in case loose thermistors or other issues occur. Your printer could be a fire hazard.
Frequently Asked Questions
If you still have questions about heating failed errors with Marlin firmware, keep reading.
What is the difference between a thermistor and a thermostat?
A thermistor is a resistor that primarily resists heat. A thermostat is a switch that responds to heat settings to switch heating and cooling on and off. In the case of the 3D printer, the thermistor functions to measure and regulate the heating element in the printer. However, the 3D printer also uses electronic thermostat features to switch heating on and off based on the readings provided by the thermistor. E.g., when you receive a MINTEMP error – that’s the electronic thermostat switching the heating and the printer off.
How hot can a 3D printer get?
3D printers are normally set to MAXTEMP of 275 or 285C. However, without those MAXTEMP settings, your printer can get much hotter. It may also combust. High temperature 3D printers, such as those intended to extrude metals or high heat plastics, can often reach temperatures in excess of 450C.
How likely is a 3D printer to set on fire?
Without good heat management settings, any 3D printer is a fire hazard. However, even with good controls in place, it is not advised to leave 3D printers running unattended.
Summing It Up
Marlin software can show “heating failed” issues for a variety of reasons. The most common is the thermal runaway is telling you that the extruder or bed are not getting up to temperature at a fast enough pace. You should check the connections and the thermistor and try again. However, this can also be caused by issues with PID, ambient temperature, or other settings. Troubleshooting should quickly resolve the issue.
Hopefully this article helps you fix your error messages so you can get back to printing. Hopefully, you can do so without disabling safety features intended to prevent 3D printer damage. It’s important to keep thermal runaway protection on for your own safety. And, with most issues being relatively easy to fix, you shouldn’t have to in order to resolve a heating error message.