Pausing prints in Octoprint
This information is up to date as of 2026/01/28
State of the Printers
Asmbly has three Prusa MK3S+ printers, Apollo, Hermes, and Sun Wukong. Each printer has a Raspberry Pi connected to it that runs Octoprint. Octoprint talks to the printer over a USB connection and treats the printer as a pretty "dumb" peripheral and spoon feeds it gcode commands. Our printers have Revo hotends installed, which solve a lot of problems with the stock heaters and nozzles, but there's currently a bug in the Prusa firmware that stops it working properly with the Revos, which is why we have that annoying upgrade prompt every time we try to print.
Challenge
We would like to be able to pause prints programmatically, so that we can do things like insert magnets or windows, or measure tolerances. PrusaSlicer has built in functionality for this.
TL;DR
In PrusaSlicer, go to the Printers tab. Select Custom G-code. Scroll down to "Pause Print G-code" and paste the following:
G1 X0. Y210. ; get the hotend out of the way
M104 S0 ; turn off extruder heater, so the nozzle doesn't dribble
M300 ; make a horrible noise (optional)
M0 ; pause
M104 S{temperature[0]} ; set extruder temp
M109 S{temperature[0]} ; wait for extruder to reach temp