Reaching the end of a spool of filament when 3D printing is inevitable. The result ranges from minor annoyance to ruined print. Recently, I needed to print a number of large jobs that used just over half a spool of plastic each. Unwilling to start every print with a fresh spool (and shelve a 60% used one afterward), I had a problem to solve. What my 3D printer needed was filament monitor, or at least that’s what I thought.
After reviewing some projects and aftermarket options, I ended up making my own. Like most prototypes, it wasn’t an instant success, but that’s fine. One of the goals of prototyping is not only to validate that the problems you’re solving are the same ones you think exist, but also to force other problems and issues you may not have considered to the surface. Failure is only a waste if nothing is learned, and the faster and cheaper that learning happens, the better.
Sensible design steps also help minimize waste, so I started by looking at what kind of solutions already existed.
My Assumed Need: A Filament Monitor
The filament monitors I found were aftermarket or DIY devices. Not counting incomplete Kickstarter projects, I found the aftermarket Tunell Monitor design by [Aaron Tunell] as well as some DIY projects. Most monitored the movement of filament by turning an encoder wheel in some way (filament feed encoder by [Florian], and filament monitor by [RodLaird] for example) and one used the guts of an old PS/2 mouse as a sensor.
These projects were clever, but my needs were much narrower than the solutions they offered. My problem was not a lack of filament encoding. My problem was that over the many hours that made up a print, I couldn’t be there for the right four minutes.
Actual Need: The Right Four Minutes
On my printer, if a spool runs dry I can salvage the print as long as I have time to load a new spool and feed the new filament right up against the end of the old filament as it enters the extruder. I measured a minimum four-minute window to do this. Four minutes is plenty of time, as long as I’m ready and able to do the swap when it happens.
The missing piece wasn’t really that my machine didn’t know when the filament spool was empty. The problem was that I – the operator – had four minutes to act when it did empty, but I didn’t have a good way to know when that was.
By narrowing the scope of the problem in this way, I could keep the solution simple. If I assumed I would be within earshot of the printer at least during the hour or two that the spool is expected to run out, I should be able to solve my problem with a simple audio alarm. When the last bit of filament comes off the spool, sound an alarm and I’ll have at least four minutes to feed a new one.
I decided to make a prototype of a simple filament alarm that did nothing more than that. I called it Mister Screamer.
Mister Screamer’s job can be summed up as:
- When filament is present, nothing happens.
- When filament runs out, scream your fool head off.
The key elements are:
- 3D printed enclosure
- Self-contained (no external power or signals)
- Small enough to be clamped directly onto the filament itself; does not need to be affixed to the frame of the printer.
- Electrically simple: coin cells, a roller switch to sense filament, and a buzzer.
- Easy to turn off when responding to the alarm.
An enclosure was designed as a sort of clamshell to hold the components. Magnets hold the shell together and also act as power connectors, so putting the halves together (or pulling them apart) serves as the main power switch. Two CR2032 coin cells power a small 80+ decibel buzzer, controlled by a roller switch. When the device is not shrieking, it consumes no power.
Filament is fed through a hole that lets a normally-closed roller switch sense whether filament is present or not. When the roller is pressed down, the circuit is open. When the filament is gone, the roller is up and the circuit is closed; the unit begins howling at about 80 decibels until the halves are pulled apart (or filament is re-inserted).
The two halves were printed in PLA and components glued in. With the exception of soldering wire leads to the magnets before installing, connections were soldered point-to-point after the components were secured.
Warning: LOUD beep at about 1:30
The first trial run of Mister Screamer was a success. The alarm activated, I was able to hear it and easily disable it before feeding a new roll with time to spare. However, while the concept was validated, two big problems became clear:
- There was far more binding and friction put on the filament than I expected. The extruder was able to manage, but I was never very comfortable with how hard it seemed to have to work to pull the filament through the alarm unit. When pulling the filament by hand it seemed fine, but once installed and “free-floating”, the effort needed to pull the filament through increased dramatically. Often the prototype simply rode the filament until it could go no father, and was physically butted up against the opening of the filament guide tube. This increased friction.
- When the filament ran out, the prototype fell some distance to the tabletop. The impact nearly popped the batteries out, as they were only a friction fit. It could also have popped the shells apart, killing the power. Luckily neither happened, but it was clear it was a risk.
Prototypes don’t just test design ideas – they help to discover problems or issues that haven’t been considered or anticipated. Also, sometimes things go better than expected or work out especially well.
- A soldering iron with an old tip comes in handy for making rough alterations to a PLA enclosure; either use it like a hot knife to cut or melt plastic away, or to heat metal components and melt them into the surrounding plastic. Unfortunately, the results are rarely pretty.
- When modeling spaces intended to hold components in an enclosure, some dimensions are more important than others. The switch, for example, needed to be snug so it could hold its position just right while glue set, but the buzzer – not under any stress or having any mechanical function – could be loose and simply glued to fit. These concerns affect modeling decisions such as whether to leave a surface accessible because it may need to be trimmed or sanded, or whether it can just be generously oversized and let some gap-filling glue take up the slack.
- The magnetic closure worked great but it was tricky to assemble because the magnets also acted as power connectors. I needed the magnets to both close the enclosure halves and be in full contact with each other at all times. My design had rigid mounting for the magnets with no compliance; fitment needed to be spot on otherwise the electrical connection could be poor. I glued the magnets in, then assembled the unit before the glue was set. This way the magnets themselves took care of making sure they were connected right up to one another, and I didn’t need to worry about anything moving while the everything set.
- The magnets were tricky to solder to. Not only are magnets damaged by heat, but they stick to the soldering iron. Hold them gently but firmly with small pliers, use flux, and don’t heat or re-heat any more than you need to.
- The filament path through the prototype is not centered. This means that filament is easily pulled through the unit by hand with little resistance, but when the unit is clamped onto the filament and left to freely hang, the unit tilts and hangs at an angle, which increases friction significantly even though there is no obvious binding or twisting.
- It seems obvious in hindsight, but the smaller the area that contacts or guides the filament, the less friction will be an issue. I had thought that my original design did a good job minimizing the friction surfaces but after the test, it’s clear it can be much better.
The following things went really well:
- Designing and 3D printing an enclosure to fit the components required a different method of thinking. I am much more used to building a device first, then fitting into or building a custom enclosure. Modeling the component spaces into the enclosure required laying out the entire assembly up front which was a very different workflow, but the results were excellent.
- This kind of job is a sweet spot for 3D printing. The printer can almost effortlessly create this complex geometric shape that would simply be a nightmare to have to make by hand.
- The magnetic closure and electrical connections worked very well. Pulling the unit apart to make it shut up and snapping it together to activate it was intuitive, effective, and useful.
I was very pleased with the prototype, even though the design needs significant changes before it can be truly useful. It validated my premise (my printer doesn’t need to know it’s out of filament, as long as I know within four minutes), I was able to create it very cheaply, and it helped me verify that the problem that I was solving was one that actually existed.
Effective prototyping is a perishable skill, so it’s good to practice. I have learned that some things always turn out to be more difficult than expected, but there should also be things that turn out to be easier. If I’m ever finding that everything seems to be harder and nothing is easier, I know to take a step back because I’m probably struggling with a bad design or an otherwise doomed project.