Earlier today I successfully completed a small print (less than 1 hour) on our Tevo Tarantula. When it came time to print the next one, I started preheating for PLA and got an "E1 Thermal Runaway" error. I replaced the heating element with a backup and got no error on preheat.

With an estimated 5+ hrs printing time, the print got about 1 hour in before it quit with another "E1 Thermal Runaway" error. This is with a brand new heating element, the third in about as many months, and I don't do much printing at all.

Is this normal for the elements to be so shoddy or are there settings I need to be changing? I still have the first 2 elements that I thought had died but maybe that's not the issue at all so I'll hang onto them in case I'm overlooking some code to change in Marlin.

I've tried connecting and reconnecting both the wires for the heating element and for the thermistor. I've tightened and loosened the screw holding the thermistor in the heating block. While it did heat up momentarily, the error popped up again after less than a minute:

23:40:57.529 : echo:DEBUG:INFO,ERRORS
23:41:04.974 : PID Autotune start
23:41:37.274 : Error:Heating failed, system stopped! Heater_ID: 0
23:41:37.274 : Error:Printer halted. kill() called!

How can I find out what is wrong?

  • 3
    $\begingroup$ did you run a PID tune? $\endgroup$
    – Trish
    Commented Dec 10, 2018 at 8:14
  • $\begingroup$ @Trish I haven't run a PID tune. I've only just learned about what that is so I'm hoping to give it a shot this week sometime. $\endgroup$
    – dugost
    Commented Dec 11, 2018 at 5:23
  • $\begingroup$ Why are you on your third heating element in 3 months? $\endgroup$
    – kolosy
    Commented Aug 22, 2019 at 15:20

4 Answers 4


1 PID Tune

Changing the thermosensor or the heater cartridge is a big change in the system: each of these items has internal errors differing them from each other item. If your thermosensor has a different standard resistance by a small way than the one before, if the resistance of the cartridge is different, then the chip gets readings it does not expect. This is why a change of either of these components (or to a different heater block size/material for the matter) one should run a PID tune, teaching the chip how the new sensor/cartridge behave.

To do this, connect to your Printer via an USB Cable and run a software that can send raw gcode. I prefer Repetier Host, but other software also works. I like to follow the instructions of the e3D v6 assembly manual, but the video by Tom (Thomas Sanladererer) and the RepRap Wiki have excellent explanations too.

  • Send M303 E0 S200 C8
  • wait for finishing
  • send M301 with the values you just got returned. One example might read M301 P17.28 I0.63 D118.87
  • sent M500 to update your EEPROM

If this doesn't help, we might have a bigger problem, so let's go troubleshooting! Hardware first, then Firmware.

A few useful hints that Thomas Sanladerer found when he was checking his printers for fire hazards:

  • A shorted out thermosensor (closed loop, 0-Resistance) triggers Maxtemp
  • A burnt out thermosensor (open loop) triggers Mintemp
  • A non-connected or burnt out (open loop) Cartridge triggers thermal runaway, as does any other error with the cartridge that leads to abnormal heating.

2 Check the Hardware

Hardware can fail, we all know that. But luckily there are only 5 items involved that could fail:

2.1 Check all connections

If the heater cartridge is not connected properly, that will result in a Thermal Runaway Error, as the thermosensor does not detect any change.

A non connected thermosensor will trigger a mintemp error, a shorted thermosensor will trigger maxtemp error.

2.2 Check the resistance of the heater cartridge

A broken heater cartridge can have two results: either it conducts no electricity at all (for example if a lead is broken), or it acts as a jumper and has no resistance at all. To check this, use a multimeter and measure the resistance in Ohm by connecting it to the leads of the cartridge while it is dismounted. A broken circuit in the cartridge triggers Thermal Runaway, a shorted out cartridge can break the board in worst case. A pictoral guide for analogue Multimeters.

