1 / 6
Filament runout detection — image 1
1 / 6

Filament runout detection

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

Finally got around to build something to deal with running out of filament when printing from Octoprint (not direct…

Rating
0 / 5
Likes
1
Downloads
13
Makes
0
Views
347
Reviews
0

Updated at source:

Model information

Category
Other Ideas
License
Creative Commons — Attribution

Finally got around to build something to deal with running out of filament when printing from Octoprint (not direct from SD card) on my Ender 3 Pro.

I created this bracket to use with the following switches: https://www.amazon.com/gp/product/B00MFRMFS6/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

I connected the two outer most connections to my raspberry pi as you can see in the pickture.

The housing for the pi is: https://www.amazon.com/gp/product/B081N3V6BH/ref=ppx_yo_dt_b_asin_image_o06_s01?ie=UTF8&psc=1

Connect it to physical pins of the pi (4B) as shown in the picture.

The wire guide STL is a nice to have if you want to guide the wire to the side of the frame.

I use the filament sensor reloaded plugin for Octoprint and have included a screenshot for the settings for the plugin.

You will also have to tell Octoprint what to do when a print is paused (for you to change filament):

{% if pause_position.x is not none %}

; relative XYZE

G91

M83

; Lower extruder temp

M104 180

; retract filament, move Z slightly upwards

G1 Z+5 E-5 F4500

; absolute XYZE

M82

G90

; move to a safe rest position

(use X0 and Y0 depending on your printer)

G1 X220 Y220

{% endif %}

And what to do when resuming a print:

{% if pause_position.x is not none %}

; relative extruder

M83

; prime nozzle

G1 E-5 F4500

G1 E5 F4500

G1 E5 F4500

; absolute E

M82

; absolute XYZ

G90

; reset E

G92 E{{ pause_position.e }}

; move back to pause position XYZ

G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500

; reset to feed rate before pause if available

{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}

{% endif %}

You configure these settings in the GCODE Scripts section of the Octoprint settings.

It all works like a charm as can be seen from the example picture where I switch from black to grey filament. Seamless.

Print Settings

Printer Brand:

Creality

Printer:

Ender 3 Pro

Rafts:

No

Supports:

Doesn't Matter

Resolution:

0.2

Infill:

25%

Filament: eSun PLA+ Black


Notes:

I did not us supports, but if you do, make sure to use only from build plate.
Nozzle Temp: 210 Celsius

Bed Temp: 55 Celsius

How I Designed This

The holder for the switch is a remix. I added the bracket in order to attach the sensor to the upper frame, straight underneath the filament spool.

Category: 3D Printing

Tags