What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

SB2040 on-board thermistor reading way off

Hot Toddy

The on-board temp sensor on my SB2040 canbus board is reading way off, by about 10 degrees, from what the ambient temp is (around 20 degrees). And this is without using the extruded driver on the board. I’ve checked the actual temp of the board with a digital temp meter and it’s around the expected 20 degrees. So what would be the reason why the reading is so far off? I’ve tried changing the ‘sensor_type’ in the printer.cig file from that specified by Mellow to all those defined in the klipper docs to no avail. Still the same temp of ambient +10 being reported. Is there any way to calibrate the sensor against another (known to be accurate) sensor in my configuration?
I think this is common 'feature' on all SB2040s :(. Mine is the same and reads way off. I did not find a way to configure this sensor so decided not to use it. I use a sensor in the chamber instead
My EBB36 CAN board internal temp sensor also show a higher temp than ambient.
This post got me interested so I took some measurements.
They are from an EBB36 but I assume similar results can be expected from any small mcu board.
  • CAN board show 1.5 degrees higher than ambient at startup, after power has been off for half a day and everything has equalised.
    The internal CAN board sensor is not a precision device so 1.5 degrees diff at cold start is ok I guess.
  • CAN board show 8.6 degrees higher than ambient after three hours with EBB36 covered by a toolhead cover.
  • CAN board show 6 degrees higher than ambient after two hours with an uncovered EBB36 with unrestricted airflow on both sides of the circuit board.

The EBB36 power draw at idle may be small but it's not nothing, so some heat will be produced even when the motor is disabled.
All measurements were done with cold extruder motor and stepper driver inactive since power on, with no fans or anything else powered on either.
This seems to work just add
pullup_resistor: xxxxx
to the settings and calculate the right resistance till it is showing the correct temp.

I have the SB2040 Pro which has the same problem + really noisy measurements - drifting up to 1°C for rPi, PT1000 and chamber thermistor. I suspect this also won't be good for PID tuning.

However just changing the pullup_resistor is not a good solution if the problem is not actually a different resistor being installed on the board. A better way is to define a custom thermistor in Klipper (https://www.klipper3d.org/Config_Reference.html#thermistor).

I am not sure what the root cause of the high reading is and even if it is wrong. Maybe the board just gets quite hot where the thermistor is located? In that case we should dismiss using it altogether.

I'll have another look once i get my flir camera back and in the meantime i'll see if i can get a good custom thermistor setting for it by using a calibrated hotplate to bring it to a known temp.