My e3D light6 in my 12 V TronXY has a resistance of about 5.2 Ω. The Value you will get depends on what kind of heater cartridge you use. For reference: e3D Heater Cartridges are documented to be around 4.8 Ω for 12 V & 30 W, 3.6 Ω for 12 V & 40 W, 19.2 Ω for 24 V 30 W and 14.4 Ω for 24 V 40 W.

If your Value is given as infinite or near 0 Ω, your heater cartridge is broken - Though having 3 defect heater cartridges seems unlikely on first glance, unless something shortens their lifespan considerably.

2.3 Check your supply voltage

Now comes a thing that can be dangerous for you will measure a live circuit. Be aware that you are working with live current when you do this. Do NOT bring your fingers into contact with unshielded wires!

Set your Multimeter to check the Voltage. Connect the test probes to the output of the power supply that runs into the board. Power up the voltage supply. It should read close to 12 or 24V, depending on your machine.

2.4 Check the voltage given by the board

Again, this is measuring live current and can be dangerous. Use maximum care not to fry yourself!

If your Power supply is working, then it might be the board that is not allowing the current to get the heater cartridge. So we need to measure if it gets power. Since I=U/R, and we have established that R is not 0 or infinity (see above), we can establish if there is I by simply measuring U, which is the voltage.

Mount the tips of your multimeter into the clamps that should take the leads for the heater cartridge and set it to measure the Voltage. Make sure they have contact. Connect the machine to power and start it up. Order it to heat up the cartridge. It should show a voltage that is similar to your supply voltage (12/24V).

2.5 Thermosensor

The Thermosensor might trigger an error if it is faulty but not entirely broken. A broken thermosensor should trigger MINTEMP for a broken open and MAXTEMP for a shorted out sensor. The only way to test this would be to measure it against items of known temperature, for example using the bed sensor as Benchmark.

3 Check the Firmware

3.1 Thermosensor settings

In some cases, the temperature tables of the thermosensors are not compatible and one has to change the settings for that in the firmware. One of the best rundowns I know is in the e3D light6/v6 firmware manual, if you need more help than this.

In the Marlin 1.9 you do this in Configuation.h, under the header Thermal Settings. In my Ender 3 this is done in line 289:

#define TEMP_SENSOR_0 5

That means, that my temperature sensor 0 (the one in the hotend) is of type 5, where type 5 is defined in the block above. The relevant line 256 of my file reads:

 *     5 : 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)

The most common choice in Chinese hotends to use this very 4.7-kiloohm pullup thermistor table, and the actual specific table for most of these is reasonably close to the 5. Other thermosensors can be reasonably overlapping, but in case you change the style of thermosensor, it is generally advised to change this value accordingly1. Always run a PID tuning after changing the thermosensor table!

3.2 Thermal Runaway Protection

The settings for the Thermal Runaway Protection might be worth a look. Maybe it is a little trigger happy? Configuration_adv.h contains a block titled Thermal Settings, containing when to trigger the emergency shutdown. For my Ender3 it reads like this:

  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

From your error log, I guess that your printer has the second line as 30 seconds. It would be technically safe to increase this time to up to 120 seconds, but I strongly suggest not to go over 60 seconds.

