Parameters¶
Every setting in mmu.cfg and mmu_parameters.cfg, generated by reading the
real shipped config templates and the menuconfig help text behind each one -
not the wiki, which this page treats as too unreliable to trust for facts
that change from release to release. Feature pages explain the why behind
a setting; this page is the flat, exhaustive lookup for what it is and what
it defaults to, the same role Command Reference and
Printer Variables play for commands and status
fields.
Two other config files exist and are not covered here:
mmu_hardware.cfg (pins and per-unit hardware wiring - see each Feature
page's own Hardware Setup section) and mmu_macro_vars.cfg (macro tuning
variables - not yet its own reference page).
Defaults below come from a Box Turtle install, generated fresh by
menuconfig - the same seed this site's other menuconfig screenshots use. A
different MMU type or a different set of enabled features can change any
default shown here; where a setting only appears with a particular feature
enabled, that's noted alongside it. Many settings can also be changed live
with MMU_TEST_CONFIG <var>=<value>, without a Klipper restart - see
MMU_TEST_CONFIG.
Shared settings (mmu.cfg)¶
mmu.cfg's [mmu_parameters] section applies to the whole logical MMU,
regardless of how many physical units make it up.
Logging¶
| Parameter | Default | Description |
|---|---|---|
log_level |
1 |
Console log verbosity: 0=essential, 1=info, 2=debug, 3=trace, 4=developer (includes stepper moves) |
log_file_level |
2 |
Same scale, for mmu.log - -1 disables the log file entirely |
log_statistics |
1 |
Log the swap-timing table on every toolchange - see Feature: Statistics & Counters |
log_visual |
1 |
Show a visual representation of filament position in the console |
log_startup_status |
1 |
Log a tool-to-gate summary on startup |
log_m117_messages |
1 |
Mirror toolchange messages to the printer display via M117 |
suppress_klipper_warnings |
0 |
1 = send startup Klipper warnings to mmu.log instead of the console |
Tip
Console logging above 2 (debug) isn't recommended outside active
troubleshooting - the extra detail has real overhead.
Extruder movement speeds¶
| Parameter | Default | Description |
|---|---|---|
extruder_load_speed |
16 mm/s |
Speed of the load move inside the extruder, from homing position to the melt zone |
extruder_unload_speed |
16 mm/s |
Speed of the unload move inside the extruder (the initial move away from the melt zone runs at 50% of this) |
extruder_sync_load_speed |
18 mm/s |
Same load move, when the gear stepper is synced to the extruder |
extruder_sync_unload_speed |
18 mm/s |
Same unload move, when synced |
extruder_homing_speed |
16 mm/s |
Speed of extruder-only homing moves (e.g. to a toolhead sensor) |
extruder_accel |
1500 |
Extruder stepper acceleration limit during MMU load/unload moves, to avoid skipped steps |
macro_toolhead_max_accel |
0 |
Toolhead acceleration applied while a callback macro runs, restored afterward - 0 = use the printer's own max |
macro_toolhead_min_cruise_ratio |
0.5 |
Same, for the printer's cruise-ratio setting |
Tip forming¶
See Feature: Tip Forming and Purging for the full picture - these four settings choose who forms the tip and how hard the extruder pushes while doing it.
| Parameter | Default | Description |
|---|---|---|
force_form_tip_standalone |
1 |
1 = always use Happy Hare's own standalone tip forming; 0 = the slicer forms tips in-print, standalone only otherwise |
form_tip_macro |
_MMU_FORM_TIP |
Macro called to form (or cut) the tip - _MMU_FORM_TIP, _MMU_CUT_TIP, or a custom macro |
extruder_form_tip_current |
100% |
Extruder current (100-150%) during tip forming - 100 disables the boost |
slicer_tip_park_pos |
0 mm |
Where the slicer leaves filament in the extruder after its own tip forming - only relevant if the slicer forms tips |
Purging¶
See Feature: Tip Forming and Purging for the full picture.
| Parameter | Default | Description |
|---|---|---|
force_purge_standalone |
1 |
1 = always use standalone purging; 0 = the slicer's wipe tower in-print, standalone otherwise |
purge_macro |
_MMU_PURGE |
Macro called to purge - _MMU_PURGE, BLOBIFIER, or a custom macro. Blank disables standalone purging entirely |
extruder_purge_current |
100% |
Extruder current (100-150%) during purging - 100 disables the boost |
Filament management¶
| Parameter | Default | Description |
|---|---|---|
endless_spool_enabled |
0 |
Enable EndlessSpool - automatic hand-off to a spare gate on runout |
endless_spool_on_load |
0 |
Also apply EndlessSpool if the gate a load targets turns out to be empty |
endless_spool_eject_gate |
-1 |
Which gate to eject filament remains to - -1 = the current gate |
endless_spool_groups |
(empty) | EndlessSpool grouping list - empty means no groups defined |
spoolman_support |
off |
off/readonly/push/pull - see Feature: Spoolman / Filament Hub for what each does |
spoolman_pending_id_timeout |
20 s |
How long a pending spool ID assignment stays valid before being voided |
spoolman_led_segment |
gate_status |
Which LED segment(s) show the pending-spool-ID overlay: gate_status, status, or both |
spoolman_nfc_auto_create |
0 |
Auto-create a Spoolman spool from an unrecognised NFC tag's metadata - see Feature: NFC/RFID Reading |
t_macro_color |
slicer |
Source for the Tx macro's color variable: slicer, allgates, gatemap, or off |
Console¶
See Feature: Statistics & Consumption Counters for the swap-timing table these columns/rows control.
| Parameter | Default | Description |
|---|---|---|
console_stat_columns |
unload, load, post_load, total |
Which timing columns the MMU_STATS table shows |
console_stat_rows |
total, total_average, job, job_average, last |
Which rows it shows, in order |
console_gate_stat |
emoticon |
Gate-quality display: string, percentage, or emoticon |
console_always_output_full |
1 |
Always show the full statistics table, even mid-print |
console_show_colored_text |
1 |
Use color in console output |
console_show_filament_color |
1 |
Show a colored "swatch" for filament rather than a plain asterisk |
Misc¶
| Parameter | Default | Description |
|---|---|---|
timeout_pause |
72000 s |
Idle timeout while the MMU is in a paused state |
disable_heater |
600 s |
Delay before the hotend heater is turned off during an MMU pause |
default_extruder_temp |
200°C |
Temperature used for swaps/tip-forming outside a print, when the gate map has no temperature for that filament |
extruder_temp_variance |
2°C |
Permissible +/- variance while waiting for extruder temperature |
startup_reset_ttg_map |
0 |
Reset the TTG map on every startup |
show_error_dialog |
1 |
Show a pop-up dialog (in addition to the console message) on error |
strict_filament_recovery |
0 |
On a toolhead-sensor MMU, do extra moves on recovery to check for filament trapped between the extruder and the sensor |
filament_recovery_on_pause |
1 |
Run a quick position check on pause/error |
retry_tool_change_on_error |
0 |
Automatically retry a failed toolchange (MMU_RECOVER + Tx) - can mask real problems if left on |
bypass_autoload |
1 |
With an extruder-entry sensor fitted, automatically load through the bypass once filament is inserted |
print_start_detection |
1 |
Automatically detect print start/end and call MMU_PRINT_START/MMU_PRINT_END |
gcode_load_sequence |
0 |
1 = use the macro-based load sequence instead of internal logic - see Custom Load/Unload Sequences |
gcode_unload_sequence |
0 |
Same, for unloading |
drying_data |
(11-material dict) | Per-material (temperature, time) drying recipe table - see Feature: Environment Manager |
Klipper tuning¶
| Parameter | Default | Description |
|---|---|---|
update_trsync |
0 |
Increase Klipper's TRSYNC_TIMEOUT - can help with a "Timer too close" error during MMU homing moves, especially over CANbus |
canbus_comms_retries |
3 |
Automatic retries for a CANbus comms timeout during a homing move |
update_bit_max_time |
1 |
Increase neopixel.py's BIT_MAX_TIME automatically - works around finicky older-neopixel timing errors |
update_aht10_commands |
0 |
Convert AHT30 sensor commands to AHT10 - for BTT ViViD's heater sensor on an older Klipper without AHT30 support |
Macros¶
Every one of these names a callback macro - see Custom Load/Unload Sequences for how they fit together and when each fires.
| Parameter | Default | Description |
|---|---|---|
pause_macro |
PAUSE |
Macro called to pause the print on an MMU error |
action_changed_macro |
_MMU_ACTION_CHANGED |
Called when printer.mmu.action changes |
print_state_changed_macro |
_MMU_PRINT_STATE_CHANGED |
Called when printer.mmu.print_state changes |
mmu_event_macro |
_MMU_EVENT |
Called on assorted MMU events |
post_preload_macro |
_MMU_POST_PRELOAD |
Called after a successful gate preload |
pre_unload_macro |
_MMU_PRE_UNLOAD |
Called before an unload starts |
post_form_tip_macro |
_MMU_POST_FORM_TIP |
Called immediately after tip forming/cutting |
post_unload_macro |
_MMU_POST_UNLOAD |
Called after an unload completes |
pre_load_macro |
_MMU_PRE_LOAD |
Called before a load starts |
post_load_macro |
_MMU_POST_LOAD |
Called after a load completes |
unload_sequence_macro |
_MMU_UNLOAD_SEQUENCE |
Macro name called when gcode_unload_sequence: 1 |
load_sequence_macro |
_MMU_LOAD_SEQUENCE |
Macro name called when gcode_load_sequence: 1 |
Reset defaults¶
The values various RESET=1 commands restore, instead of plain
empty/unknown attributes - see Feature: Gate/TTG
Maps. Every list's length must match
your gate count. All commented out (and therefore inactive) by default.
| Parameter | Restored by |
|---|---|
default_gate_status, default_gate_vendor, default_gate_filament_name, default_gate_material, default_gate_color, default_gate_temperature, default_gate_spool_id, default_gate_speed_override |
MMU_GATE_MAP RESET=1 |
default_endless_spool_groups |
MMU_ENDLESS_SPOOL_GROUPS RESET=1 |
default_ttg_map |
MMU_TTG_MAP RESET=1 |
Toolhead geometry ([mmu_toolhead])¶
Still defined in mmu.cfg, but its own section - one toolhead's physical
dimensions, which can be shared across units if they share a toolhead.
| Parameter | Default | Description |
|---|---|---|
extruder_switch_pin |
(pin) | Extruder-entry sensor pin - detects filament just before the extruder |
toolhead_switch_pin |
(pin) | Toolhead sensor pin - detects filament just past the extruder entry |
register_toolhead_sensors |
1 |
Register these sensors for visibility in Mainsail/Fluidd and QUERY_SENSOR |
toolhead_extruder_to_nozzle |
72 mm |
Distance from the extruder gears to the nozzle |
toolhead_sensor_to_nozzle |
62 mm |
Distance from the toolhead sensor to the nozzle (ignored if not fitted) |
toolhead_entry_to_extruder |
8 mm |
Distance from the extruder-entry sensor to the extruder gears (ignored if not fitted) |
toolhead_residual_filament |
2 mm |
Filament left behind in the nozzle after unload - reduces load length and factors into purge volume |
toolhead_ooze_reduction |
0 mm |
Final fine-tuning adjustment on top of the above - see Feature: Tip Forming and Purging |
A hall-effect filament-width sensor (as fitted to some Qidi printers) can
emulate either switch pin instead - see the commented hall_sensor_endstop
block in the shipped mmu.cfg if that applies to your printer.
Not covered here¶
A few more sections exist in mmu.cfg that this page doesn't tabulate,
since they're either not really "parameters" or already fully documented
elsewhere:
[mmu_led_effect ...]blocks - the named LED effect definitions (colors, animation layers) - see Feature: LEDs.- Addon hardware (
[mmu_servo cut_servo], the Blobifier tray stepper/servo, the gantry-bumper servo) - pin and pulse-width settings covered in Feature: Tip Forming and Purging, Macro: Servo Cutter, and Macro: Blobifier.
Per-unit settings (mmu_parameters.cfg)¶
One mmu_parameters.cfg exists per physical MMU unit, under its own
[mmu_unit_parameters <name>] section. On a single-unit machine there's
just one; a multi-unit machine has one per physical MMU.
Selector control¶
Only present for a design with a moving selector (Type-A/C) - a gear-per-gate design like Box Turtle has no selector and skips this section entirely. Defaults below are shown where a selector type applies; several of these (marked type-dependent) only get a real value once the specific selector/servo hardware is chosen in menuconfig, and several servo angle settings are deliberately left blank to force calibration rather than trust an unverified number.
| Parameter | Default | Description |
|---|---|---|
selector_move_speed |
type-dependent | mm/s speed of selector movement |
selector_homing_speed |
type-dependent | mm/s speed of the initial selector homing move |
selector_touch_speed |
type-dependent | mm/s speed of "touch" (stallguard) selector moves |
selector_accel |
1200 |
Selector stepper acceleration |
selector_touch_enabled |
type-dependent | Enable/disable touch (stallguard) selector movement, if wired for it |
selector_gate_directions |
(empty) | Per-gate gear-stepper direction override, e.g. for the 3D-Chameleon design - 1, 1, 0, 0 |
selector_release_gates |
(empty) | Per-gate "which gate to move to in order to release this gate's filament" list (only if filament_always_gripped: 0) |
selector_gate_order |
(empty) | Order of gates for efficient forward-direction selection - can be auto-calibrated |
selector_endstop_width |
(empty) | Width of the gate-index sensor trigger range, for centering on a gate after homing (Indexed selectors) |
select_tool_macro |
select_tool_macro |
Macro called to change gates (MacroSelector designs only) |
select_tool_num_switches |
0 |
Number of switches a MacroSelector design reports |
Important
With touch (stallguard) selector movement enabled, don't lower
selector_accel to quiet the selector down - stallguard detection
itself gets unreliable below about 600, and only becomes dependable
again above roughly 1000. The default already sits safely in the
reliable range; a well-intentioned "quieter" value can silently break
touch homing instead.
Servo-driven selectors (LinearServoSelector/ServoSelector) add:
| Parameter | Default | Description |
|---|---|---|
servo_up_angle / servo_down_angle |
blank - calibrate | Servo angle to release / grip filament |
servo_move_angle |
blank - calibrate | Angle used while the selector is moving - defaults to the up position; on some designs (e.g. ERCF) this also passively grips |
servo_buzz_gear_on_down |
blank | Whether to "buzz" the gear stepper on the down move, to aid engagement |
servo_min_angle / servo_max_angle |
blank | Hard angle limits Happy Hare will never move the servo past |
servo_gate_angles |
blank - calibrate | Optional list of per-gate angles - leave blank to force calibration; calibrated values in mmu_vars.cfg override this |
servo_bypass_angle |
blank | Optional bypass-gate servo angle - -1 if unsupported |
servo_release_angle |
blank | Optional explicit release angle - -1 = default (halfway between gate angles) |
servo_duration |
blank | Duration of the PWM burst sent to the servo (non-always-active mode) |
servo_dwell |
blank | Minimum time given to the servo to finish moving before the next move starts |
servo_always_active |
blank | 1 = keep the servo powered continuously - can stress cheap servos/5V supply, use with care |
servo_active_down |
blank | (LinearServoSelector only) keep the servo active specifically in the down position |
Filament movement speeds¶
| Parameter | Default | Description |
|---|---|---|
gear_load_speed |
100 mm/s |
Default long-distance bowden load speed |
gear_load_accel |
100 |
Acceleration for that load |
gear_from_filament_buffer_speed |
(buffer-equipped only) | Faster load speed once a filament buffer is fitted - 50-100% faster is often safe |
gear_from_filament_buffer_accel |
(buffer-equipped only) | Acceleration for the above |
gear_unload_speed |
80 mm/s |
Bowden unload speed - defaults to a bit under load speed; tune lower for a rewinder-limited eSpooler |
gear_unload_accel |
100 |
Acceleration for unloading |
gear_homing_speed |
50 mm/s |
Speed of gear-only homing moves (to gate or extruder) |
virtual_sensor_homing_speed |
15 mm/s |
Slower homing speed used specifically for virtual endstops (e.g. sync-feedback compression/tension, or a Qidi filament-width sensor standing in for a real sensor) |
gear_short_move_speed |
80 mm/s |
Speed for short moves (e.g. incremental encoder-guided retracts) |
gear_short_move_accel |
400 |
Acceleration for short moves |
gear_short_move_threshold |
70 mm |
Move distance below which the "short move" speed/accel apply instead |
Gate loading/unloading¶
Settings for parking filament at the gate - see Feature: Encoder for how an encoder can substitute for (or verify) the endstop here.
| Parameter | Default | Description |
|---|---|---|
gate_homing_endstop |
type-dependent | Which endstop parks filament at the gate: encoder, mmu_shared_exit, mmu_exit, or extruder |
gate_homing_max |
100 mm |
Maximum extra homing distance (or the actual move distance, if using the encoder endstop) |
gate_parking_distance |
-23 mm |
Position relative to the homing endstop - must be a retraction (≤0) unless the endstop is mmu_exit |
gate_preload_endstop |
(empty) | Endstop used specifically when preloading - defaults to gate_homing_endstop if unset |
gate_preload_homing_max |
100 mm |
Maximum homing distance to the preload (mmu_exit) endstop |
gate_preload_parking_distance |
-23 mm |
Parking position after a preload homing move |
gate_preload_attempts |
2 |
Attempts made to pick up filament after a preload is issued |
gate_endstop_to_encoder |
(encoder-equipped only) | Distance from the gate endstop to where the encoder actually sees filament |
gate_load_attempts |
2 |
(servo-equipped Type-A designs) Attempts to grab filament on the initial load |
gate_autoload |
(entry-sensor-equipped only) | Automatically load a gate once the entry sensor sees filament |
gate_final_eject_distance |
20 mm |
Extra distance ejected on MMU_EJECT to clear the MMU's grip entirely |
Bowden tube loading/unloading¶
| Parameter | Default | Description |
|---|---|---|
bowden_homing_max |
2000 mm |
Maximum attempted bowden move, for calibration - should exceed your actual bowden length |
bowden_load_homing_buffer |
20 mm |
How much a fast bowden load falls short of its target, to leave room for accurate extruder homing |
bowden_unload_homing_buffer |
40 mm |
Same, for unload, to allow accurate gate homing without overshoot |
bowden_apply_correction |
0 (encoder-equipped only) |
Trust the encoder to auto-correct a short bowden move - not recommended above ~350mm/s load speed |
bowden_allowable_encoder_delta |
20.0 mm |
How close a correction move will try to get to the target |
bowden_pre_unload_test |
1 (encoder-equipped only) |
Verify filament is clear of the extruder before the fast unload pull |
bowden_pre_unload_error_tolerance |
50% |
Allowed mismatch for that pre-unload check |
bowden_move_error_tolerance |
60% |
Allowed mismatch between commanded and encoder-observed bowden movement - 100 disables the check |
Extruder homing¶
See Feature: Encoder and Feature: Sync-Feedback Buffer for two of the possible homing methods.
| Parameter | Default | Description |
|---|---|---|
extruder_homing_endstop |
none |
Method used to find the extruder entrance: filament_compression, extruder, encoder, mmu_gear_touch, or none |
extruder_homing_max |
100 mm |
Maximum distance advanced attempting to home to the extruder |
extruder_collision_homing_current |
30% |
Gear stepper current during collision-based homing (encoder/mmu_gear_touch methods) |
extruder_force_homing |
(toolhead-sensor-equipped only) | Force extruder homing even though a toolhead sensor makes it unnecessary |
Toolhead loading/unloading (behaviour)¶
Distinct from [mmu_toolhead]'s physical geometry settings above - these
tune the toolhead-loading behaviour itself, per unit.
| Parameter | Default | Description |
|---|---|---|
toolhead_homing_max |
(toolhead-sensor-equipped only) | Extra distance to advance attempting to home to the toolhead sensor |
toolhead_unload_safety_margin |
10 mm |
Extra unload distance to ensure filament is genuinely clear of the extruder |
toolhead_post_load_tighten |
60% |
After a load, tighten filament by this % of the clog-detection length, to remove bowden slack (ignored if synced to the extruder) |
toolhead_post_load_tension_adjust |
1 |
Use a fitted sync-feedback buffer to create neutral tension after loading, if synced |
toolhead_entry_tension_test |
1 |
Verify the filament passed the extruder entry via a neutral-tension check (needs a compression-capable sync-feedback sensor; ignored with a toolhead sensor) |
toolhead_move_error_tolerance |
60% (encoder-equipped only) |
Allowed mismatch between commanded and encoder-observed toolhead movement |
Synchronized gear/extruder movement¶
See Feature: Sync-Feedback Buffer for the buffer-based half of this.
| Parameter | Default | Description |
|---|---|---|
sync_to_extruder |
0 |
Keep the gear motor synchronized to the extruder throughout printing |
sync_gear_current |
100% |
Gear stepper current while synced during a print |
sync_form_tip |
0 |
Also sync during standalone tip forming |
sync_purge |
0 |
Also sync during standalone purging |
sync_feedback_enabled |
(buffer-equipped only) | Turn sync-feedback off even with the sensor fitted and working |
sync_feedback_speed_multiplier |
5% |
Gear speed delta applied to keep filament neutral in the buffer |
sync_feedback_boost_multiplier |
3% |
Extra gear speed boost while first finding the neutral position |
sync_feedback_extrude_threshold |
5 mm |
Extruder movement between sync-feedback updates - keep small, but above your retract distance |
sync_feedback_debug_log |
0 |
1 = write a sync_<gate>.jsonl telemetry log, selectable and viewable with make plot_sync |
FlowGuard clog and tangle detection¶
See Feature: FlowGuard for the full tuning guide - these are the same settings covered there in depth.
| Parameter | Default | Description |
|---|---|---|
flowguard_enabled |
1 (once FlowGuard is enabled) |
Master on/off for FlowGuard protection |
flowguard_max_relief |
40 mm (buffer-equipped) |
Relief movement tolerated before triggering a clog/runout - smaller is more sensitive |
tangle_prevention_enabled |
1 (once enabled) |
Boost gear current under high sensed tension, to pull through minor spool resistance |
tangle_prevention_threshold |
0.3 |
Tension level that triggers the current boost |
tangle_prevention_release |
0.2 |
Tension level that restores normal current - must sit below the threshold for hysteresis |
flowguard_encoder_mode |
2 (encoder-equipped) |
0=off, 1=static detection length, 2=autotuned |
flowguard_encoder_max_motion |
20.0 mm |
Max extruder movement without encoder movement before triggering, in static mode |
ESpooler control¶
See Feature: eSpooler for the full picture - including the PWM power curve formula these settings feed.
| Parameter | Default | Description |
|---|---|---|
espooler_min_distance |
30 mm |
Individual stepper moves shorter than this don't activate the espooler |
espooler_max_stepper_speed |
300 |
Gear stepper speed at which espooler power reaches maximum |
espooler_min_stepper_speed |
0 |
Gear stepper speed below which the espooler goes inactive - useful for non-PWM control |
espooler_speed_exponent |
0.5 |
Non-linear power-vs-speed exponent |
espooler_assist_reduced_speed |
50% |
% of rewind speed applied to assist-while-loading |
espooler_printing_power |
0 |
Fixed % PWM power while printing if >0; 0 allows burst-style assist moves instead |
espooler_operations |
rewind, assist, print |
Which operational modes are active - remove any to disable them even if the hardware supports them |
espooler_assist_extruder_move_length |
100 mm |
Extruder distance between assist bursts |
espooler_assist_burst_power |
100% |
Power of an assist burst move |
espooler_assist_burst_duration |
0.4 s |
Duration of an assist burst move |
espooler_assist_burst_trigger |
0 |
Enable a trigger-switch-driven assist burst |
espooler_assist_burst_trigger_max |
3 |
Max back-to-back trigger-driven bursts |
espooler_rewind_burst_power |
100% |
Power of a rewind burst move (used during drying-cycle spool rotation - see Feature: Environment Manager) |
espooler_rewind_burst_duration |
0.4 s |
Duration of a rewind burst move |
Heater / environment management¶
See Feature: Environment Manager for the full drying-cycle picture.
| Parameter | Default | Description |
|---|---|---|
heater_max_temp |
65°C |
Absolute ceiling, to protect the enclosure construction |
heater_default_dry_temp |
45°C |
Fallback drying temperature for an unmatched or empty gate |
heater_default_dry_time |
300 min |
Fallback drying cycle time |
heater_default_dry_humidity |
25% |
Default humidity goal - drying ends early if reached |
heater_vent_macro |
_MMU_VENT |
Macro called periodically during drying to vent humid air |
heater_vent_interval |
0 min |
Interval between vent-macro calls - 0 disables venting |
heater_rotate_interval |
5 min (eSpooler-equipped) |
Interval between spool-rotation bursts during drying |
NFC reader¶
See Feature: NFC/RFID Reading for the full picture.
| Parameter | Default | Description |
|---|---|---|
nfc_deep_read |
1 |
Parse full tag contents (material, color, vendor, temps), not just the UID |
nfc_gate_jog_scan_window |
-50, 50 mm |
Max retract/extrude jog range while searching for a tag - 0, 0 disables jogging |
nfc_led_segment |
auto |
Which LED segment shows read/fail feedback - auto follows reader type |
Calibration and autotune¶
| Parameter | Default | Description |
|---|---|---|
autocal_bowden_length |
1 (this Box Turtle seed - needs an extruder-entry sensor or a sync-feedback buffer with compression/proportional sensing; 0 on types without either) |
Auto-calibrate bowden length on first load, instead of requiring MMU_CALIBRATE_BOWDEN |
autotune_bowden_length |
0 |
Continuously tune bowden length over time (best with a toolhead sensor) |
skip_cal_rotation_distance |
1 |
Rely on the installed default gear rotation distance rather than requiring MMU_CALIBRATE_GEAR |
autotune_rotation_distance |
0 |
Continuously tune gear rotation distance from sync-feedback or encoder telemetry |
skip_cal_encoder |
1 (0 on ERCF specifically, not encoder-equipped types generally - KMS and QuattroBox both ship encoders and still default to 1) |
Rely on the installed default encoder resolution rather than requiring MMU_CALIBRATE_ENCODER |
Misc (per-unit)¶
| Parameter | Default | Description |
|---|---|---|
startup_home_selector |
0 |
1 = home the selector on startup if unloaded, then reselect the last gate; 0 = trust the saved shutdown position - see Feature: State Persistence |
encoder_move_validation |
1 (encoder-equipped) |
Use the encoder to validate every movement - 0 removes a slight pause between moves but is less safe |
CAD dimensions for custom designs¶
Commented out by default - only needed for a mmu_vendor: Other custom
build, or to override the values a recognised vendor/version normally
supplies automatically.
| Parameter | Default (commented) | Description |
|---|---|---|
cad_gate0_pos |
4.2 mm |
Approximate distance from the selector's endstop to the first gate - rough calibration starting point only |
cad_gate_width |
21.0 mm (Linear); 90.0° (Indexed) |
Width of each gate, or - for a rotary Indexed selector - the rotation-distance-equivalent degrees between gates |
cad_bypass_offset |
0 mm |
Distance from the limit of travel back to the bypass position (e.g. ERCF v2.0) |
cad_last_gate_offset |
2.0 mm |
Distance from the limit of travel back to the last gate |
cad_selector_tolerance |
10.0 mm |
Extra selector movement allowed for calibration |
cad_max_rotations |
2 |
Maximum full rotations of an Indexed selector wheel |
See also¶
- Calibration - what the calibration/autotune settings above actually do, and their real defaults per MMU type
- Command Reference - every
MMU_*command - Macro Variables - the equivalent flat reference for
mmu_macro_vars.cfg - Printer Variables - every
printer.mmu.*status field - Custom Load/Unload Sequences - the macro-based alternative to internal load/unload logic