Desktop 3D printer users are quite familiar with the mishaps of some print job going wrong and extruders spilling material all over their machine while they’re out at the store or soundly sleeping in bed. Being confronted with a printer full of plastic spaghetti when you next go to check on it is one of the most disheartening and frustrating experiences a user can face.
Attempting to address this issue is the Spaghetti Detective (TSD), a piece of open source artificial intelligence software that automatically interrupts failed prints. The software runs continuously on a computer server and uses a computer or printer’s webcam to monitor the printing process. If it detects a print failure, it automatically pauses the print and alerts the user via text or email. You can then choose to cancel the print and prevent not only a plate of inedible spaghetti from forming, but also the possibility of equipment damage or fire hazard. The Spaghetti Detective can run on an old PC connected to the web or, if you prefer not to rely on the cloud, it’s possible to host the TSD server on a Jetson Nano card from NVIDIA.
While the software is free for users with one printer who print infrequently, allowing them to monitor prints at a rate of one frame per 10 seconds, those with multiple printers can pay a small fee to watch more machines. $4 for one printer that prints frequently and $2 for each additional system up to five—specialty rates are established for printshops with print farms of more than five printers. This allows for a 25 per second frame rate and additional usage hours of the software. Whereas the Free account gets you 10 free hours of print monitoring monthly, the Pro account comes with 50 hours.
TSD was launched by software programmer Kenneth Jiang, who built the OctoPrint Anywhere and the Slicer plugins . As discussed in a detailed blogpost , software relies on a deep learning algorithm called YOLO to detect errors in printing. The Spaghetti Detective team use specialty software to draw boxes around spaghetti errors, a process known as “data labelling”. These images are fed to software to train YOLO to know what to look for in a process that can take hours to days.
After sufficient training, the algorithm is capable of generating coordinates of what it thinks are spaghetti errors with percentages indicating the degree of confidence it has that it has caught an issue. The team had to repeat the training hundreds of times due to the fact that Detective mistook such objects as binder clips and wires for spaghetti.
The software’s response behavior can then be modified, with the Detective looking for failures and then learning whether or not those issues were actual failures or mistakes in detection. This is combined with an accounting of the actual failures that occurred and whether or not those errors were caught by the software. These two behaviors, dubbed “precision” and “recall” respectively, are balanced so that the Detective can act either with extreme vigilance, catching 100% of failures through continuous monitoring, or just allow it to sit and watch and learn, allowing 100% of errors to be processed without interruption. As of last August, the accuracy of the software (how many false alarms or missed failures would occur for every 100 prints), the Detective had an inaccuracy rate of only 6.9 percent. The team is working to bring this number down to 2 percent.
The software seems to be so potentially powerful that it can catch errors in printers not meant to be in its line of sight. According to one reddit user, the Detective caught an issue in a printer laying in the background of the webcam—not just the one on which it was focused.
Across the various additive manufacturing (AM) technology families, 3D printing is evolving to become truly repeatable and quality controlled. For industrial systems, this might mean incorporating Sigma Labs’ PrintRite3D quality assurance software into a metal powder bed fusion system or using simulation technology to compensate for distortions in a printed process.
For desktop 3D printers, it’s another story. There aren’t the same commercial endeavors being undertaken to automate and improve the quality control of cheap extrusion systems. Machine manufacturers are increasing the quality of their machines. Automated bed leveling is now a more or less standard feature or “professional” desktop 3D printers. Built-in dry filament storage from some companies is meant to improve the quality and longevity of the material. Some machines include automatic shutdown options for failed prints.
Unfortunately, we no longer see the same open source 3D printing activity that once was associated with the Maker community. TSD clearly demonstrates that these exciting projects are alive and well, but it feels less coordinated compared to the work being performed on the RepRap forums. That doesn’t mean we can’t have an open source 3D printing renaissance thanks to projects like this one that increase the quality of desktop machines while keeping the cost low, TSD seems to have achieved here. Isn’t the open source community beautiful?