Prusa Printers Octoprint Pausing

I’m writing this up after wasting over eight hours wrestling with an issue today.

My problem was straightforward. I had created an object that had a void in it. The idea was to pause the print at a specific layer, add a magnet into the created void and then allow the print to continue.

A simplified version is to think about a cube with a smaller cube removed from the centre. The printer prints up to the top level of the central cube and pauses while a magnet is placed in the centre. Once the magnet is in place it continues and completes the large cube.

Prusa slicer allows you to pause the print at a certain level so I thought it would be trivial.

3D printers perform an operation called ‘Bridging’ when you need to print between two items. (think of creating a bridge between two columns). In this case, once the magnet is in place the printer would need to bridge the gap at the top of the void. The distance a printer can bridge depends on the print material in use and how well a printer is tuned. For this model, it was a gap of around 6mm and any “sag” would drop onto the snugly fitted magnet to provide a base for the next layer so I thought it would be fine.

To cut a very long story, it didn’t work. Whatever I changed around the sizes of the objects, infill layers etc. nothing worked - I would never get the layer above the magnet printed correctly. I spent hours tweaking the model, changing infill patterns, and studying tool paths, all to no avail. Sometimes I would get part of the layer complete, but never the whole thing.

At the point of giving up for the day, I spotted the issue. The moment the printer paused, the nozzle temperature starts to drop and it never returns to a temperature that will melt the filament.

In GCODE a pause command issues a M601 code, and on resume, it should issue an M602.

My understanding is that M602 is a “restore temperature” command i.e. pause until the hotend is back up to temperature and then continue in the script.

This pause/resume functionality isn’t a general issue for Prusa printers, but it turns out it’s an issue if you use a Prusa printer/slicer alongside the Octoprint management software.

The trick is to insert an M602 in the Octoprint Settings/GCode/Resume Print setting.

Those 4 characters made everything work on the first try.

I’m documenting this in the hope it saves someone else from the pain I’ve had today.