SteinWipe Motion Control - BBS P1 User Manual
[{"type":"paragraph","children":[{"t":"text","v":"SWMC Release: BBS_P1_SWMC_Machine_Preset_Apr.28.1.2025.3mf","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Developed On: Bambu Studio V.1.10.1.50","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Shipped Date: Apr.30.2025","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Welcome","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This manual covers the BBS_P1_SWMC_Machine_Preset_Apr.28.1.2025 release of SteinWipe Motion Control (SWMC) for the Bambu Lab P1P and P1S running Bambu Studio. This is Core 1 on the P1 Series; the first formal release built around the SteinSwitch Definition (SSD) architecture, where features are controlled by keywords in your slicer\u0026#39;s printer notes instead of inline gcode edits.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This release shipped on Apr.30.2025 alongside the ORCA_P1 Core 1 variant. Both variants share 42 common SSDs; this BBS variant has one additional SSD (link_mech_test_to_scan_first_layer) that coordinates mech test timing with Bambu Studio\u0026#39;s first-layer-scan checkbox. That\u0026#39;s the only difference between the two slicer variants.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you\u0026#39;re coming from Core 0 on the P1 Series BBS variants (BBS_P1_Feb.15.1.2025 beta or BBS_P1_Feb.15.2.2025 stable), this is a significant architectural upgrade. Every feature you had before is either preserved, renamed, or absorbed into a more capable SSD. The DABL auto bed leveling that was previously a SteinSwitch toggle is now on by default for all users; no configuration needed.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you\u0026#39;re new to SWMC entirely, Core 1 is the recommended starting point. Configuration happens through a single printer notes field; no gcode editing required.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"1. What\u0026#39;s in this release","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.1 The big picture","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Core 1 is the SteinSwitch Definition (SSD) revolution. Where Core 0 required you to edit gcode to toggle features on and off, Core 1 detects keywords in your printer notes field and configures itself accordingly. This means:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Zero gcode editing to enable or disable features","b":false,"i":false}]},{"children":[{"t":"text","v":"Sharing configurations between users is a copy\/paste of printer notes","b":false,"i":false}]},{"children":[{"t":"text","v":"Feature discovery is easier (one searchable list instead of multiple gcode sections)","b":false,"i":false}]},{"children":[{"t":"text","v":"Updates preserve your configuration automatically","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"This release ships as a single .3mf file that opens directly in Bambu Studio and installs as a printer preset. Once installed, you configure features by editing the printer notes field.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.2 What\u0026#39;s new in Core 1","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"SteinSwitch Definition (SSD) architecture. Keywords in printer notes replace inline gcode toggles. 43 SSDs available across all gcode sections.","b":false,"i":false}]},{"children":[{"t":"text","v":"Dynamic purge flow control. Flow percentage SSDs (25%, 50%, 75%, 125%) calculate dynamically based on your filament\u0026#39;s max volumetric flow rate, so speeds adapt to your specific material.","b":false,"i":false}]},{"children":[{"t":"text","v":"Steinretraction levels. Three preset levels (low, med, max) for controlling retraction aggressiveness during AMS cycles. Separate SSDs for ChangeFilament and End gcode.","b":false,"i":false}]},{"children":[{"t":"text","v":"Pause on purge bucket overflow. Automatically pause the print every N layers to let you empty the purge bucket. Three size options (small, med, large) based on your bucket capacity.","b":false,"i":false}]},{"children":[{"t":"text","v":"DABL automatically enabled. The Dynamic Auto Bed Leveling capability that was previously gated behind a SteinSwitch is now on for all users via the G29 A1 parameter. Works on any P1 firmware that supports DABL; falls back to standard ABL on firmware that doesn\u0026#39;t.","b":false,"i":false}]},{"children":[{"t":"text","v":"Automated layer wipe cadences. Schedule wipe cycles every Nth layer (every new, every other, every third, every fourth) via SSD keywords.","b":false,"i":false}]},{"children":[{"t":"text","v":"Template Custom G-code workflow. Wipe patterns live in one place; insert wipes at specific layers via Bambu Studio\u0026#39;s layer slider right-click menu.","b":false,"i":false}]},{"children":[{"t":"text","v":"AMS routing SSDs. Three detour options for users who need alternative travel paths during AMS cycles.","b":false,"i":false}]},{"children":[{"t":"text","v":"BBS-specific mech test coordination. One SSD ([[link_mech_test_to_scan_first_layer]]) coordinates mech test execution with Bambu Studio\u0026#39;s first-layer-scan checkbox. Not needed in Orca due to how Orca handles mech test timing natively.","b":false,"i":false}]},{"children":[{"t":"text","v":"Community contribution: [[ignore_fan_cover_alarm]] from Discord contributor OldSalty3D.","b":false,"i":false}]}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.3 What\u0026#39;s NOT in this release (from X1 Core 1)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The X1C Core 1 variant has 7 SSDs that are hardware-dependent and don\u0026#39;t apply to the P1 Series:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"[[use_purge_work_light]] (X1 has work light; P1 doesn\u0026#39;t)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[dark_mode]] (X1 has addressable logo light; P1 doesn\u0026#39;t)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[ooze_prevention_before_flow_cali_scan]] (LiDAR feature, X1 only)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[steinwipe_after_flow_cali_scan]] (LiDAR feature, X1 only)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[override_first_layer_scan_with_swmc]] (LiDAR feature, X1 only)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[print_pa_line_over_qr]] (Bambu Studio LiDAR integration, X1 only)","b":false,"i":false}]},{"children":[{"t":"text","v":"[[skip_build_plate_detection]] (LiDAR detection, X1 only)","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"P1 users don\u0026#39;t need these; they\u0026#39;re silently absent from the P1 SSD list.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"1.4 One small difference from the Orca P1 variant","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Orca P1 Core 1 release has 42 SSDs; this BBS variant has 43. The extra SSD ([[link_mech_test_to_scan_first_layer]]) is a BBS-specific mech test coordination feature. If you\u0026#39;re also running the Orca P1 variant on this printer, your Orca printer notes don\u0026#39;t need this keyword. Everything else is identical between the two slicer variants.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"2. Before you install","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.1 Requirements","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Bambu Lab P1P or P1S printer","b":false,"i":false}]},{"children":[{"t":"text","v":"Bambu Studio V.1.10.1.50 - newer versions work with this release but Sidestepping purge causes an out of bounds error in the slicer","b":false,"i":false}]},{"children":[{"t":"text","v":"The .3mf file linked from the release page","b":false,"i":false}]},{"children":[{"t":"text","v":"A SteinWipe V1 wiper mount installed on your P1 Series (recommended but not strictly required)","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"Most SSDs work without hardware, but the actual wiping features need something to wipe against. If you don\u0026#39;t have a SteinWipe mount installed, you can still benefit from the modified pause routine, chute tapping, purge flow control, and AMS management features.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.2 Install the wiper first, then calibrate","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If your SteinWipe wiper mount is not yet installed, install it before running any SWMC gcode. Wiper entry XY error greater than 0.5mm can tear the wiper pad on the very first wipe cycle, so mount alignment matters.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"After the mount is installed, run the calibration gcode from the release resources to measure your mount\u0026#39;s XY offsets. Those values get entered into the Template Custom G-code section of your printer preset once and stay put across updates.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Wiper mount reference","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"wiper_mount_installed | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe V1 wiper mount installed on the rear panel of a Bambu Lab P1 Series. Mount bolted with M3 hardware through the backing plate - no tape.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"2.3 Skip calibration if","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"You ran calibration on this same wiper mount for a previous SWMC release and have not moved, unbolted, or replaced it. Or, you do not have a SteinWipe mount installed and plan to use only non-wiper features; the wipe features need a wiper pad to wipe against.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"3. Installing the preset","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"These steps apply to the Bambu Studio version listed on this release\u0026#39;s card.","b":false,"i":false}]},{"type":"list","listType":"ordered","items":[{"children":[{"t":"text","v":"Download the .3mf file from the release resources on the release page.","b":false,"i":false}]},{"children":[{"t":"text","v":"Open Bambu Studio.","b":false,"i":false}]},{"children":[{"t":"text","v":"Import the BBS_P1_SWMC_Machine_Preset_Apr.28.1.2025.3mf file into Bambu Studio.","b":false,"i":false}]},{"children":[{"t":"text","v":"If prompted, choose \u0026quot;Open as Project.\u0026quot;","b":false,"i":false}]},{"children":[{"t":"text","v":"Open your printer profile settings.","b":false,"i":false}]},{"children":[{"t":"text","v":"Save this profile as a new preset so updates do not overwrite your customizations.","b":false,"i":false}]},{"children":[{"t":"text","v":"Name the new preset anything you like; something like \u0026quot;P1 SWMC Apr.28.1 BBS\u0026quot; works well.","b":false,"i":false}]},{"children":[{"t":"text","v":"Select your new preset from the printer dropdown. You are ready to slice.","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"The preset ships with sensible defaults already active; you can use it as-shipped or enable additional SSDs via printer notes (Section 5).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% BBS import step","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"install_step_1_import | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Importing the .3mf file into Bambu Studio. Use the standard file import option.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Save as preset in BBS","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"install_step_2_preset | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Save your imported profile as a new preset in Bambu Studio. Naming it with the core date makes updates easier later.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"4. How SSDs work","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.1 The mechanism","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"A SteinSwitch Definition (SSD) is a keyword-based feature toggle. You enable a feature by adding its keyword to your slicer\u0026#39;s printer notes field; you disable it by removing the keyword. No gcode editing required.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The gcode detects keywords using regex patterns that scan the content of your printer notes field. When a specific keyword is present on its own line (with optional whitespace), the associated feature activates.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.2 Where to enter keywords","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"In Bambu Studio, open your printer preset\u0026#39;s settings and find the Printer Notes field. Add each keyword you want to enable on its own line. Save the preset before slicing.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Where to enter SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"bbs_printer_notes_location | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Printer Notes field in Bambu Studio, with SSD keywords entered one per line.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"4.3 Default behavior (no SSDs enabled)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"With no SSDs in your printer notes, Core 1 runs a sensible default configuration. You get:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Arc wipe scrubbing pattern","b":false,"i":false}]},{"children":[{"t":"text","v":"Default purge behavior (anti-strip safety fallback active)","b":false,"i":false}]},{"children":[{"t":"text","v":"DABL enabled (via G29 A1)","b":false,"i":false}]},{"children":[{"t":"text","v":"Standard AMS travel path","b":false,"i":false}]},{"children":[{"t":"text","v":"Standard retraction and steinretraction behavior","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"This is the safe starting point. Add SSDs as you discover features that improve your workflow.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"5. Available SteinSwitch Definitions","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This release includes 43 SSDs. Sections 5.1 through 5.6 group them by gcode section.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.1 Start gcode SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Startup and initial wipe:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_on_initial_startup}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle at the start of the print, before first Z homing. Removes string from the last print. Default: recommended.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;inspect_nozzle_at_startup}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pauses the printer at startup so you can manually inspect the nozzle before printing starts. Useful for critical prints or after a nozzle change.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"AMS travel detours:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;ams_steinwipe_detour}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Routes AMS travel via the SteinWipe position. Use if standard path causes interference.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;ams_snake_detour}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Alternative AMS routing with a snake-shaped path.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;ams_reverse_wipe_detour}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reverse-direction AMS routing for specific print geometries.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Mech test coordination:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;mech_test_on_part_center}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs mech test at the center of the printed part rather than a fixed bed location. Better shaping data for off-center prints.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;link_mech_test_to_scan_first_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"BBS-specific: links mech test execution to the first-layer-scan checkbox in Bambu Studio. Prevents redundant mech tests on every print. Not needed in Orca due to how Orca handles mech test timing natively.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Nozzle prep:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;nozzle_scrape_before_prime}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Scrapes the nozzle against the steel tab before the startup priming purge. May help with a cleaner purge.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;nozzle_scrape_after_prime}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Additional scrape cycle after priming. For users who see residual filament issues after initial prime.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe before ABL:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_before_abl}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle before the auto bed leveling probe for cleaner ABL readings.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Chute tapping:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_soft}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Soft-level chute tap (lowest acceleration). Recommended for users new to the feature.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_med}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Medium-level chute tap.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_hard}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Hard-level chute tap (highest acceleration). Use when chute clogs persist at lower levels.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Purge control:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_sidestepping}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Sidestep purging pattern that distributes purge across the chute width. Reduces purge sticking to chute walls.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_25_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces purge speed to 25% of filament max volumetric flow. For challenging materials like PETG-HF.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_50_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces purge speed to 50%. Balanced for most materials.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_75_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces purge speed to 75%. Faster purge for materials that handle high flow.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_125_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Increases purge speed to 125% for users running Bambu HF nozzles. Use with [[use_hf_nozzle]].","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;use_hf_nozzle}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Tells the gcode you\u0026#39;re running a Bambu HF (High Flow) nozzle. Enables higher purge speeds compatible with HF nozzles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinRetraction:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_low}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Low-aggressiveness steinretraction during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_med}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Medium-aggressiveness steinretraction.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_max}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Maximum-aggressiveness steinretraction.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Travel optimization:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;optimized_travel_to_first_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Optimizes the travel path from calibration area to the first layer start. Reduces stringing.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;z_mirrors_extrusion_length}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Mirrors Z axis movement to match extrusion length patterns. For specific print geometries.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe after timelapse:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_after_timelapse}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle after the timelapse camera capture completes. Keeps nozzle clean across layer transitions.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Print handoff:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;leave_filament_in_end_print}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Leaves filament in the extruder at end of print. Useful for users who want the next print to skip the filament prime.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Miscellaneous:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;ignore_fan_cover_alarm}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Suppresses the fan cover alarm. For users with modified chamber hardware. Contributed by Discord member OldSalty3D.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.2 ChangeFilament SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Chute tapping (AMS cycle):","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_soft}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Soft-level chute tap during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_med}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Medium-level chute tap during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;chute_tapping_hard}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Hard-level chute tap during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Purge flow control (AMS):","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_25_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces AMS flush speed to 25% of filament max volumetric flow.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_50_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces AMS flush speed to 50%.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_75_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces AMS flush speed to 75%.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_125_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Increases AMS flush speed to 125% for HF nozzles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;use_hf_nozzle}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables HF nozzle-compatible flush speeds during AMS.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinRetraction (AMS):","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_low}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Low-aggressiveness steinretraction during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_med}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Medium-aggressiveness steinretraction during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_max}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Maximum-aggressiveness steinretraction during AMS cycles.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe timing:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_before_tool_change}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle before the tool change.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_after_tool_change}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle after the tool change completes.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Purge optimization:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;shrink_purge_size}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces total purge volume during AMS cycles. Saves filament on sequential similar colors.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Post-AMS optimization:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;optimize_post_ams_return_print_travel}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Optimizes the travel path from the AMS purge area back to the print.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Purge bucket management:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;pause_print_for_small_purge_bucket}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pauses the print to empty a small purge bucket when needed (every ~15 purge cycles).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;pause_print_for_med_purge_bucket}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pauses for medium purge bucket (every ~25 cycles).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;pause_print_for_large_purge_bucket}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pauses for large purge bucket (every ~40 cycles).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Material-specific:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;use_pla_supports_for_petg}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Specialized flush cycle for PLA supports on PETG prints. Helps with layer adhesion.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.3 End gcode SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;disable_motors_end_print}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Disables stepper motors at end of print. For users who prefer manual bed clearing without motor hold.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_low}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Low-aggressiveness retraction at end of print.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_med}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Medium-aggressiveness retraction at end of print.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinretraction_max}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Maximum-aggressiveness retraction at end of print.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.4 LayerChange SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Four mutually exclusive cadence options for automated layer wipes:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_every_new_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Wipes on every new layer. Maximum coverage.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_every_other_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Wipes every other layer.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_every_third_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Wipes every third layer.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_every_fourth_layer}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Wipes every fourth layer. Minimum cadence for spaced wipes.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For on-demand wipes at specific layers, use the Template Custom G-code workflow (Section 7.3).","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.5 Pause SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;swmc_pause_routine}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Master toggle for the SWMC modified pause routine. Enables clean pause-and-resume behavior.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;force_spiral_lift_for_pause}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Forces spiral lift off the part when pausing. Reduces stringing.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_25_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces pause resume purge to 25% of max volumetric flow.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_50_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces pause resume purge to 50%.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;purge_with_75_percent_flow}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Reduces pause resume purge to 75%.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;use_hf_nozzle}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables HF nozzle-compatible resume purge flow.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.6 TimeLapse SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_after_first_layer_scan}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle after the P1\u0026#39;s first-layer camera scan.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"{{\u0026gt;steinwipe_after_timelapse}}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a wipe cycle after the timelapse camera capture completes.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"5.7 Default always-on behaviors (no user configuration)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"These behaviors are always active in Core 1 and don\u0026#39;t require SSDs:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"DABL (Dynamic Auto Bed Leveling) - G29 A1 is sent for all ABL cycles. Provides better leveling on compatible P1 firmware.","b":false,"i":false}]},{"children":[{"t":"text","v":"Anti-filament-strip fallback - When no flow-control SSD is enabled, purge falls back to F499 feedrate. Safe for 0.4mm+ nozzles. Users with 0.2mm nozzles should use a flow-percentage SSD.","b":false,"i":false}]},{"children":[{"t":"text","v":"Arc wipe pattern - All wipes use arc motion (upgraded from Core 0\u0026#39;s straight-line pattern).","b":false,"i":false}]},{"children":[{"t":"text","v":"Community-credited behaviors - various small improvements contributed by Discord members are baked in.","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"6. Typical configurations","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.1 Minimal (default configuration)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Leave printer notes empty.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Core 1 runs its default configuration with DABL, arc wipes, and anti-strip safety. Good for users who want to try the release as-shipped before customizing.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.2 AMS-heavy multicolor print","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Paste into printer notes","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"purge_sidestepping","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"steinretraction_med","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"purge_with_50_percent_flow","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"chute_tapping_med","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Sidestepping purge eliminates chute clogging on long AMS prints. Medium steinretraction balances cleanup with speed. 50% purge flow prevents curl during material changes. Medium chute tapping keeps the chute clear.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.3 Production printing","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Paste into printer notes","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"swmc_pause_routine","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"pause_print_for_med_purge_bucket","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"purge_sidestepping","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"steinretraction_med","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"steinwipe_every_fourth_layer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"optimize_post_ams_return_print_travel","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Pause routine active for scheduled maintenance stops. Medium bucket pause for unattended operation. Sidestepping for reliability. Steinwipe every fourth layer for consistent quality on long prints.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.4 HF nozzle user","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Paste into printer notes","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"use_hf_nozzle","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"purge_with_125_percent_flow","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"steinretraction_max","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Full-flow purge for Bambu HF nozzles. Max steinretraction to compensate for larger filament diameter and faster flow.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"6.5 First-time user, overnight print","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Paste into printer notes","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"swmc_pause_routine","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"force_spiral_lift_for_pause","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"steinwipe_every_fourth_layer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Modified pause with spiral lift for material sensitivity. Fourth-layer wipes keep quality consistent without excessive movement.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"7. Wiper offset calibration","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This section only applies if you have the SteinWipe V1 wiper mount installed.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"7.1 Why calibrate","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The wiper sits at a fixed position in the slicer\u0026#39;s coordinate space. Small variations in how your mount was drilled or how the mount bracket sits determine whether the nozzle enters the wiper pad cleanly or off-center. Error greater than 0.5mm can tear the wiper pad on the first wipe cycle.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"7.2 The V3 calibration workflow (quick guide, full guide ","b":false,"i":false},{"t":"link","v":"here","url":"https:\/\/leckiestein.com\/pages\/swmc-releases\/p-1-x-1-stein-wipe-v-3-0-wiper-offset-calibration","target":"_blank"},{"t":"text","v":")","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The current approach uses a single .3mf file that walks the toolhead through all 31 offset positions in sequence. The printer\u0026#39;s progress bar shows how much time is left on each position before the toolhead moves to the next position. The bed will quickly move up and down to signal a new position as well. You watch the nozzle as it moves, and when alignment looks correct as shown in the photos below, you note the time displayed on the printer screen. The Offset Chart found below converts that time value to an offset number for the X and the Y axis.","b":false,"i":false}]},{"type":"list","listType":"ordered","items":[{"children":[{"t":"text","v":"Open SteinWipe_XY_Offset_Cali.3mf in Bambu Studio.","b":false,"i":false}]},{"children":[{"t":"text","v":"Enable the calibration routine needed via the SSDs in the printer notes.","b":false,"i":false}]},{"children":[{"t":"text","v":"Slice and send to the printer.","b":false,"i":false}]},{"children":[{"t":"text","v":"Watch the nozzle as the toolhead cycles through positions.","b":false,"i":false}]},{"children":[{"t":"text","v":"When the nozzle aligns correctly with the wiper, note the time on the display.","b":false,"i":false}]},{"children":[{"t":"text","v":"Use the chart below to convert the time values to the offset values.","b":false,"i":false}]},{"children":[{"t":"text","v":"Repeat for the other axis if needed.","b":false,"i":false}]},{"children":[{"t":"text","v":"Enter the X and Y offset values into the Template Custom G-code section of your printer preset on the G0 X0 Y0 line, replacing the zeros with your measured values.","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"% Correct Y axis alignment","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"cali_y_axis_aligned | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The nozzle correctly aligned on the Y axis during V3 calibration.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Correct X axis alignment","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"cali_x_axis_aligned | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The nozzle correctly aligned on the X axis during V3 calibration.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% V3 Offset Chart","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"offset_chart_v3 | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Convert the progress bar percentage to your offset value using this chart.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Where to enter your offsets","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"template_custom_gcode_location | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Template Custom G-code section of your printer preset. Replace the zeros on the G0 X0 Y0 line with your measured offset values.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"7.3 Wipe at any layer via slicer layer slider for on-demand wipe cycles","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Beyond the layer cadence SSDs (Section 5.4), you can trigger a wipe at any specific layer via Bambu Studio\u0026#39;s layer slider:","b":false,"i":false}]},{"type":"list","listType":"ordered","items":[{"children":[{"t":"text","v":"Slice your print as normal.","b":false,"i":false}]},{"children":[{"t":"text","v":"In the Preview tab, right-click on the layer slider at the height where you want a wipe.","b":false,"i":false}]},{"children":[{"t":"text","v":"Select \u0026quot;Add Custom Template.\u0026quot;","b":false,"i":false}]},{"children":[{"t":"text","v":"Re-slice. The wipe executes at that layer automatically.","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"This uses the same wipe pattern as the layer cadence SSDs but gives you exact layer control. Works alongside the SSDs; you can have both automated and manual wipes in the same print.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"7.4 When to recalibrate XY offsets","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"After installing a new wiper mount","b":false,"i":false}]},{"children":[{"t":"text","v":"After replacing the wiper pad","b":false,"i":false}]},{"children":[{"t":"text","v":"If you unbolt and re-mount the wiper AND the mount holes were drilled oversized","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"8. Known issues","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Default F499 purge fallback is tuned for 0.4mm+ nozzles. Users with 0.2mm nozzles should enable a flow-percentage SSD rather than relying on the fallback.","b":false,"i":false}]},{"children":[{"t":"text","v":"Printing out of bounds error. This happens in later slicer versions noticed in BBS 2.0 and on. This is caused by sidestepping. Check the discord ","b":false,"i":false},{"t":"link","v":"faq","url":"https:\/\/discord.com\/channels\/1327182397673832448\/1366161001791357010","target":"_blank"},{"t":"text","v":" for workarounds. ","b":false,"i":false}]},{"children":[{"t":"text","v":"Multiple flow SSDs enabled simultaneously. The lowest percentage wins silently; no error is thrown. For predictable behavior, only enable one flow SSD at a time.","b":false,"i":false}]},{"children":[{"t":"text","v":"P1S-specific chamber fan command runs on P1P. The M710 A1 command for the chamber fan has no effect on P1P (no fan hardware); harmless no-op.","b":false,"i":false}]},{"children":[{"t":"text","v":"Discord archive review pending. Additional user-reported issues may exist from beta testing; will be added as they surface.","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"9. Reporting bugs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Issues with this release go to ","b":false,"i":false},{"t":"link","v":"the Leckiestein Discord bug reporting channel for Core Apr.28.1","url":"https:\/\/discord.com\/channels\/1327182397673832448\/1367315048309194934","target":""},{"t":"text","v":". Include a video of the issue, a 3MF diagnostic file (see Discord #faq for how to generate one), your full printer notes contents, and the specific SSDs you had enabled when the issue occurred.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Discord bug channel example","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"discord_bug_channel_example | scale=100 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Leckiestein Discord bug reporting channels. Each SWMC core family has its own channel; post your bug report in the channel matching the core you are running.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"10. What\u0026#39;s next","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The Orca Slicer port for X1C Core 1 is in development. P1 Series Orca Core 1 shipped alongside this release and is production-ready.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For users looking further ahead: Core 2 (Apr.28.1.2026) introduces SteinWipe User Definitions (SWUDs) for numeric parameter control, and SteinWipe Pro hardware integration. SWUDs require Orca Slicer\u0026#39;s global variable support, so Core 2 is Orca-only at launch. See Dev Pack Pro 2026 for full Core 2 access.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"11. Licence and liability","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SWMC modifies printer motion and startup behavior via slicer-level G-code. Use of this profile is at the user\u0026#39;s own risk. The user\/operator assumes full responsibility for machine operation, monitoring, and all outcomes. Leckiestein shall not be held liable for damage, injury, or losses resulting from use, misuse, or modification of this profile preset.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"12. ","b":false,"i":false},{"t":"link","v":"Terms and conditions","url":"https:\/\/leckiestein.com\/policies\/terms-of-service","target":""},{"t":"text","v":"","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"By purchasing or downloading this release, you agree to the Leckiestein Terms and Conditions for Digital Products, effective January 1, 2025.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"12.1 Usage rights","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Your purchase grants you a ","b":false,"i":false},{"t":"text","v":"personal, non-transferable, non-exclusive license","b":true,"i":false},{"t":"text","v":" to use this release. You may download and use the files for your personal projects, and modify the gcode for your own use.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"12.2 Not allowed","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Reselling, redistributing, or sharing the .3mf or its embedded gcode","b":false,"i":false}]},{"children":[{"t":"text","v":"Uploading the files to public or private repositories","b":false,"i":false}]},{"children":[{"t":"text","v":"Selling physical items produced from the files without a Tier 3+ commercial license","b":false,"i":false}]}]},{"type":"heading","level":4,"children":[{"t":"text","v":"12.3 Commercial use","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you wish to use this release for commercial purposes, you must subscribe to the Pro Maker License Tier (Tier 3+ on Patreon) or purchase a separate commercial license. Any unauthorized commercial use is a violation of these terms.","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"12.4 Non-refundable","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"All digital product sales are final and non-refundable once the files have been downloaded. If you experience technical issues or believe a product has an error, contact Leckiestein via direct messages for assistance (not in comment threads).","b":false,"i":false}]},{"type":"heading","level":4,"children":[{"t":"text","v":"12.5 Copyright","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"All intellectual property rights to this release remain with Leckiestein. Any infringement of these rights may result in legal action.","b":false,"i":false}]}]
[{"base":"wiper_mount_installed","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/wiper_mount_installed.jpg?v=1776877683\u0026width=2400","width":4032,"height":2268},{"base":"install_step_1_import","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/install_step_1_import.png?v=1776878899\u0026width=2400","width":1046,"height":278},{"base":"install_step_2_preset","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/install_step_2_preset.png?v=1776878899\u0026width=2400","width":1588,"height":690},{"base":"bbs_printer_notes_location","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/bbs_printer_notes_location.png?v=1776879060\u0026width=2400","width":1378,"height":448},{"base":"cali_y_axis_aligned","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/cali_y_axis_aligned.jpg?v=1777948631\u0026width=2400","width":512,"height":512},{"base":"cali_x_axis_aligned","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/cali_x_axis_aligned.jpg?v=1777948750\u0026width=2400","width":512,"height":512},{"base":"offset_chart_v3","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/offset_chart_v3.png?v=1776879866\u0026width=2400","width":800,"height":926},{"base":"template_custom_gcode_location","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/template_custom_gcode_location.png?v=1776879798\u0026width=2400","width":1774,"height":838},{"base":"discord_bug_channel_example","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/discord_bug_channel_example.png?v=1776891401\u0026width=2400","width":740,"height":276}]