Skip to content

Filament Sensor Case & Setup Info/Settings

Advertising
?
Creation quality: 4.8/5 (3 votes)
Evaluation of members on the printability, utility, level of detail, etc.

  • 10.8k views
  • 11 likes
  • 411 downloads
  • 1 comment

License
3D design format
STL Folder details Close
  • Filament_Sensor.stl

Learn more about the formats

Last update 2018-06-28 at 14:31
Publication date 2017-07-20 at 15:35
Design number 13007

3D printer file info

3D model description

There's very little info online regarding how to wire a filament runout sensor properly on "compound motherboards". Schematics barely exist, are outdated, or simply doesnt have data you seek. So i hope to help by keeping it simple.
This applies to motherboards out there like my OSOYOO MKS Base v1.5 board and my Hictop red MPX .3
Made this to work with regular end-stops micro switches.
(This may work with regular ramp boards, but i dont have one to look closely and or personally confirm, all my boards are the "compound, all in one" motherboards)

Hardware needed:
Endstop microswitch with pigtail connector
Four 3mm x 1.5mm magnets
M3 x 5mm screw
M3 Nut

Software side of things:
This applies to Marlin!! Specifically the latest version as of 12/25/17 (v1.1.8) (also working on latest bugfix)
There's 3 changes that must take place:
(1) Enable filament runout sensor on Config.h
(2) Enable advanced pause and adjust values to what you want your machine to do
(3) Make sure the right pin is used by firmware

Change #1
Edit configuration.h
You must enable the filament runout sensor, scroll down and enable the setting. Should look something like this:

#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor. Set to true for the red mechanical end-stops
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
#define FILAMENT_RUNOUT_SCRIPT "M600"
#endif

Change #2
Edit configuration_adv.h
You must enable Adanced pause feature
( This are MY settings... Change the values to whatever you deem appropiate for your machine!!)

#define ADVANCED_PAUSE_FEATURE
#if ENABLED(ADVANCED_PAUSE_FEATURE)
#define PAUSE_PARK_X_POS 3 // X position of hotend
#define PAUSE_PARK_Y_POS 3 // Y position of hotend
#define PAUSE_PARK_Z_ADD 3 // Z addition of hotend (lift)
#define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
#define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm
// It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
#define FILAMENT_CHANGE_UNLOAD_LENGTH 0 // Unload filament length from hotend in mm
// Longer length for bowden printers to unload filament from whole bowden tube,
// shorter length for printers without bowden to unload filament from extruder only,
// 0 to disable unloading for manual unloading
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
// Short or zero length for printers without bowden where loading is not used
#define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#define ADVANCED_PAUSE_EXTRUDE_LENGTH 0 // Extrude filament length in mm after filament is loaded over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define PAUSE_PARK_NOZZLE_TIMEOUT 900 // Turn off nozzle if user doesn't change filament within this time limit in seconds
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5 // Number of alert beeps before printer goes quiet
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
#define PARK_HEAD_ON_PAUSE // Go to filament change position on pause, return to print position on resume
//#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
#endif

Change #3
Make the software use the right pin on motherboard.
Scroll down the tab and look for the below code.
Here is where you will change the value to match the pin your using.
In both of my OSOYOO MKS Base v1.5 and Hictop red MPX .3 i had open pins near the end stops with a label D11. Theres 3 pins, SIGNAL - NEG - POS.
I used D11 because i wasnt able to find any online information regarding the proper pin 4 Marlin calls for.

// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector
#define FIL_RUNOUT_PIN 11 // Stock setting was 4. Changed to 11 for pin D11 on the motherboard.

This works even when using Octoprint.

3D printing settings

Printer:
Hypercube

Rafts:
No

Supports:
No

Resolution:
0.20mm

Infill:
12%

Advertising


Issue with this design? Report a problem.

Advertising

Would you like to support Cults?

You like Cults and you want to help us continue the adventure independently? Please note that we are a small team of 3 people, therefore it is very simple to support us to maintain the activity and create future developments. Here are 4 solutions accessible to all:

  • ADVERTISING: Disable your banner blocker (AdBlock, …) and click on our banner ads.

  • AFFILIATION: Make your purchases online by clicking on our affiliate links here Amazon.

  • DONATE: If you want, you can make a donation via Ko-Fi 💜.

  • WORD OF MOUTH: Invite your friends to come, discover the platform and the magnificent 3D files shared by the community!


Sharing and downloading on Cults3D guarantees that designs remain in makers community hands! And not in the hands of the 3D printing or software giants who own the competing platforms and exploit the designs for their own commercial interests.

Cults3D is an independent, self-financed site that is not accountable to any investor or brand. Almost all of the site's revenues are paid back to the platform's makers. The content published on the site serves only the interests of its authors and not those of 3D printer brands who also wish to control the 3D modeling market.

100% secure payment by credit card, PayPal, Apple Pay, Google Pay, etc.
View all payment options.