MainSail is used for Klipper management.
All updates to Klipper software have been compiled, applied, and flashed (as of 01/30/2025).
Endstop function is working correctly and is actuated by microswitches.
Endstop triggering and clearing has been confirmed using MainSail.
The extruder temperature sensor is an NTC 100K MGB18-104F39050L32.
The problem is shown in the following image.
The red line is the extruder temperature as reported by MainSail.
Initial conditions are room-temperature and correctly reported by the extruder to be ~23 C.
When the X axis endstop microswitch is activated by hand the temperature is reported to drop.
When the microswitch is released, the temperature is again reported correctly.
The extruder is commanded to 100 C and given some time to stabilize.
The X axis endstop microswitch is again activated by hand the temperature is reported to drop.
An error is then reported:
Klipper reports SHUTDOWN
Heater extruder not heating at expected rate.
However, on reboot, MainSail correctly reports the X endstop switch condition as released and shows the extruder cooling.
Activation and release of the Y axis endstop microswitch is reported to work correctly by MainSail.
The Y axis endstop under the same conditions has no noticeable effect on the printer.
Homing for all axes works correctly provided the extruder has not been heated.
With the extruder heated, homing produces the same error once the X endstop is triggered.
Help to fix this would be greatly appreciated. klippy.zip (28.8 KB)
Thank you for the suggestion. That test was accomplished prior to my posting the problem to this forum. The mechanial and electrical function of each microswitch has been verified to be correct by multimeter measurements. Also, the MainSail console command QUERY_ENDSTOPS confirms the correct operation of the switches and associated trigger events in real time. I believe the problem lies somewhere else in the system.
I don’t think I’ve been clear in explaining the problem. To rephrase, all the microswitches work correctly - all the wiring is correct - the endstop triggering and releasing is working correctly according to Mainsail. The problem is that while the software sees the X axis endstop triggered, it has a problem getting the temperature from the extruder - when the X axis endstop is no longer triggered the software reads the extruder temperature correctly.
The temperature sensor is a thermistor, meaning it’s just a resistor that changes resistance based on temperature. The behavior you’re describing with the sudden temperature drop is caused by the thermistor suddenly having little to no resistance. The fact that it correlates with your end stop being activated means that, for whatever reason, when your endstop circuit closes, your thermistor circuit gets shorted to ground. This is necessarily a hardware problem somewhere. If you are 100% certain that all your wiring is correct and there are no loose or frayed wires anywhere, and there are no other unintended contact points on the board or wiring, then you have a faulty control board that should be replaced.
Please correct me if I am wrong… A “3950” thermistor refers to a Negative Temperature Coefficient (NTC) thermistor. If the themistor were shorted to ground the interpretation would be zero resistance implies a maximum temperature should be reported. Is this not so?
Amazon markets the thermistor i bought as as NTC 100K MGB18-104F39050L32. Having bought electronics from Amazon that do not conform to specifications, I measured some key values and used those in the printer.cfg file.
The X and Y axis microswitches are Creality Ender 3 compatible NC switches - again sourced from Amazon.
Thank you both for helping me with this.
The wiring diagram is uploaded… BTT E3 SKR MINI V3.0_SCH.pdf (919.6 KB)
You just posted the board schematics - I want to see you you wired the endstops to the board.
If you buy something with that level of specificity then you can generally trust (even if you got it from Amazon or Ebay). If you’re worried about not getting the right part, then you should look at a reputable distributor like Digi-Key (that’s actually where I buy all my thermistors).
I believe all of you are right about this being a hardware problem. I made a break-out endstop switch for the X axis and it worked perfectly. In the process I played around with the original Creality rainbow-ribbon cable that communicates between the X axis gantry, print head, and BTT main board. Flexing the ribbon cable produced a cascade of anomalies. This cable flexes with every Z axis movement. I’m in the process of replacing the ribbon cable and the gantry break-out board with discrete cables. I was able to rule out the in-software X axis endstop triggered indication being the cause of the sudden drop in extruder temperature reading. I’ll post an update once the discrete cables are built and installed.
Thank you both for your help. The problem was cross-talk in the ribbon cable used to control devices on the Z axis gantry for this printer. It is now working correctly and undergoing calibration. Thanks again!