Loss of Extrusion Sensor

Hey All,

Up until November of last year, I printed on a Stratasys Dimension 3D printer and one of the things I hated most was coming into a failed print because of a loss of extrusion.

Getting a Lulzbot TAZ6 has been awesome on so many levels. The number of materials I can print with, MUCH cheaper cost of printing, great online community, and the ability to do modifications. The one thing that is tougher is the learning curve. On the Dimension, I’d just upload my STL and print, no settings to tweak. On the TAZ, while much better, it is much more complicated.

I have been working on a Loss of Extrusion sensor with the goal of sensing filament run out as well as the filament not moving. Because of my lack of experience on 3d printers of this type, I wanted to ask for feedback from 3D printing veterans in regards to how this sensor should operate. ie What is the slowest speed a filament could move? At any time during a successful print, does the filament stop for any reason?

Here is the current version in action: https://www.youtube.com/watch?v=VoZ_osjMTDo

Thanks for any feedback!

With retraction fillament will stop and reverse direction periodically, but only for a second. If you put a several second delay, that would likely fix that issue. A bypass switch to disable the unit when printing double extrusion stuff could also be useful. Here is a similar one I’m working on fitting to a Taz for inspiration.


Thanks piercet, that is exactly the type of info I am looking for. Do you know if the printer ever stops for any reason during a successful print?

Good idea on the bypass switch.

Usually no, a print will normally keep going. The only real exception would be a pause command where someone has stopped the printer in g code to swap fillament or insert a captive nut in a part, or possibly during long travel moves between multiple parts on a bed. Longest possible pause there would be going from corner to corner with 2 small parts.

It sounds like timing on this is going to be crucial. I don’t want to go too crazy on this, but since I am using an arduino as the brains, it wouldn’t be much more money to add a small lcd and selection wheel so you can change timing and other settings.

Both great ideas. Seems there should be a way to detect active printing yet no filament movement. Hmm… start of print has the bed leveling and heating phases. A bypass switch would be useful for when the operator is standing in front of the printer, though it would be easy to walk away and forget to arm the sensor. Likewise, you wouldn’t want the sensor to trip at the end of the print when the bed is cooling or presented to part removal.

I’m surprised an optical encoder wasn’t integrated into the existing print head. Even simply painting black dots on the edge of the idler bearing might be enough to optically detect movement.

I was looking at the available events on Octoprint tonight and there is a “PrintStarted” and “PrintDone” available. Octoprint could potentially use 2 pins on the Raspberry Pi, one input and one output. Octoprint would use the output to activate the sensor.

When the sensor is first activated, it anticipates a couple of delays before the printer actually starts printing. ie bed leveling, retraction, etc. After those preconfigured delays, any filament stops over XXXXms indicate a loss of extrusion (or out of filament). Then we could insert a pause, gcode, email alert, whatever.


I know this is kind of a dead thread, but I wanted to see if I could get the conversation going again, my Taz has been experiencing a number of jams, I think it’s thefilament (Inland PLA) I have 6 spools and in orinting landscape for a friend who plays D&D it’s frustrating to waste so much filament so I got my octoprint setup and started looking at sensors. Being used naturally I came across sneaks’ sensor design and additional searching made it here. I’m looking for a solution for more than just filament run out. Using an optical sensor IMO means that the required data can be captured, and the tunnel sensor shows that it can be accomplished but requires sailfish firmware and hooks up to a ramps board. I’m new to all of this and my mind races with where to even begin to really understand how to go about implementing something like this but I’d definitely be interested in learning how to solve this. I know in my case using better filament could be the answer but a sensor would be a long term solution to minimize print failures for many reasons and thus worth investing in!

Couldn’t figure out the mobile function to edit my typo this post can be deleted sorry!

Clever way to use an end stop switch for both run out and tangle detection.