Upload

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)

  • model file image
    简易耗材缓冲器.3mfDesigner

    79.05 KB

    2025-11-17

No more