Should Your 3D Printer Have A Filament Run-Out Sensor?
When a 3D printing project takes up the better part of a day (or even more), there’s a very good chance that your spool will run out of filament mid-print. This would not be a problem if you happen to be there at the right moment to swap in a fresh spool. However, missing that crucial moment will likely result in a failed print.
If you want to avoid the anxiety of such a situation, then you should consider getting a filament run-out sensor. What does this sensor do and how does it work? Is buying a third-party sensor an option for your 3D printer?
How does a filament run-out sensor work?
First off, we’re going to manage your expectations. If your 3D printer does not already have a built-in filament run-out sensor, then you will have to do a bit of work. There is no such thing as a “plug and play” filament run-out sensor. You will have to install the sensor to your printer, connect the cables to the printer’s motherboard, and make a few changes to the firmware.
Virtually all run-out sensors have a basic mechanical leaf switch sensor. This leaf switch is triggered by the motion of the filament. This means that there are two possible events that will cause the sensor to be triggered – the filament running out, or the filament getting stopped due to extrusion problems.
The leaf switch is integrated into a simple board that is housed inside a plastic casing for protection. Also integrated into this casing is a filament guide that ensures that the filament moves along the leaf switch.
The board can then be connected to a specific channel in the motherboard of the 3D printer. If the board is compatible with the 3D printer’s firmware, it can send an overriding G-Code command to the motherboard if the sensor gets triggered. This will cause the 3D printer to pause the current job so you can step in and make a filament swap.
Not all 3D printers play well with third-party filament run-out sensors. In such a case, some filament run-out sensors incorporate sound alarms or LED lights that will warn you if filament stops moving. Of course, this is only effective if you are within earshot or line of sight of the 3D printer. It’s not quite as worry-free as automatically pausing your 3D printer, but it’s better than nothing.
You will need a bit of coding know-how to make the necessary changes to your firmware. If you can do this via Octoprint, then that is the most convenient option. This isn’t incredibly tough, as some sensors already have plugins that you can simply download. If you have worked with a Raspberry Pi before, then you should not struggle much with a run-out filament sensor.
Best practices in installing a filament run-out sensor
Works best with Marlin firmware
Most third-party filament run-out sensors are designed to run with the Marlin firmware. Before buying one, make sure that your 3D printer runs on Marlin. Some sensors are also quite selective with the version number of Marlin that they can run on. As with any hardware, check compatibility before buying.
Install the sensor before the extruder
This should be fairly obvious, but we have seen one too many examples of Bowden extruders where the run-out sensor is installed after the extruder. Theoretically, the sensor will still work because it will still get triggered when the filament runs out. However, placing it after the extruder means that you have much less wiggle room to intervene and make a filament swap.
Use a PTFE tube to guide the filament from the sensor to the extruder
In most cases, the run-out sensor is installed at the top of the 3D printer right beside the spool. From the sensor, the filament runs directly to the extruder that is mounted on the moving print head (if you have a direct extruder).
The PTFE tube is a necessary measure because it avoids “false alarms.” Without a PTFE tube, the filament tends to get pulled along as the print head moves around the frame. This results in very short periods when there is no filament motion inside the sensor, thus a “positive” signal.
By placing a PTFE tube between the sensor and extruder, the filament moves along a constrained path with a set length. This prevents the filament from getting pulled along unnecessarily.
Recommended filament run-out sensors
1. BIGTREETECH SFS Smart Filament Sensor
The most widely used filament run-out sensor is this Smart Filament Sensor from BIGTREETECH. It works best with a BIGTREETECH motherboard but any model that comes with a break detection interface should work – the manufacturers specify a few SKR and MKS motherboards that should be compatible. This could mean having to replace the stock board of your 3D printer and compiling your own firmware. It can interface with any Marlin 2.0.X version.
The housing of the BIGTREETECH Smart Filament Sensor is significantly bigger than most other run-out sensors. This can make mounting it a bit challenging, especially for smaller 3D printers.
2. TriangleLab Filament Run-Out Sensor
This filament run-out sensor from TriangleLab is a cheaper and more compact option. As with other run-out sensors, this one comes with a 3-pin connector, the appropriate cables, and a PTFE tube to act as a filament guide. A nice feature of this sensor is that it allows for daisy-chaining in case your 3D printer comes with multiple extruders.
This sensor is designed to work with Marlin firmware with version 1.1.0-RC7 or newer. If your board has an older version, you can update it manually using Octoprint. You will also need a filament runout plugin and specify the pin number to which the sensor is connected.
3. Sienoc 3D Filament Detection Module
This is likely one of the cheapest filament run-out sensors that you can buy, just in case you want to experiment with one and don’t want to spend too much. This sensor works well with an SKR board, but you will certainly need to update or modify the firmware.
While the sensor has a housing, it does not have a convenient means to mount it onto your 3D printer. As with other third-party sensors, the Sienoc Filament Detection Module does not come with instructions. You will have to figure out how to hook this up to your 3D printer yourself or look up instructional videos online.
One thing that complicates the setting up of this sensor is the fact its pins are mislabeled. According to user feedback, the signal and 5V terminals are swapped based on the labels. This is something to keep in mind when you buy this sensor, as you may end up frying your mainboard.
Final thoughts
A filament run-out sensor is one of the best and cheapest ways to upgrade your 3D printer. If you use your 3D printer heavily for large projects, then this sensor can help save some of your prints from failing.
Installing a filament run-out sensor is not something we can recommend for beginners. Not all mainboards are compatible with these sensors. There is a good chance that you will have to swap out the stock board of your 3D printer for something generic and modify its firmware. It would be worth the time to check out instructional videos on how to install a specific run-out sensor before buying it.