Among 3D printer owners, “spaghetti” is the common term for the tangled mess of stringy plastic that’s often the result of a failed print. Fear of their print bed turning into a hot plate of PLA spaghetti is enough to keep many users from leaving their machines operating overnight or while they’re out of the house. Accordingly, we’ve seen a number of methods that allow the human operator to watch their print remotely to make sure everything is progressing smoothly.
But unless you plan on keeping your eyes on your phone the entire time you’re out of the house, there’s still a chance some PETG pasta might sneak its way out. Enter the Spaghetti Detective, an open source project that lets machine learning take over when you can’t sit watching the printer all day. Their system plugs into Octoprint to monitor your print in real-time and pause it if it starts looking particularly stringy. The concept is still under development, but judging by the gallery of results submitted by users, the system seems to have a knack for identifying non-edible noodles.
Once the software comes out of beta it looks like the team is going to try to monetize it by providing hosting and monitoring services for a monthly fee, but as it’s an open source project, you’re also able to run the software on your own machine. Though the documentation notes that the lowly Raspberry Pi doesn’t have quite what it takes to handle the image recognition routines, so you’ll need a proper computer if you want to self-host the service. Could be a good use for that old laptop you’ve got kicking around the lab.
As demonstrated in the video after the break, the system’s “spaghetti confidence” is shown with a simple to understand gauge: green is a good-looking print, and red means the detective is getting a sniff of the stringy stuff. If your print dips into the red too much, Octoprint is commanded to pause the print. The user can then look at the last image from the printer and decide to either cancel the print entirely, or resume if the Spaghetti Detective got a little overzealous.
Frankly, it’s a brilliant idea and we’re very interested to see where it goes from here. Assuming you’ve got Octoprint controlling your 3D printer there are some very clever monitoring systems out there currently, but since spaghetti isn’t the only thing a rogue 3D printer can cook up, having an extra line of defense sounds like a good idea to us.
Continue reading “Finding Plastic Spaghetti With Machine Learning”
We know we’ve told you this already, but you should really keep a close eye on your 3D printer. The cheaper import machines are starting to display a worrying tendency to go up in flames, either due to cheap components or design flaws. The fact that it happens is, sadly, no longer up for debate. The best thing we can do now is figure out ways to mitigate the risk for all the printers that are already deployed in the field.
At the risk of making a generalization, most 3D printer fires seem to be due to overheating components. Not a huge surprise, of course, as parts of a 3D printer heat up to hundreds of degrees and must remain there for hours and hours on end. Accordingly, [Bin Sun] has created a very slick device that keeps a close eye on the printer’s temperature at various locations, and cuts power if anything goes out of acceptable range.
The device is powered by an Arduino Nano and uses a 1602 serial LCD and KY040 rotary encoder to provide the user interface. The user can set the shutdown temperature with the encoder knob, and the 16×2 character LCD will give a real-time display of current temperature and power status.
Once the user-defined temperature is met or exceeded, the device cuts power to the printer with an optocoupler relay. It will also sound an alarm for one minute so anyone in the area will know the printer needs some immediate attention.
We’ve recently covered a similar device that minimizes the amount of time the printer is powered on, but checking temperature and acting on it in real-time seems a better bet. No matter what, we’d still suggest adding a smoke detector and fire extinguisher to your list of essential 3D printer accessories.
Continue reading “Arduino Watchdog Sniffs Out Hot 3D Printers”
At this point you’ve probably already heard the news: cheap Chinese 3D printers sometimes catch fire. Now we can’t say we’re shocked to find out that absolute bottom of the barrel gear wasn’t designed to the highest standards (gotta cut those corners someplace), but that doesn’t change the fact that there are thousands of hackers and makers out there who are in possession of one of these suspect machines. Just tossing them to the curb is hardly the hacker way, so we’ve got to find ways to make the best of the hand dealt to us.
After sleeping with one eye (and maybe one nostril) open during some overnight prints, Hackaday.io user [TheGrim] wanted a way to make sure his Alunar Anet A6 didn’t stay powered on any longer than necessary. So he came up with a way of using the printer’s own endstop switch to detect if the print has completed, and cut the power.
The idea is simple, but of course the real trick is in the implementation. By adding a “Home” command to his ending G-Code in Cura, [TheGrim] reasoned he could use the Y endstop switch to determine if the print had completed. It was just a matter of reading the state of the switch and acting on it.
In the most basic implementation, the switch could be used to control a relay on the AC side of the power supply. But [TheGrim] doesn’t trust relays, and he wanted to pack in a couple “smart” features so he ended up using a PIC microcontroller and two 12 amp TRIACs. There’s also a couple of LEDs and toggle switches to serve as the user interface, allowing you to enable and disable the automatic shutdown and get status information about the system.
Will cutting the juice to the PSU prevent another terrible fire? It’s debatable. But it certainly can’t hurt, and if it makes [TheGrim] feel more confident about running his machine, then so be it. We’d still advise anyone with a 3D printer at home to brush up on their fire safety knowledge.