1 - I had switched the whole hotend on my TronXY X1 for an e3D light6, and it only needed a PID tune, but in theory I should have also swapped the Firmware to reflect that - but, as said, luckily many Chinese printers use the table 5 even if they are not using the sensor. Table 5 was made for the thermosensors used by e3D.

  • $\begingroup$ That's a lot of fantastic info. Thanks! I wasn't aware the changes would be so drastic when replacing the heater. I had previously watched Tom's video and another helpful one, and then tried to run a PID autotune tonight after reading your post. No luck. I get an error right in Repetier Host: "Error:Heating failed, system stopped! Heater_ID: 0." I was able to control the axis movement from RH so I know it's connected. I even tried to reflash the firmware (I needed to move all of that Marlin config stuff to my other PC anyway) but no luck again. I have a copy of the log I will try to post. $\endgroup$
    – dugost
    Commented Dec 14, 2018 at 4:11
  • $\begingroup$ When I tried to reflash the firmware, this is the log Arduino IDE output: Marlin Log. $\endgroup$
    – dugost
    Commented Dec 14, 2018 at 4:21
  • $\begingroup$ @dugost that seems to hint there is something different amiss... waaaaaait... heating Failed, system stopped is Thermal Runaway error, which also triggers when the heater cartridge is not connected properly. Can you check the connections of the heater cartridge and if it has a non-unlimited resistance? $\endgroup$
    – Trish
    Commented Dec 14, 2018 at 6:40
  • $\begingroup$ @dugost The log file is rather difficult to read as a .png and not searchable. Please post the text of the log file $\endgroup$
    – Greenonline
    Commented Dec 14, 2018 at 9:06
  • $\begingroup$ @Greenonline It's too many characters to post in a comment as code so I went the PNG route but I could have just as easily posted a text file of the log. $\endgroup$
    – dugost
    Commented Dec 14, 2018 at 14:33

@Trish gives a lot of good info, but:

I don't think your heating element is the problem, I think the thermistor is, or a flaky connection between it and your board.

The termistor senses the temperature of your heater (you also have one on a heat bed), and tells the electronics when to heat, and when it's hot enough. Now imagine if the sensor is broken or the cable gets loose: the electronics will think it's too cold and just heat forever.

This causes a fire hasard, so most electronics doesn't let the heater go full out for too long time, and ends it all with a "Thermal Runaway" if it happens.

So check that your temp is read correctly, even when you move the cables, and if that isn't it, buy a pack of thermistors (or what's compatible with your printer).

Good luck!

Source: been there done that :-)

  • $\begingroup$ actually, we did confirm that the heating elements are broken. All 3 of them have unlimited resistance. A loose cable on a theremmosensor is detected as Mintemp, a short as maxtemp. thermal runaway is triggered when the hotend heats too fast... or not at all. youtube.com/watch?v=ckQ9UWlmdVA $\endgroup$
    – Trish
    Commented Dec 17, 2018 at 17:35
  • $\begingroup$ Okay, symptoms are the exact same for broken termistors so keep downvoting /s. BTW what does even heat in a element with "unlimited resistance", it make no sense. $\endgroup$
    – Valmond
    Commented Dec 17, 2018 at 20:49
  • $\begingroup$ a broken Thermosensor does not trigger Thermal runaway but is either 0 Ohm or no closed circuit at all. You can test what that does to your printer by disconnecting the leads of the thermosensor or bridging it: Mintemp and Maxtemp. $\endgroup$
    – Trish
    Commented Dec 17, 2018 at 21:11
  • $\begingroup$ > A short momentarily heating... Like 1 hour? Anyways... buying so crappy heater elements 3 fails one after another is rather unbelievable, it smells of bad handling if anything (they can be quite sensitive to bending and squeezing) or else man step up your game and shell in like ten dollars for one and not ten. $\endgroup$
    – Valmond
    Commented Dec 17, 2018 at 21:22
  • 1
    $\begingroup$ but ves, killing 3 heater elements in 3 months smells that either they got the scrap of a lot or very rough handling. $\endgroup$
    – Trish
    Commented Dec 17, 2018 at 21:30

Check the wires going into the board for the heater core. That was the problem with mine. They didn't remove enough of the insulation for the wires to get current.


I had this problem of "Thermal Runaway E1" always at the same layer each time, when printing TPU. TPU prints at a higher temperature than usual PLA printing. I was printing it at 245 °C. (I also tried 230 and 250 °C). It turned out to be the part-cooling fan was coming on at 91 % on that layer. Which was cooling the nozzle more than the PID tuning was used to. (I had changed the nozzle for a different type and the cooling duct was blowing directly on it.) Reducing the fan speed during the slicing step printed the project just fine. A better fix in this case will be printing a new cooling duct and installing a silicone sock to help retain that nozzle heat (and yet another PID tune once that's done).


You must log in to answer this question.

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