The bane of every desktop 3D printer operator is the discovery of a print failure.
After potentially, well usually, hours of patient 3D printing, the device somehow went sideways and stopped extruding, for example. Multiple subsequent hours merely developed hundreds of grams of spaghetti, randomly distributed on your build platform, or more typically, a jam caused a 75% “air print”, and you see only the stump of your intended print.
This maddening scenario is all too common, but there are those working to make them a thing of the past.
Some systems now include “filament out” detection, in which a detector ensures filament is present in the feed tubes leading to the extruder gear wheel. If, by chance, the detector triggers because its light can freely pass through the detection zone without being obscured by a filament, the print can be triggered to pause. During this pause you can swap filaments and resume the print as if nothing happened.
But that is but one of many failure scenarios. What about others? What if, for example, the filament jammed and stopped moving, but still lies across the “filament out” detector? No detection occurs, and the air print continues.
Some more sophisticated systems have engaged a system that attempts to detect filament movement by observing a turning wheel in contact with the filament in motion. But that’s an even rarer feature to encounter.
I’m now looking at an interesting project on Hackaday in which contributor Robert is devising a monitoring system for these and other types of print failures.
The key here is that whatever has caused the failure, you want to attempt to resume the print later. And to resume the print, you must know exactly where the print stopped so you can restart at the next position.
This is what the monitor box does: it tracks the printer’s execution of GCODE. Robert explains:
With this monitor box we can rescue a failed 3D print job automatically by press the OK button. Because of that it not just can detect the power off，but also can record every layer 's information (through USB cable) while SD printing without batteries or UPS.
This monitor box can auto resume print from any Z position, without to change your printer firmware or to edit GCODE file or to use any other tools. Had been tested and worked well on some 3D printers, such as Prusa I3, Creality CR-10, Iduino MEGA R3,Anycubic I3,Anet A8.
Robert explains that the monitor box can recover from several typical print failures, including filament tangles, filament breaks, filament end, nozzle jam and even power outages.
It’s not entirely clear how this system works, however. But we can tell that it requires you to 3D print through a USB link, where the monitor box observes and tracks the GCODE instructions as they are sent. This log of instructions must be the source for the system to resume.
What does puzzle me, however, is how it actually detects a problem, as there does not seem to be any external sensors, such as a filament detector, for example. It may be that the operator is required to hit a button to flag the spot in the GCODE where the failure occurs. If this is the case, then it won’t be particularly useful as the operator has to watch the print.
I think this project might require the addition of some sophisticated software on the PC end, as well as multiple sensors to trigger failure mode. If that’s the case, then things could get a lot more interesting.
Nevertheless, it seems to me that every 3D printer likely should include a GCODE monitoring cache to provide at least the hope of resuming a print if necessary.