<p>I had a misconfiguration in OctoPrint and it kept sending <code>M112</code> errors to my printer, while my printer was actually fine. As a result, I failed at least two prints, mainly on a manual layer change event. The printer paused, then timed out or something else happened and OctoPrint sent an <code>M112</code> killing the printer.</p>
<p>I understand that usually <code>M112</code> means something is seriously wrong with the printer, however, I'm certain that was not the case here and OctoPrint was incompatible with the firmware configuration I used.</p>
<p>In such rare cases, is it possible to disable power, enable power, have a rebooted printed that is not homed anymore or at least the firmware doesn't know it is, and resume the print from a specific layer? Because in case of filament change, the layer where it paused is exactly known. In fact, the nozzle was in park position when it failed, twice.</p>

CC BY-SA 4.0
2023-11-06T15:12:00.333Z
Yes, you can, see e.g. [How to resume an unfinished project](https://3dprinting.stackexchange.com/questions/13702). With some editing and common sense this should be doable! You can also lower the object in Cura, print this rest piece and glue the rest pe onto the unfinished part! This could be seen as a duplicat for the referenced question.
0scar
CC BY-SA 4.0
2023-11-06T15:27:43.757Z
But how would the printer know the exact XYZ positions after a full reboot / power cut and without the possibility of rehoming? I only know the exact layer number for when it stopped but not the exact XYZ positions?
Bob Ortiz
CC BY-SA 4.0
2023-11-06T15:52:56.487Z
It is described in the answer, a `G28 XY` homes the machine in X and Y for the current height of the nozzlle. If you have decent switches the exact position is known, it will print at the same location as previously. You need to define Z though in G-code. Caveat is that if halfway a layer the print stopped, you could have some iregularities at the seem, but it will always show anyways. Note that this is how many CNC machines work, homing Z is not requied. Best is to print the rest, sand the failed part and glue new piece on top.
0scar
CC BY-SA 4.0
2023-11-08T08:28:53.180Z
Does  [How to resume an unfinished project](https://3dprinting.stackexchange.com/questions/13702) answer your question? If yes, then this could be closed as a duplicate. If not, could you explain why not?
Greenonline
CC BY-SA 4.0
2023-11-08T08:46:00.780Z
How do you 'Manually position the printhead at the correct Z height' if the Z-axis is unknown and and you cannot home Z because there is still a print on the center of the bed. What I tried, is to remove the previous layers from gcode, start that gcode, but since the head was in a parking position (filament change) the height was obviously much too high. I could only guess by using Z-offset, I set it to maximum -20 and it was still just too high, so I ditched another failed print. I also need to really figure out the cause, why M112 keeps happening only with a filament change command.
Bob Ortiz
CC BY-SA 4.0
2023-11-08T09:40:37.813Z
Homing Z is not necessary and you know the Z height (the height is not an unknown! just count the layers of the failed print or measure the height of the print). Place the cold nozzle on top of your failed print when the steppers are not powered (or leave a paper thickness of a gap in between), alter your G-code file to home X and Y and set the Z height yourself. Now print the adapted file. It is all described in the answer of the linked question.
0scar
<marlin><print-failure><change-filament>
Is it possible to resume a print after an M112 full shutdown?
Bob Ortiz
# Is it possible to resume a print after an M112 full shutdown?

(Asked by: username_0 on 2023-11-06)

I had a misconfiguration in OctoPrint and it kept sending `M112` errors to my printer, while my printer was actually fine. As a result, I failed at least two prints, mainly on a manual layer change event. The printer paused, then timed out or something else happened and OctoPrint sent an `M112` killing the printer.

I understand that usually `M112` means something is seriously wrong with the printer, however, I'm certain that was not the case here and OctoPrint was incompatible with the firmware configuration I used.

In such rare cases, is it possible to disable power, enable power, have a rebooted printed that is not homed anymore or at least the firmware doesn't know it is, and resume the print from a specific layer? Because in case of filament change, the layer where it paused is exactly known. In fact, the nozzle was in park position when it failed, twice.

**Tags:** marlin, print-failure, change-filament

> **Comments:**
> **username_1**: Yes, you can, see e.g. [How to resume an unfinished project](https://3dprinting.stackexchange.com/questions/13702). With some editing and common sense this should be doable! You can also lower the object in Cura, print this rest piece and glue the rest pe onto the unfinished part! This could be seen as a duplicat for the referenced question.  
> **username_0**: But how would the printer know the exact XYZ positions after a full reboot / power cut and without the possibility of rehoming? I only know the exact layer number for when it stopped but not the exact XYZ positions?  
> **username_1**: It is described in the answer, a `G28 XY` homes the machine in X and Y for the current height of the nozzlle. If you have decent switches the exact position is known, it will print at the same location as previously. You need to define Z though in G-code. Caveat is that if halfway a layer the print stopped, you could have some iregularities at the seem, but it will always show anyways. Note that this is how many CNC machines work, homing Z is not requied. Best is to print the rest, sand the failed part and glue new piece on top.  
> **username_2**: Does  [How to resume an unfinished project](https://3dprinting.stackexchange.com/questions/13702) answer your question? If yes, then this could be closed as a duplicate. If not, could you explain why not?  
> **username_0**: How do you 'Manually position the printhead at the correct Z height' if the Z-axis is unknown and and you cannot home Z because there is still a print on the center of the bed. What I tried, is to remove the previous layers from gcode, start that gcode, but since the head was in a parking position (filament change) the height was obviously much too high. I could only guess by using Z-offset, I set it to maximum -20 and it was still just too high, so I ditched another failed print. I also need to really figure out the cause, why M112 keeps happening only with a filament change command.  
> **username_1**: Homing Z is not necessary and you know the Z height (the height is not an unknown! just count the layers of the failed print or measure the height of the print). Place the cold nozzle on top of your failed print when the steppers are not powered (or leave a paper thickness of a gap in between), alter your G-code file to home X and Y and set the Z height yourself. Now print the adapted file. It is all described in the answer of the linked question.  

---

## 0 answers

