Jump to content

Cura Pause at Height Not Working on Ender 3 Pro


VikeFan93

Recommended Posts

Posted · Cura Pause at Height Not Working on Ender 3 Pro

"0" in the "Standby Temperature" box will turn off the hot end just before the pause.  After the pause Cura will add the M109 Sxxx to resume the temperature at whatever temperature you were printing before the pause.

  • Link to post
    Share on other sites

    Posted (edited) · Cura Pause at Height Not Working on Ender 3 Pro

    The problem is  your Creality firmware.  Commands that send a message to the LCD (M0, M1, M117, M600) simply don't work.  I think it is a problem with the printer processor communicating with the TFT style LCD on the newer Creality printers which Creality seems disinclined to either acknowledge or fix.  The workaround is M25 (which doesn't work on my older Ender 3 Pro) or using G4 to do a timed pause.

    I have a 4.2.7 board sitting here and those commands don't work.  It will continue to sit here until I bother to figure out how to compile my own firmware.

     

    Oh Yeah...when pausing from the LCD my printer shuts off the hot end and bed.  I forgot because it bothered me so much that I wrote my own pause routine into my printer control software.

    Edited by GregValiant
  • Link to post
    Share on other sites

    • 3 weeks later...
    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Please try my solution which I have been using without any problem:

    "M0" command works! But needs a period parameter (in seconds) for my Ender3 Pro after changing my motherboard to a silent one. The syntax of M0 is "M0 Sxxx", where "xxx" is the pause period in seconds.

     

    There are various ways to add the paramter to gcode:

    If you are using CURA "Pause at Height at Post-Processing plugin" then CURA creates a gcode BUT I don't know why it does not ask for the period to pause and includes only "M0" line (beside other parameters such as park position, disarm time, standby temprature etc). So the printer's (at least my printer's) firmware does not recognize the pause time and does not pause at all. Normally it should pause with M0 indefinately until you click the control button to resume.

     

    So you should modify the gcode by adding only the pause period in seconds (ie I use 300 seconds which correspond to 5mins, which is enough time to change the filament). By the way, during this pause period the printer is also ready to resume any time if you click the control button without waiting upto 5mins. However, if you miss the pause period then the printer will automatically resume printing. I don't know the upper limit of pause seconds but you can increase the time as much as required, keeping in mind that holding the hotend at high temprature for a long time without any extraction may cause damage or clugs in long term. 

     

    If you are using CURA then you can easiy modify the gcode at "Pause at Height" at Post-Processing Plugin - Gcode "before (or "after", it doesn't make any difference) pause command" boxes. You will write only "M0 S300" for a 5min pause (or as much as xxx seconds required). Of course the default M0 line defined by CURA remains in gcode but you add another line (before or after M0 line) as "M0 S300" and don't worry they don't conflict.

     

    Another way in CURA is to use "Search and Replace at Post-Processing" script (after "Pause at Height script, in order), where you will search for the default "M0" command created by "Pause at Height" command and replace it with "M0 S300".

     

    Finally, even if you are using a slicer other than CURA and your gcode pause command does not work due to same reason, then open the gcode by any txt editor and replace all "M0" with "M0 S300". Take care not to over write any other commands or dublicate the "M0" commands.

     

    Hope some of you would benefit from my solution:)

     

    Happy printings...

    • Like 2
    Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    I wonder if that works because adding the parameter changes how the firmware reacts.  My older Marlin always sends "Click to Resume" to the LCD.  When adding the S parameter, and not noting any text for the LCD, might change something else.

    As an experiment - if you would try "M0 S300 Click to Resume" it might provide a clue as to why a plain Jane M0 doesn't work.  My theory is that the Creality firmware on the 4.2.x boards doesn't play nice with the TFT style LCD's.  An experiment might prove or disprove that.

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro
    On 3/8/2021 at 7:04 PM, dchansen said:

    I am still playing tag with Creality tech support but in the meantime I have stumbled upon a workaround. If I select BQ(M25) instead of Marlin(M0) it pauses as expected. Once you have changed your filament, or completed whatever it is you needed a pause to do, it just has the extra quirk of you have to go to the LCD menu and select "pause", even though you are already paused, and then select resume. I have tested it several times while waiting varying amounts of time in order to make certain that it did not auto-resume.

     

    The M25 command is defined as "Pause SD Print" and as it happens, I am only printing via SD card at the moment. So I do not know if this alternative solution will work for anyone printing via other means.

     

    Hope that it helps.

     

    Hi.  I am working with the Ender 3 Pro (Marlin 1.0.1, 4.2.2 mainboard).  After failed attempts with the M0 pause and coming across this post, I attempted to use the BQ(M25) command in Cura and the printer paused at the right spot and the LCD says "Print Paused" but when I use the LCD control, I choose "Pause Print" it stays on "Print Paused" but does not give the option to resume print.

    Did I need to add other parameters to the BQ(M25) script?  

    Newbie here.  just trying to learn.  thanks in advance.  :)

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro
    On 3/8/2021 at 7:04 PM, dchansen said:

    I am still playing tag with Creality tech support but in the meantime I have stumbled upon a workaround. If I select BQ(M25) instead of Marlin(M0) it pauses as expected. Once you have changed your filament, or completed whatever it is you needed a pause to do, it just has the extra quirk of you have to go to the LCD menu and select "pause", even though you are already paused, and then select resume. I have tested it several times while waiting varying amounts of time in order to make certain that it did not auto-resume.

     

    The M25 command is defined as "Pause SD Print" and as it happens, I am only printing via SD card at the moment. So I do not know if this alternative solution will work for anyone printing via other means.

     

    Hope that it helps.

     

    Hi.  I am working with the Ender 3 Pro (Marlin 1.0.1, 4.2.2 mainboard).  After failed attempts with the M0 pause and coming across this post, I attempted to use the BQ(M25) command in Cura and the printer paused at the right spot and the LCD says "Print Paused" but when I use the LCD control, I choose "Pause Print" it stays on "Print Paused" but does not give the option to resume print.

    Did I need to add other parameters to the BQ(M25) script?  

    Newbie here.  just trying to learn.  thanks in advance.  :)

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    This is an odd thing.  Creality keeps playing with the firmware.  They run out of boards for the CR10 and so they stick an Ender5 board in.  They never explain any of that nor have they ever explained why M0, M1, M117 et.al. no longer function.

     

    In the Pause at Height dialog there is a line for "Gcode after pause".  If you put G4 S300 in that box then it will do a timed pause of 5 minutes (S is in seconds).

    You need to be there because after the "pause time" expires the printer will start on it's own.  There is no way to shorten the pause either.  When I experimented with the M0 S300 my printer paused and I could shorten the pause time by hitting the LCD button.  With G4 - shortening the pause is not an option.  G4 S14400 would pause for 4 hours and you are going to wait the entire 4 hours.

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    As I experimented and said before just use "M0 Sxxx" (ie M0 S300) which pauses xxx seconds meanwhile also accepts clicking the LCD button to resume printing manually. As GregValiant confirms above you can use "Gcode after (or before) Pause" box in Pause at Height" dialog in CURA,  to add "M0 S300" line. In the overall gcode there will be two lines for pause, right after each other:

     

    If you use  Gcode AFTER Pause dialog box:

    M0

    M0 S300

     

    If you use Gcode BEFORE Pause dialog box:

    M0 S300

    M0

     

    "M0" does not work (at least for my printer) but "M0 Sxxx" works as explained above. And as experienced, they DO NOT CONFLICT with each other, for sure.

     

    However, if you still do not want to dublicate pause lines in overall gcode then do not use "Gcode after (or before) Pause" boxes  but instead use "Search and Replace at Post-Processing" script again in CURA. And replace all default "M0"s created by "Pause at Height" script in CURA, with "M0 S300". But "Search and Replace" script of course should come AFTER "Pause at Height" script in Post Processing Plugins. So, manage the scripts order accordingly.

     

    Happy printings...

     

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro
    On 2/22/2022 at 10:31 AM, cyberweasel said:

     

    Hi.  I am working with the Ender 3 Pro (Marlin 1.0.1, 4.2.2 mainboard).  After failed attempts with the M0 pause and coming across this post, I attempted to use the BQ(M25) command in Cura and the printer paused at the right spot and the LCD says "Print Paused" but when I use the LCD control, I choose "Pause Print" it stays on "Print Paused" but does not give the option to resume print.

    Did I need to add other parameters to the BQ(M25) script?  

    Newbie here.  just trying to learn.  thanks in advance.  :)

    Soooo....turns out when I turned the printer off and back on, it then asked if I wanted to resume the print.  Unfortunately I had already removed the print so I aborted.  

     

    Then today I tried again with the same gcode file and no changes and it worked fine!   Had to hit pause then changed filament and hit resume and it worked fine.

     

    I had planned on just powering the printer off and then back on and resuming.  One thing I noticed is that yesterday the print head moved away from the print.  Today it just stopped and waited at the point it paused.  Maybe something else affected it yesterday.. Maybe it was just tired.  😉

     

    Go figure!

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Hi. can anyone help please?

    I am trying to use pause at height Cura 5 on a Longer LK4  pro

    I follow the help and it pauses at the required height but when I try to go back to the filament option in order to replace filament, the screen asks if I want to change folament so I answer yes. Then it says it needs to pause first and just sits there with a busy icon, the only thing I can do then is switch off😕

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Hello @Garythebloke.  With your model loaded and Cura set up and ready to slice, you can use "File | Save Project" and post the 3mf project file here.

    There are two pause functions.  One is "Filament Change" and the other is "Pause at Height".  They are treated differently by the firmware and so a project file will help.

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Appreciate your help Greg. I didnt really have a particular project in mind, I was just interested to see if it would work. I'll just use this test piece. Just want to be able to pause, change the filament and continue.Thanks

    LLK4PRO_test.3mf

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Sorry to pester you but you said that there are two scripts. Do i need to use both in order to do what i want to do?

  • Link to post
    Share on other sites

    Posted (edited) · Cura Pause at Height Not Working on Ender 3 Pro

    It's an "either or" deal.

    Pause at Height allows you to change the pause command (M0, M25, etc).  Your other settings in the dialog box (park head, retraction, etc.) are calculated by the plugin script and inserted into the Gcode file as individual command lines.

    Filament Change uses M600 and puts everything onto the firmware.  There is an option to just use the stock firmware settings, or you can fill in the blanks and those numbers get passed to the printer as parameters as:

    M600 E30.00 U300.00 X0.00 Y0.00 Z5.00 ; Generated by Filament Change plugin

    When you said "...the screen asks if I want to change filament..." that would not come up with Pause at Height.  Using M0 to pause the LCD would normally say "click to resume...".

     

    I use Pause at Height.  A couple of oddities are that IF you use Z-hops or adaptive layers, "By Height" gets confused by the constantly changing "Z" height.  I always use "By Layer" just in case I do turn on Z-hops or adaptive layers.

    By Layer can be slightly confusing as a gcode file layer numbering system is Base0 and the Cura preview numbering system is Base1.  With your 3mf file, you look at the Cura preview and see that the first layer for the new color is layer 8.  You enter 7 into the Pause at Height box.  The pause will occur at the END of the layer you enter into the Pause at Height box.  In this example: Layer 7 goes down, the pause occurs, you change filament, and the new filament goes down as Layer 8.

     

    When using Pause at Height the printer will move to the park position you want and then stop.  If you leave "disarm timeout" at zero then you have to be quick or the steppers will disable after the default 120 seconds and lose position.  Always enter 1800 in that box.  That gives you 30 minutes to complete the change.

    Cura will always put in an M104 line that will adjust the hot end temperature to the standby temperature entered into the dialog box.  Always put your "Print Temperature" in that box or the hot end will cool down during the pause.

    I don't use the "retraction" settings.  After changing filament, I hand-push the new filament in to purge the color in the nozzle, then do a 3mm retraction, grab the booger with my long nose tweezers, and hit the button on the LCD to resume.  Since my button is on the right side of my Ender I always park the head on the left side.  When inserting nuts without a filament change the build plate needs to be forward and accessible so the park position (my printer) would be X0 Y230.  When just changing filament I like it in the back so the ooze of the color change doesn't land on the bed.  In that case I would park at X0 Y0.

     

    I think my personal record for pauses in a single print is 9.  There were 7 color changes, three #10 nuts added at a layer, and a 9" support rod slid in.  These prints are my favorite though.  It took a bit of thought to come up with it.  These were for a Mexican buddy.  There were 4 Pause at Heights in the trailer/sleigh and 4 in the coasters.  The windows, curtains, and runners are glued on.

     

    Using Pause at Height or Filament Change requires practice.  If the first thing to be printed after the pause is either Support or Infill that's a beautiful thing.  If the first thing to be printed is a top skin or outer wall then the retraction is important because starting with a blob, or starting out dry, will leave a mark on a show surface of the print.

     

    DSCN2660.thumb.JPG.c6218c4f894db5e3e9cb0c6413be283e.JPG

     

     

     

     

     

     

    Edited by GregValiant
    • Like 1
    Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Thank you for a very detailed response Greg, and those coasters look superb. I'm going to have another go later as the option to change filament at different heights gives a whole new possibility for future makes, as your results show. Thank you once more for your time in answering. ☺️

  • Link to post
    Share on other sites

    Posted (edited) · Cura Pause at Height Not Working on Ender 3 Pro

    "...gives a whole new possibility for future makes..." 

    No doubt about that.  Designing your own models is another thing that is cool.  It's much more...satisfying?...when something comes out right when all the work is your own (except for actually making the thing which was, ya know, the printers job).

     

    Here is a project file for one of those coasters.  When you open the project file make sure you choose "Create New" instead of "Updating" your printer.  I used your Longer as the printer but tweaked the startup gcode.

    You don't have to print it but looking at the setup and previewing the model may give you some clues.

    GV Coasters.3mf

    Edited by GregValiant
  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Thanks again Greg, but I just can't get mine to work!

    It prints to layer 7

    It pauses at my chosen x,y

    I manually change filament

    I notice there is no change on the LCD but if I press on any button i.e the pause ( hoping it will continue even though it's still showing pause)

    then it just says "please wait"  and sits there forever so have to power down printer

     

    IMG_20220626_140408_710.jpg

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Was that with the "Marlin (M0)" pause command?

    Have you tried the "BQ (M25)" pause command?

    There are workarounds if neither of those work.

     

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Yes, that was with Marlin, I didn't think to try the other.

    Will try and report back.

    Thanks

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    OK Greg. This does pause and allow me to load and unload filment, however there is a small problem. When it reaches the pause layer, it lifts the head (as it did before) and parks at the x,y i chose. But after 5 seconds or so it then parks at the original longer setting at the rear of the bed and x0. but it also remains at the layer height, which wouldn't be a problem if i was changing colour at say 10mm height but at 2mm I can't get the filament to ooze from the nozzle easily.

    Is there a way to overcome this so the z height is lifted at pause?

    Thanks for your patience, I'm not a 3d pro.

     

  • Link to post
    Share on other sites

    Posted (edited) · Cura Pause at Height Not Working on Ender 3 Pro

    Good Morning.

     

    This is the definition of the M25 command from the MarlinFW site:

    "Pause the SD print in progress. If PARK_HEAD_ON_PAUSE is enabled, park the nozzle."

    So it makes a call to the firmware and "PARK_HEAD_ON_PAUSE" must be configured in your firmware.  I think what is happening is the printer is following the Cura commands and then the firmware commands are coming into play.

     

    I've put together this Pause Test gcode file.  There are no extrusions or heating, it just runs around imitating the purge lines and then a Benchy skirt at Z=2.

    Open the file in a text editor and search for "bloke".  The code there is the standard code that "pause at height" inserts.

    In about the middle of that are some commented lines.  

    ;
    ;G4 S60
    ;M0
    ;M25
    M0 S60; Do the actual pause
    ;

    You can see that the active pause command is "M0 S60".  That works on some machines and causes the printer to pause for 60 seconds (S60) and then automatically resume.  The advantage is that a button click on the printer will stop the timer and immediately resume negating the remaining time left in the pause.

    You are familiar with M25 and the regular M0.

    The G4 line is a "dwell" or "Timed Pause".  There is no way to shorten or lengthen the dwell time once the printer has read the line.  If you were to make it G4 S3600 then you would sit for an hour before the printer resumed, and it if was G4 S10 then the printer would resume while you were still standing there with your...filament...in your hand.

     

    Print the file as it is and see if the M0 S60 makes a difference.  If it does not, then go into it in Notepad and remove the semi-colons and add semi-colons to uncomment or comment a different pause line and then try again.

     

    GV Pause Test.gcode

    Edited by GregValiant
  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    OK will try again later. Many thanks 

  • Link to post
    Share on other sites

    Posted · Cura Pause at Height Not Working on Ender 3 Pro

    Hi, I tried the different settings but it seems the best solution is the BQ(M25) as it actually allows me to change filament and resume from the parked position.

    All that is lacking is the Z setting to lift the nozzle clear of the bed by say 15mm as in your script.

    I don't want to keep bothering you but could you tell me what code to add to my test code, and where, so that it will lift the nozzle 15mm and return to the build height and continue? This would be a solution for me. Thanks once more.

    Gary

  • Link to post
    Share on other sites

    Posted (edited) · Cura Pause at Height Not Working on Ender 3 Pro

    I am the self-proclaimed "King of Workarounds".  This one is clumsy even for me.

    The M25 is calling a script in your firmware and it needs to be fooled.  There might be a way.  This works with my older firmware.

    1. In the PauseAtHeight dialog use the M25 pause command and in the "gcode before pause" box enter "M400" (which means "Complete All Moves" and will empty the planner buffer).  Note where you decided to park the print head.
    2. Add the "Search and Replace" post-processor.  It must be below "Pause at Height" in the list of active post-processors.  The Search and Replace function will accept newline characters in the Replace box.  That means you can add multiple gcode lines and we will use that to fool the firmware.

    Search and Replace

    - Search = M25

    - Replace = M25\nG91\nG1 Z5\nG90\nG1 X0 Y0 F6000\nM117\nM117\nM117\nM117\nM117\nM117

     

    The "G1 X0 Y0 Z15" portion should be the same X and Y that you park the print head at.  The "\n" (backslash + n) is the newline character.  The M117's will pad the printer/planner buffer with commands that don't do anything.  Six of them should be sufficient but you might need a couple more as it is dependent on your mainboard buffer memory.

    That portion of the gcode file will end up looking like this:

    M400
    M25

    G91

    G1 Z5

    G90
    G1 X0 Y0

    M117

    M117
    M117
    M117
    M117
    M117 ; Do the actual pause

     

    Here is another test print updated with that pause sequence.  It worked on my printer.  You will need to print it to see if it works on your printer.

     

     

     

     

     

    PauseTest2.gcode

    Edited by GregValiant
  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
        • 0 replies
    ×
    ×
    • Create New...