<p>My initial assessment was correct: I obtained a multimeter with a thermocouple, tucked the thermocouple under the silicone sleeve on the hot end, set the temperature to 190 °C and when the thermocouple readout stabilized, saw 160 °C. At 220 °C set the readout was 185 °C.</p>
<p>I found the definition of my sensor in <a href="https://github.com/Klipper3d/klipper/blob/master/klippy/extras/temperature_sensors.cfg" rel="nofollow noreferrer">Klipper sources</a> and used it as a template for a custom sensor and pasting it into <code>printer.cfg</code>.</p>
<p>Original:</p>
<pre><code># Definition from (20211101): https://www.tdk-electronics.tdk.com/inf/50/db/ntc_09/Glass_enc_Sensors__B57560__G560__G1560.pdf
# (B57560G104 is same definition as B57560G1104)
[thermistor EPCOS 100K B57560G104F]
temperature1: 25
resistance1: 100000
temperature2: 150
resistance2: 1641.9
temperature3: 250
resistance3: 226.15
</code></pre>
<p>I renamed the entry to <code>[thermistor EPCOS Longer]</code> and changed the entry <code>sensor_type</code> in the <code>[extruder]</code> section. I also bumped  <code>max_temp</code> to 300 °C (with the bad readout setting it that high wouldn't result in more than the &quot;factory limit&quot; of 250 °C anyway)</p>
<p>Since I didn't have simple means of measuring resistances and temperatures of the thermistor simultaneously at various points, I decided to reuse the existing set points; if the printer <strong>shows</strong> 150 °C, it means it <strong>reads</strong> 1641.9 Ω. So I set the hot-end temperature to 150 °C, let it stabilize, then changed the <code>temperature2</code> entry to what my thermocouple read: 130 °C. Then I set it to 250 °C and once it stabilized, I changed <code>temperature3</code> to the readout: 210 °C. Then I reduced <code>max_temp</code> back to safe 250 °C.</p>
<p>The final configuration with no more than 3 °C discrepancy between hot end and thermocouple was:</p>
<pre><code>[thermistor EPCOS Longer]
temperature1: 25
resistance1: 100000
temperature2: 130
resistance2: 1641.9
temperature3: 210
resistance3: 226.15

[extruder]
step_pin: PA4
dir_pin: !PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 34.5576
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: EPCOS Longer
sensor_pin: PK5
control = pid
pid_kp = 29.909
pid_ki = 1.829
pid_kd = 122.253
min_temp: 0
max_temp: 250
</code></pre>
<p>Printing the temperature tower verified the results.</p>

CC BY-SA 4.0
2024-07-26T15:12:34.717Z
That was exactly what I was referring to in my comments under your question, well done! Happy printing!
0scar
CC BY-SA 4.0
2024-07-29T10:30:27.687Z
@Oscar BTW, I looked up the table in Marlin, but it had values in units that didn't resemble anything I found in Klipper. I don't know what units it used, but I couldn't deduce anything useful from it.
SF.
CC BY-SA 4.0
2024-07-25T12:06:21.937Z
2024-07-25T14:27:36.310Z
2024-07-25T14:27:36.310Z
SF.
<p>First, long story short: Previously the printer printed in generic PLA at 190 °C with no issues whatsoever. Then over past weeks I was unable to get any substantial adhesion within print and between layers, until I bumped the temperature to 210 °C which still resulted in very lousy quality. Then I printed a temperature tower, and these are the results:</p>
<p><a href="https://i.sstatic.net/65eJJKpB.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/65eJJKpB.jpg" alt="Temperature tower" /></a></p>
<p>The PLA prints ok at 220 °C; even 215 °C is weak, cracking between layers; 205 °C has next to no adhesion and below 200 °C the printer completely fails to extrude anything.</p>
<p>Given the same hot-end, the same filament, the conclusion is obvious: the thermistor readout is completely off, reading much higher than it should.</p>
<p>At this point I <em>could</em> set the temperature in the slicer to 220 °C but I'd much rather have correct temperature readout. How can I fix it?</p>
<hr />
<p>Additional background:</p>
<p>Printer: Longer LK5 Pro, filament: generic PLA, firmware: recently migrated from Marlin to Klipper, the shift happened sometime during the migration; it did involve messing with the cabling to plug in the accelerometer into the SBC (Orange Pi Zero 2, armbian, Octoprint, Klipper, Moonraker, I use printer.cfg provided by printer vendor, I verified that the model of thermistor is the same in Klipper  (<code>sensor_type: EPCOS 100K B57560G104F</code>) as in Marlin sources of the printer vendor <code>(1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) ), #define TEMP_SENSOR_0 1</code>), I didn't PID-tune, but Octoprint's temperature graph doesn't show any fluctuations of the temperature, the printer holds steady &quot;210 °C&quot; when printing.</p>

CC BY-SA 4.0
2024-07-23T12:43:10.193Z
I migrated from stock controller/software to new and there were enough "got-ya's" to keep be busy for several weeks. I would measure the hot end temperature with a thermocouple to make sure it is at the expected temperature. After the obvious there are all kinds of things to spend time on.  Broken wires, PID settings and drafty locations just to name a few.
st2000
CC BY-SA 4.0
2024-07-23T13:06:51.687Z
Have you looked up the conversion tables of both thermistors? (As you state they are the same) The printing quality is very bad...  I seriously think your title is misleading, it already hints that the temperature is different, this may not be the case. Maybe the title should encapsulate the result: "Prints are nod adhering and extrusion of filament fails at normal print temperatures".
0scar
CC BY-SA 4.0
2024-07-23T13:10:19.043Z
@Oscar there are no "both thermistors", it's still the same printer, the same print head, the same thermistor, the same control board. Only the firmware changed.
SF.
CC BY-SA 4.0
2024-07-23T22:02:52.810Z
Off course you only have one physical thermistor, but, in software there are 2 thermistors, I wasn't referring to 2 physical thermistors, one defined in Marlin the other in Klipper. Look up the tables, the transition from resistance to temperature, to compare both instances are the same.
0scar
<extruder><thermistor>
Extruder thermistor readout way off
SF.
# Extruder thermistor readout way off

(Asked by: username_0 on 2024-07-23)

First, long story short: Previously the printer printed in generic PLA at 190 °C with no issues whatsoever. Then over past weeks I was unable to get any substantial adhesion within print and between layers, until I bumped the temperature to 210 °C which still resulted in very lousy quality. Then I printed a temperature tower, and these are the results:

[![Temperature tower](https://i.sstatic.net/65eJJKpB.jpg)](https://i.sstatic.net/65eJJKpB.jpg)

The PLA prints ok at 220 °C; even 215 °C is weak, cracking between layers; 205 °C has next to no adhesion and below 200 °C the printer completely fails to extrude anything.

Given the same hot-end, the same filament, the conclusion is obvious: the thermistor readout is completely off, reading much higher than it should.

At this point I *could* set the temperature in the slicer to 220 °C but I'd much rather have correct temperature readout. How can I fix it?

---

Additional background:

Printer: Longer LK5 Pro, filament: generic PLA, firmware: recently migrated from Marlin to Klipper, the shift happened sometime during the migration; it did involve messing with the cabling to plug in the accelerometer into the SBC (Orange Pi Zero 2, armbian, Octoprint, Klipper, Moonraker, I use printer.cfg provided by printer vendor, I verified that the model of thermistor is the same in Klipper (`sensor_type: EPCOS 100K B57560G104F`) as in Marlin sources of the printer vendor `(1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) ), #define TEMP_SENSOR_0 1`), I didn't PID-tune, but Octoprint's temperature graph doesn't show any fluctuations of the temperature, the printer holds steady "210 °C" when printing.

**Tags:** extruder, thermistor

> **Comments:**
> **username_1**: I migrated from stock controller/software to new and there were enough "got-ya's" to keep be busy for several weeks. I would measure the hot end temperature with a thermocouple to make sure it is at the expected temperature. After the obvious there are all kinds of things to spend time on.  Broken wires, PID settings and drafty locations just to name a few.  
> **username_2**: Have you looked up the conversion tables of both thermistors? (As you state they are the same) The printing quality is very bad...  I seriously think your title is misleading, it already hints that the temperature is different, this may not be the case. Maybe the title should encapsulate the result: "Prints are nod adhering and extrusion of filament fails at normal print temperatures".  
> **username_0**: @Oscar there are no "both thermistors", it's still the same printer, the same print head, the same thermistor, the same control board. Only the firmware changed.  
> **username_2**: Off course you only have one physical thermistor, but, in software there are 2 thermistors, I wasn't referring to 2 physical thermistors, one defined in Marlin the other in Klipper. Look up the tables, the transition from resistance to temperature, to compare both instances are the same.  

---

## 1 answers

### Answer by username_0 on 2024-07-25. Score: 1 | Accepted answer

My initial assessment was correct: I obtained a multimeter with a thermocouple, tucked the thermocouple under the silicone sleeve on the hot end, set the temperature to 190 °C and when the thermocouple readout stabilized, saw 160 °C. At 220 °C set the readout was 185 °C.

I found the definition of my sensor in [Klipper sources](https://github.com/Klipper3d/klipper/blob/master/klippy/extras/temperature_sensors.cfg) and used it as a template for a custom sensor and pasting it into `printer.cfg`.

Original:

```
# Definition from (20211101): https://www.tdk-electronics.tdk.com/inf/50/db/ntc_09/Glass_enc_Sensors__B57560__G560__G1560.pdf
# (B57560G104 is same definition as B57560G1104)
[thermistor EPCOS 100K B57560G104F]
temperature1: 25
resistance1: 100000
temperature2: 150
resistance2: 1641.9
temperature3: 250
resistance3: 226.15

```

I renamed the entry to `[thermistor EPCOS Longer]` and changed the entry `sensor_type` in the `[extruder]` section. I also bumped `max_temp` to 300 °C (with the bad readout setting it that high wouldn't result in more than the "factory limit" of 250 °C anyway)

Since I didn't have simple means of measuring resistances and temperatures of the thermistor simultaneously at various points, I decided to reuse the existing set points; if the printer **shows** 150 °C, it means it **reads** 1641.9 Ω. So I set the hot-end temperature to 150 °C, let it stabilize, then changed the `temperature2` entry to what my thermocouple read: 130 °C. Then I set it to 250 °C and once it stabilized, I changed `temperature3` to the readout: 210 °C. Then I reduced `max_temp` back to safe 250 °C.

The final configuration with no more than 3 °C discrepancy between hot end and thermocouple was:

```
[thermistor EPCOS Longer]
temperature1: 25
resistance1: 100000
temperature2: 130
resistance2: 1641.9
temperature3: 210
resistance3: 226.15

[extruder]
step_pin: PA4
dir_pin: !PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 34.5576
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: EPCOS Longer
sensor_pin: PK5
control = pid
pid_kp = 29.909
pid_ki = 1.829
pid_kd = 122.253
min_temp: 0
max_temp: 250

```

Printing the temperature tower verified the results.

> **Comments:**
> **username_2**: That was exactly what I was referring to in my comments under your question, well done! Happy printing!  
> **username_0**: @Oscar BTW, I looked up the table in Marlin, but it had values in units that didn't resemble anything I found in Klipper. I don't know what units it used, but I couldn't deduce anything useful from it.  

---

