English
Login

Insert pause or custom G-code at layer

Relevant for

MMU family
MINI family
MK3 family
OLD PRODUCTS
85 comments
Article is also available in following languages
English
Čeština
Polski
Deutsch
Français
Español
Italiano
日本語

PrusaSlicer lets you schedule a filament change at a certain layer. This can be used to print basic multicolored models. The printer automatically pauses the print as soon as it reads the color change in the G-code (M600 command) and prompts the user to proceed with the filament change.

  1. Slice your model normally. A preview will show how the part will be printed.
  2. On the right side, you will see a layer slider. Drag the layer slider on the down to select the target layer
  3. Right-click on the orange plus icon
  4. Select Insert pause print (M601)
    • The pause will be inserted before the selected layer is printed
  5. Insert a short message to be displayed on the printer LCD when the print is paused
    • e.g. “Place bearings in slots and resume printing
  6. Confirm the Pause by hitting OK

You can remove the pause by moving the slider to the pause layer and left-clicking on the grey cross icon.

You can edit the pause message by right-clicking on the grey cross icon.

When inserting magnets, they need to be firmly in their slots. Otherwise, they’ll get stuck to the print head as it passes over them. Either design the slots with a tight tolerance or use a small drop of super glue to hold them in place.

You need PrusaSlicer 2.2 or newer to access the Insert pause and Insert custom G-code function. Both of these features do not work if you have Sequential printing enabled.

This feature is also not supported in old printer firmware versions (on the MK3/S/+ you need at least firmware 3.9.1).

When you slice the print again with inserted print pauses, you’ll get time estimates till each pause. The printer will also signal the pause with a beep.

Insert custom G-code at layer

Inserting a custom G-code can be useful for advanced users when creating a calibration G-code, like a temperature tower. 

"With great power comes great responsibility"
Verify twice that you inserted the right G-codes and that you understand what they do. For example, with some G-codes you could accidentally override the EEPROM values or move the nozzle into the print bed.
  1. A custom G-code can be inserted from the Preview window
  2. Drag the layer slider on the right to select the target layer
  3. Right-click on the orange plus icon
  4. Select Add custom G-code
    • The custom G-code will be inserted before the selected layer is printed
  5. Insert the custom G-code into the newly opened window. You can add several commands at once, simply press Enter to insert a new line
  6. Confirm by hitting OK

You can remove the custom G-code by moving the slider to the target layer and left-clicking on the grey cross icon.

You can edit the custom G-code by right-clicking on the grey cross icon.

Most commonly used Custom G-code commands

M104 - Set Hotend Temperature

M104 S260 ; set the current hotend temperature to 260 degrees 

You can use this command to create a temperature tower by changing the hotend temperature at various layers.

M109 - Wait for Hotend Temperature

M109 S260 ; wait for the hotend to reach 260 degrees before proceeding

If the temperature is set with the letter S then M109 waits only when heating. If the temperature is set with the letter R then M109 will also wait for the temperature to go down.

 

44 comments

Log in  to post a comment
MartinD
Am I doing something wrong or is there a bug? 
Article states "Select Insert Pause Print - The pause will be inserted before the selected layer is being printed"
I've an M6 nut to insert into my model. I slice my model and scroll through the layers until I see the first layer that covers the space for the m6 nut.
I insert the print pause on that layer because, as the article states, the print pause will be inserted before that layer starts to print. WHen the printer pauses and I go to insert the nut, I can't insert it because the first covering layer has been printed, the layer that covers the space for the nut.
What am I missing here? 
OMG, just figured it out (maybe not....)
If you insert a print pause in layer 10, the actual print pause gcode is inserted in layer 11. 
OMGx2 I removed the pause and inserted it again the same layer and now the gcode appears in that same layer.  
And this happened when chatting to support who also had the same thing happen to them using the same project file I was using. Looks like a bug.....



 


Craftsman_Chris
I can not get this to work with the Ender 3 S1 pro. I tried using both the pause at layer height which stands directly above the print and I can not change the filament and the filament change command extracts filament but there is not time to change filament it continues the print after the extract. I really need help on this!!
Nick
I have been observing a lot of ooze from the printer during pause, resulting in an incomplete layer after restart. Does the filament_retract_length_toolchange (Filament Settings > Filament Overrides > Retraction when tool is disabled > Length) parameter controls retraction during pause?
If not, what can I do to adjust the retraction? Or, what else should I adjust to fix this problem?
Greg
I've tried the pause code twice now and both times the filament has ceased to extrude after the resume.Is there something I'm missing?
Printer is a i3 Mk2.5SI'm using Octoprint and I'm on Firmware 3.10.4-1967
I'm guessing I need to upgrade my firmware
 
David B.

Hi! You are using an old firmware, upgrading to the latest one is advised. 
After pausing the print, it is possible that the molten filament exists the nozzle. After resuming, there will be a small part of the printed object left out until the nozzle primes back up. You can sort of mitigate this problem by scheduling the pause to a moment the printer is dong either an infill or a less visible / less important part of the printed object.

Arasti
Hello,I´m using MK3S+ with MMU2S (newest firmware) and I don´t have the possibility to choose "Add pause print" in PrusaSlicer (newest version) when I use multimaterial printing. Is there some software problem? Or do I have to make it another way?
David B.

Hi! If you right-click the slider, you have more options including the pause or a custom G-code.