Microswitch initiated pause during SD print

While I am working on my pause behavior issue (see other post) I am trying to also figure out how to configure the microswitch pause behavior in firmware for SD prints.

This is dev firmware 1.0.1 on Arduino Mega/RAMPS 1.4 controller.

I used the Z_Max endstop since I don't have max endstops on this machine.  The internal pullup resistor is enabled.  I have it set up to where when the switch is released the LCD screen says "Filament jam" but the machine continues merrily and does not pause.  I think I'm close, but the jam action s not working.

Ideally, for me, the microswitch would trigger the exact behavior of the filament change command, where the head returns X&Y to zero and Z drops by 10mm.  Can this be done?

My jam detect seems to be OK, maybe it's the JAM ACTION that seems to need adjustment?  I've tried using JAM_ACTION 1 and 2.  Both report the jam but do not pause the print.


  • You need "Show jam/out of filament and block communication" i config tool - guess it is action 1. That is the one that should work.

    Can't say if it works with sd card. Can you test with host print and trigger it (dry run is enough). That way I know it does not detect print is from sd card.
  • Looking into sources I se eonly type 2 would pause:

    #elif JAM_ACTION == 2 // pause host/print
    if(sd.sdmode == 2) {
    #endif // SDSUPPORT
    GCodeSource::printAllFLN(PSTR("RequestPause:Extruder Jam Detected!"));
Sign In or Register to comment.