|
|
Whether to activate this extruder instance. All configuration is ignored if false. Each enabled extruder creates a separate extruder module instance that can be controlled with tool change commands (T0, T1, etc.). When false, all other settings for this extruder are completely ignored. Use the pattern to create multiple extruder instances (e.g., extruder.hotend.enable, extruder.hotend2.enable). |
|
|
Number of stepper motor steps required to move one millimeter of filament through the extruder. This critical calibration value depends on your stepper motor steps/revolution (typically 200 for 1.8° motors), microstepping setting (common values: 16x = 3200 steps/rev), and your extruder gear ratio/hobbed bolt diameter. Calculate as: (motor_steps_per_rev × microstepping) / (hobbed_bolt_circumference × gear_ratio). Example: (200 × 16) / (3.14159 × 7mm × 1) ≈ 145 steps/mm. Fine-tune by extruding a known length and measuring actual extrusion. Can be adjusted at runtime with M92 E<value> and saved with M500. [Learn more](extruder.md#steps_per_millimeter) |
|
|
Filament diameter in millimeters for volumetric extrusion mode. When set to a value greater than 0.01mm, enables volumetric extrusion where E values in G-code are interpreted as cubic millimeters of filament volume instead of linear millimeters. Standard values: 1.75mm or 3.0mm (2.85mm). Set to 0 to disable volumetric extrusion and use standard linear E values. Can be changed at runtime with M200 D<diameter> (e.g., M200 D1.75) or disabled with M200 D0. Volumetric mode is useful when switching between different filament sizes or when your slicer outputs volumetric E values. [Learn more](extruder.md#filament-diameter) |
|
|
Maximum acceleration for the extruder stepper motor in mm/s². Controls how quickly the extruder can change speed during extrusion moves. Higher values allow faster speed changes but may cause filament grinding or skipped steps if too aggressive. Lower values produce smoother extrusion but may cause artifacts during rapid direction changes. Typical values: 500-3000 mm/s². This setting affects extruder-only moves (retractions) and the E-axis component of combined moves. Adjust based on your extruder's mechanical capabilities and filament characteristics. Can be changed at runtime with M204 E<value>. |
|
|
Maximum allowable speed for the extruder stepper motor in mm/s. This is the absolute speed limit for filament movement. The firmware will never move the extruder faster than this value, regardless of what speeds are requested in G-code or calculated during motion planning. Typical values: 50-200 mm/s depending on extruder type and hotend capabilities. Direct drive extruders can typically handle higher speeds than Bowden extruders. Too high values may cause grinding or skipped steps; too low limits print speed. This affects both printing moves and retractions. Can be set per-extruder for multi-extruder setups. |
|
|
Pin for the extruder stepper motor driver's step signal. Each step pulse moves the motor one microstep according to the driver's microstepping configuration. The step pin toggles high/low for each step, creating the pulse train that drives the motor. Typical pins on Smoothieboard: 2.3 (E0/delta axis), 2.8 (E1/epsilon axis). Pin can be inverted by appending ! (e.g., 2.3!). The step frequency equals speed_mm_s × steps_per_mm, so a 100mm/s move with 145 steps/mm produces 14,500 steps/second. Ensure your controller can handle the step frequency at maximum speed. |
|
|
Pin for the extruder stepper motor driver's direction signal. Controls whether the motor rotates forward (extrude filament) or backward (retract filament). The direction pin must be set before step pulses are sent. Typical pins on Smoothieboard: 0.22 (E0/delta axis), 2.13 (E1/epsilon axis). If your extruder moves in the wrong direction (retracting when it should extrude), invert this pin by appending ! (e.g., 0.22!). Test direction by sending G1 E10 F100 and verify filament extrudes forward out of the nozzle. |
|
|
Pin for the extruder stepper motor driver's enable signal. When active, the motor driver is powered and holds position with full torque. When inactive, the driver is disabled and the motor freewheels (no holding torque). Typical pins on Smoothieboard: 0.21 (E0/delta axis), 0.10 (E1/epsilon axis). Most drivers are active-low (enabled when pin is LOW), but some are active-high. Append ! to invert if needed (e.g., 0.21!). The motor automatically enables before moves and can disable after a timeout (see ). Manual control: M17 enables, M18/M84 disables. |
|
|
X-axis offset of this extruder's nozzle from the primary extruder (T0) in millimeters. Used only in multi-extruder setups to compensate for physical nozzle position differences. When switching tools with T1, T2, etc., the firmware automatically applies these offsets to maintain correct positioning. Positive values mean this extruder's nozzle is to the right of T0. Measure the offset by homing, moving to a reference point with T0, switching to this tool, and measuring the distance needed to return to the same point. The primary extruder (T0) should always have offsets of 0,0,0. Only set offsets for secondary extruders (T1, T2, etc.). |
|
|
Y-axis offset of this extruder's nozzle from the primary extruder (T0) in millimeters. Used only in multi-extruder setups to compensate for physical nozzle position differences. Positive values mean this extruder's nozzle is toward the back (away from Y=0) compared to T0. See for calibration procedure and usage details. Must be accurately calibrated for proper layer alignment when switching between extruders during multi-material or multi-color prints. |
|
|
Z-axis offset of this extruder's nozzle from the primary extruder (T0) in millimeters. Used only in multi-extruder setups to compensate for different nozzle heights. Positive values mean this extruder's nozzle is higher (further from the bed) than T0. Critical for proper first layer when switching extruders. Calibrate by homing Z, moving to a known position with T0, switching to this tool, and measuring the height difference. Even small differences (0.05mm) can cause first layer problems. Some slicers can compensate for Z-offset in G-code, but it's best to configure it in firmware for consistent behavior across all print jobs. |
|
|
Amount of filament to retract during firmware retraction in millimeters. Used by G10 (retract) and G11 (unretract) commands. Retraction pulls filament back to relieve nozzle pressure and prevent oozing/stringing during travel moves. Typical values: 0.5-2mm for direct drive, 4-7mm for Bowden. Too little retraction causes stringing; too much can cause clogs or air gaps. The total retract amount includes this length plus (if negative). Can be changed at runtime with M207 S<length> (e.g., M207 S1.5). Many slicers can use firmware retraction instead of generating explicit E moves. [Learn more about retraction](extruder.md#retract) |
|
|
Speed at which filament is retracted during firmware retraction in mm/s. Used by G10 command. This is stored and used internally in mm/s, but the M207 command expects mm/min (multiply by 60). Typical values: 25-60 mm/s (1500-3600 mm/min). Faster retractions reduce stringing but may cause grinding or skipped steps if too fast. Direct drive can typically handle faster retractions than Bowden. The retraction speed should be fast enough to quickly relieve pressure but not so fast that it damages filament or causes extruder jamming. Can be changed at runtime with M207 F<mm_per_min>. |
|
|
Additional length of filament to extrude when recovering (unretract) beyond the retracted amount. Used by G11 command. Total recover distance = + this value. Typical values: -0.2 to +0.2mm. Positive values prime the nozzle (useful after long travels), negative values recover slightly less than retracted (can help with oozy materials). Set to 0 to recover exactly the retracted amount. This setting compensates for material properties, oozing during travel, or pressure changes in the melt zone. Fine-tune to eliminate blobs (reduce value) or gaps (increase value) after travel moves. Can be changed at runtime with M208 S<length>. |
|
|
Speed at which filament is recovered (unretracted) during firmware unretraction in mm/s. Used by G11 command. This is stored and used internally in mm/s, but the M208 command expects mm/min (multiply by 60). Typical values: 10-40 mm/s (600-2400 mm/min), usually slower than retract speed. Slower recovery speeds help prevent blobs and allow time for the pressure in the nozzle to build back up smoothly. Too fast can cause blobs; too slow can cause gaps at the start of extrusion. Should generally be less than . Can be changed at runtime with M208 F<mm_per_min>. |
|
|
Amount to lift the Z-axis during retraction in millimeters (Z-hop or Z-lift feature). When G10 is executed, the nozzle lifts by this amount after retracting filament. During G11, the nozzle lowers back to the original height after unretraction. Typical values: 0.2-1.0mm. Set to 0 to disable Z-lift. Z-hop reduces the chance of the nozzle dragging through or knocking over printed parts during travel moves, especially useful for: tall thin features, parts with significant Z-variation, materials prone to warping. Trade-off: increases print time due to extra Z movements. Can be changed at runtime with M207 Z<length>. |
|
|
Speed for Z-axis movement during Z-lift operations in mm/min. Used for both lifting (during G10) and lowering (during G11) moves when is greater than zero. Note: This is specified in mm/min (not mm/s like most other extruder speeds). Typical values: 3000-9000 mm/min (50-150 mm/s). Faster Z-lift reduces travel time overhead but may cause ringing or mechanical stress on Z-axis components. Should not exceed the Z-axis maximum speed. Can be changed at runtime with M207 Q<mm_per_min>. |