
3
0
The filament feed encountered significant resistance, so I happened to have an unused MGN9 linear rail on hand. I quickly put together a makeshift solution—and the results were quite satisfactory.
1 microswitch for the X-axis roller, plus 1 microswitch with a knob (you can get by with just the roller-equipped switch; the knob isn’t really necessary—certainly not at speeds above 300 mm/s)
You’ll need a set of MGN9 100 mm linear rails and corresponding sliders (available on Taobao for as little as 6 RMB for new customers).
1 spring, size 04x9x35 (though you don’t strictly need it—the linear rails are already smooth enough).
2–4 M3x25 screws.
2–4 M2x10 self-tapping screws (depending on how many microswitches you’re using).
1–5 M3x6 screws.
1 M3x12 screw paired with an M3 T‑nut (if you plan to mount the assembly onto 2020 aluminum profiles).
2 Bowden connectors.
The control logic is straightforward—refer to the following:
[extruder_stepper my_extra_stepper] # Remote extruder
extruder : extruder
step_pin: PE2 # Adjust according to your printer’s actual wiring configuration
dir_pin: !PE3 # Adjust according to your printer’s actual wiring configuration
enable_pin: !PD4 # Adjust according to your printer’s actual wiring configuration
gear_ratio: 3:1 # Adjust according to your printer’s actual wiring configuration
microsteps: 16 # Adjust according to your printer’s actual wiring configuration
full_steps_per_rotation: 200 # Adjust according to your printer’s actual wiring configuration
rotation_distance: 24.381 # Adjust according to your printer’s actual wiring configuration
[tmc2209 extruder_stepper my_extra_stepper]
uart_pin: PE1 # Adjust according to your printer’s actual wiring configuration
uart_address: 0
interpolate: True
run_current: 0.700
hold_current: 0.200
sense_resistor: 0.110
stealthchop_threshold: 99999
[gcode_button Disable_Extruder]
pin: ^PG12 # We recommend adding ^Enable internal pull-up resistors (adjust according to your hardware; refer to the “pin” parameter description in the documentation)
press_gcode: # Execute when PG12 is pressed (during the trigger event)
M118 "PG12 Triggered: Stop the remote extruder (maintain sync cancellation)"
SYNC_EXTRUDER_MOTION EXTRUDER=my_extra_stepper MOTION_QUEUE= # Cancel sync
UPDATE_DELAYED_GCODE ID=auto_reenable DURATION=0 # During the trigger event, disable automatic recovery to prevent premature execution
release_gcode: # Execute when PG12 is released (in the non-triggered state)
M118 "PG12 Released: Begin a 0.7‑second delay before resuming sync"
UPDATE_DELAYED_GCODE ID=auto_reenable DURATION=0.7 # Initiate delayed recovery
[gcode_button Enable_Extruder]
pin: ^PG13 # Same as above
press_gcode:
M118 "PG13 Triggered: Immediately resume sync"
SYNC_EXTRUDER_MOTION EXTRUDER=my_extra_stepper MOTION_QUEUE=extruder # Resume sync immediately
UPDATE_DELAYED_GCODE ID=auto_reenable DURATION=0 # Cancel delayed tasks
[delayed_gcode auto_reenable]
initial_duration: 0 # Initially do not trigger; only call via UPDATE_DELAYED_GCODE
gcode:
M118 "0.7 seconds—delay ends, automatically resuming sync for the remote extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=my_extra_stepper MOTION_QUEUE=extruder # Resume sync
Originality of the Model
The author declares that this work is their personally original model
This model is licensed under the following terms:
Credit must be given to the creator
Models(1)
简易耗材缓冲器.3mfDesigner79.05 KB
2025-11-17




