Adding a pause in SD Gcode


I'm having a hard time here.
I need just to pause the print in a specific time, move the extruder away, would be nice to have a sound alert, do a manual procedure then manually resume the print some way (looks simple).
Print will be from SD.
I found here in the forum about code M600 which is perfect but it retracts the filament A LOT, not good for me.
M25 pauses but looks like it needs a M24 command to resume, so does not fit.
M226 I cant make it to work, but also I'm not sure if it fits my needs.

As I couldnt find an answer I'm asking help here.
Thank you.


  • It would be much simpler printing over our server or host. There you just insert
    ;@pause Do something
    and you are done. You can even get a push message when it happens.

    Firmware side only I see no real solution. Pausing is not the problem but waiting for interaction. 
    M600 is the only solution I see. You can set retraction distance to 0 to prevent the retraction. This also disables extruders if it needs to wait too long.

    If you need another solution you need to write one that waits for a button press to continue. Just check commands.cpp there you see where you can do it. All you need is a while loop that reads a input pin and of course in setup define it as input. If you use the standard "ok" button that already happened and you can simply wait. Maybe write first with M117 some text in status that you know why you wait.
  • Well, if it is possible to disable the retraction maybe it is solved, but how?

    Also, about the M226, the wiki has 2 informations, do you think it is possible to use it for this operation?

    Thank you.
  • Yup, M226 is exactly the code I meant you could write. Use the pin number from the lcd controller and it should just wait.
  • 1. How can I disable retraction for M600 code?
    2. I already tried M226 without success, maybe I'm not knowing how to do it, I will try again, I'm using a RepRap Discount Graphic LCD module, I will have to find which is the rotary encoder click pin.

    Thank you.
  • I have an update.
    I could make the pause with M226 P35 S0 (which is the encoder click)
    It is not a big problem, but I set a message with M117 before the M226, it shows for a second then shows just "idle", and, after pressing the encoder it resumes but also enter the menu, which is not a big problem too, but looks like there is no 100% solution.
    This should help now.

    Also, I still want to give M600 a try if you tell me how to disable its retraction, or, even better, how to set a low retraction, like 2mm, this would be good to avoid oozing.

    Thank you very much.
  • M600 uses RETRACTION_LENGTH or the value stored in eeprom for this.
Sign In or Register to comment.