Calibrating thermistor temperatures?

  • On my recently-rebuilt Xinkebot (now featuring Duet2 WiFi), the nozzle seems to be reading around 15°C higher than actual, based on printing results (layer adhesion and underextrusion problems printing PLA at "215" that normally handles fine down to 200) and on shoving a thermocouple up inside a nozzle full of melted PLA. The funny thing is, it seemed to have the same problem running the old proprietary board/firmware combo—we had a little conversion table we used relative to the other printers.

    The only reason I could imagine this carrying over is that there are quite a few connectors between the (completely rebuilt) hot end thermistor and the Duet, including a DB25 connection. However, my intuition is that this would increase resistance, resulting in the duet reading temperatures lower than actual.

    Is there a good way to calibrate this in a little for commonality with the other printers in our makerspace? A quick back-of-the-envelope estimate with a simple thermistor equation suggests changing the B value from the recommended 4725 to about 4950 would more closely match observed values / expected performance. Bad idea??

  • take a look at the R, L and H parameter of M305 or M308 depening on what version of the firmware you're running.



  • I have never had much luck with the L and H parameters. Playing with the B parameter was much more effective but honestly, I do not know how that affects readings at other temperatures. I used a reference thermometer that I believe to be accurate.
    I would prefer it if we could use a lookup table instead of a formula .... but most people would likely not be equipped to properly build the table and it might become more of an issue than it solves.

    Having said that, a standard thermistor is not an appropriate use in a makerspace environment when you want the temperatures to be accurate and agree with each other over multiple printers.

  • Thanks! The H and L values would be ignored on the Duet Wifi, as it has automatic ADC gain calibration, right?

    I might try adjusting the R value to see if I can effectively offset some inline resistance, and good to hear that tweaking B has worked for others.

    We’re a pretty tiny organization so it’s not like we have a fleet of Makerbots or something that we can keep as essentially fungible replicates. But if I can do something to nudge performance a bit towards consistency I like to try. 🙂

  • A lot of times, thermistors are swapped and no attention is paid to the fact that the beta values are different. various sources have beta between about 2800 and 3100, and this can result in 10s of degrees difference at 200+ degrees. They all look about the same at room temperature, since they are standardized to be 100k at 25C (so they usually look like about 120k at a reasonable room temperature).

    I gave up guessing beta and switched to a Pt1000 sensor. It is less sensitive than a thermistor, but has much better wide-range temperature response. There is only 1 (common) flavor of Pt sensor. (The parenthesis is because there is a 'USA standards grade' Pt sensor with higher purity platinum than the common one, and a slightly different coefficient. I don't think any of the industrial sensors will be one of those.)

  • @mendenmh Makes sense! Thanks for the input. I'll see if we can budget to swap everything over to PT1000s. Sounds like it would be a meaningful upgrade for users.

  • Moderator

    @whopping-pochard said in Calibrating thermistor temperatures?:

    Sounds like it would be a meaningful upgrade for users.

    It definitely takes the guesswork out of temp setting. At the end of the day you still have to find a temp that prints the plastic correctly, but it's nice to have some sort of consistency and accuracy for temps considering how important they are to the process and how much attention is given elsewhere for less.

Log in to reply