SteinSwitch DefinitionsAMS CompatibleDynamic ABL (Old FW)Startup Ooze ControlNozzle InspectionFirst Layer StringingMaterial SavingsNozzle Jamming PreventionChute Clog PreventionPA TuningMech TuningPurge Flow ControlPause Blemish ReductionPurged Material ControlPause Bed AccessibilityPause Restart ReliabilityNozzle CleaningFlow OptimizationPrint QualityStartup ReliabilityStartup SpeedNozzle Temperature ControlAMS OptimizationPlate Squish SettingsPETG Flow CompensationLeveling ConsistencyContinuous Movement PurgingFilament Stripping PreventionClean End PrintAlarm SuppressionHardware IndependentProTab IntegrationShareable ConfigsFirst Layer QualityPlate SettingsAMS RemappingMaterial TransitionsWiper CalibrationWipe SchedulingTimelapse ControlPrepare TimeCycle SpeedNoise ReductionTravel StringingFailsafe
ORCA_P1_SWMCPRO Machine Preset_Apr.28.1.2026
.3mf ORCA Preset.pdf Manual
Beta ReleaseReleased: May 03, 2026
Orca Slicer 2.3.1
Bambu Lab P1S
Bambu Lab P1P
SWMC PRO
[{"type":"heading","level":2,"children":[{"t":"text","v":"Overview","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"SteinWipe Motion Control Pro for P1 Series and Orca Slicer.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Warnings","b":false,"i":false}]},{"type":"heading","level":5,"children":[{"t":"text","v":"This section is updated as user reports come in and may change without notice. If you hit an issue not listed in this section, post in the Leckiestein Discord #steinwipe channel so it can be documented for the community.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This is not a full release and is focused on the Pro Mounts at this time. Pathways have been built for:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Pro wiper mount solo","b":false,"i":false}]},{"children":[{"t":"text","v":"Chute tab mount + Pro wiper mount","b":false,"i":false}]},{"children":[{"t":"text","v":"Chute tab mount + V1 mount (2024 - 2025 mount)","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"This release ONLY uses [[continuous_movement_purge]]. Other modes will come.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This release was built on Orca 2.3.1 and has not been tested on the latest Orca release.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"On some printers, some X1C code that usually is not a problem with the P1 firmware is now causing the PA line to skip and the printer to try to start printing with the nozzle temp at 140°C. During filament change the slicer may also show a shift in positioning that goes off the plate.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Slicer layer shift example","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"filament_change_layer_shift_off_plate | max_height=400 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Slicer preview showing the layer shift that occurs during filament change with [[divide_large_purge]] enabled. The toolpaths extend far off the right side of the bedplate. Commenting out [[divide_large_purge]] in the printer notes resolves this. Photo credit: Discord user ColHogan91.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Orca infill behavior with SWMC","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"orca_infill_swmc_travel_spread | max_height=400 | caption=bottom","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Gcode preview showing extreme travel-move spread (red) across the build area on later Orca Slicer versions when certain infill types are used with SWMC Pro. The extrusion paths (green) stay contained to the part footprint, but the travel pattern is unusable for reliable printing. Photo credit: Discord user onemhz.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For now, the simple fix is using Orca 2.3.1 which this release was developed on and the rest can be corrected with two simple SSD changes. Add [[disable_x1_cali_lines]] and comment out [[;divide_large_purge]] in the printer notes. A proper fix will be in the Apr.28.2.2026 release. If you need further guidance please leave a message in the Leckiestein Discord #steinwipe channel.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Change Log","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Apr.28.1.2025 → Apr.28.1.2026 Fixes","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"SSD-to-variable conversion introduced.","b":true,"i":false},{"t":"text","v":" Printer notes regex checks now resolve once at the top of the start gcode and downstream code reads boolean globals instead. Reduces file size and parse time.","b":false,"i":false}]},{"children":[{"t":"text","v":"Conflict detection added at slice time.","b":true,"i":false},{"t":"text","v":" The slicer now blocks slicing with a clear error message when conflicting SSDs are set simultaneously - missing [[agree]], multiple purge modes, both wipers installed, multiple detach modes, no detach mode, or no ProTab installed. Errors fail in the start gcode so they\u0026#39;re easy to locate.","b":false,"i":false}]},{"children":[{"t":"text","v":"Feedrate correction now governs overall print speed","b":true,"i":false},{"t":"text","v":" to ensure requested extrusion never exceeds extruder ability. The slicer\u0026#39;s M220 feedrate override is set per toolchange to match the new filament\u0026#39;s volumetric ceiling.","b":false,"i":false}]},{"children":[{"t":"text","v":"AMS first-layer skip.","b":true,"i":false},{"t":"text","v":" If the first layer has no material change, SWMC now skips the AMS call. Eliminates the confusing slicer-side \u0026quot;AMS call\u0026quot; preview that didn\u0026#39;t actually happen on the printer.","b":false,"i":false}]},{"children":[{"t":"text","v":"Material flushing during toolhead motion.","b":true,"i":false},{"t":"text","v":" New code patterns hide motion from the slicer so flushing routines can run while the toolhead travels. Previously these had to happen at static positions.","b":false,"i":false}]},{"children":[{"t":"text","v":"External flush tracking.","b":true,"i":false},{"t":"text","v":" Filament used during startup, pause, and AMS cycles is now tracked and applied to slicer stats. The total filament number in your slicer now reflects what\u0026#39;s actually consumed, not just what was extruded for the part.","b":false,"i":false}]},{"children":[{"t":"text","v":"Bambu PETG-HF flow correction.","b":true,"i":false},{"t":"text","v":" When Bambu Lab PETG-HF is detected with the default filament profile (incorrect flow ratio), enabling [[bambu_petg_flow_comp]] in printer notes corrects it via M221 firmware flowrate.","b":false,"i":false}]},{"children":[{"t":"text","v":"Whitespace-tolerant SSD regex.","b":true,"i":false},{"t":"text","v":" The printer notes regex pattern now ignores leading and trailing whitespace, so users with stray spaces no longer have SSDs silently fail to register. Credit for the new formula goes to Discord user schwarts.","b":false,"i":false}]},{"children":[{"t":"text","v":"Multiline regex support for SSD detection.","b":true,"i":false},{"t":"text","v":" Allows the SteinSwitch Definition system to work as designed across the printer notes block. Credit for cracking this goes to Discord user endernerd.","b":false,"i":false}]},{"children":[{"t":"text","v":"Filament slot remapping","b":true,"i":false},{"t":"text","v":" ([[shift_ams_mapping]]) corrects an Orca Slicer bug where the \u0026quot;Send\u0026quot; to SD card option offsets filament slot assignments. Enable in printer notes if you slice with Send-to-SD.","b":false,"i":false}]},{"children":[{"t":"text","v":"Per-bed-plate Z offset values.","b":true,"i":false},{"t":"text","v":" Each build plate type can now have its own independent Z offset value defined in the User Config. No more single-value compromise across plates with different surface heights.","b":false,"i":false}]},{"children":[{"t":"text","v":"Slicer error window made debuggable.","b":true,"i":false},{"t":"text","v":" An error gate blocks the slicer from parsing code beyond the start gcode when a problem is detected. When the error window pops up, you can immediately tell the issue is in the start gcode, which is far easier to troubleshoot than errors that propagate downstream.","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Notes","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"New Features In This Release","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"[[steinwipe_rake_cycle]]","b":true,"i":false},{"t":"text","v":" - a new wipe cycle pattern that rakes the nozzle across the wipe pad. Caution: this cycle requires perfect X-axis alignment or the wiper pad may get torn. Test with offset calibration before relying on it.","b":false,"i":false}]},{"children":[{"t":"text","v":"[[continuous_movement_purge]]","b":true,"i":false},{"t":"text","v":" - a new purge mode that keeps the toolhead in continuous motion through the purge sequence rather than stepping between static positions. Reduces ooze stringing in the chute.","b":false,"i":false}]},{"children":[{"t":"text","v":"[[prime_nozzle_after_ams]]","b":true,"i":false},{"t":"text","v":" - pushes filament into the nozzle with the tip blocked against the ProTab to remove air pockets and build pressure. Required for primetowerless printing. SteinWipe Pro hardware required.","b":false,"i":false}]},{"children":[{"t":"text","v":"Anti-ooze ProTab cooling for AMS cycles","b":true,"i":false},{"t":"text","v":" - the new option [[heat_nozzle_on_tab_before_flush]] cools the nozzle on the ProTab before entering the firmware-controlled AMS cycle, preventing ooze curl-up that catches on the chute wall and clogs purges. Adds time to each toolchange but greatly improves reliability for unsupervised overnight prints.","b":false,"i":false}]},{"children":[{"t":"text","v":"SteinRetraction modes","b":true,"i":false},{"t":"text","v":" - four progressive retraction lengths via [[steinretraction_low]], [[steinretraction_med]], [[steinretraction_max]], and [[steinretraction_revo]] (the last is tuned for Panda Revo nozzles). Pick the one matching your hardware.","b":false,"i":false}]},{"children":[{"t":"text","v":"Purge flow rate adjustment","b":true,"i":false},{"t":"text","v":" - the new SSDs [[purge_with_25_percent_flow]], [[purge_with_50_percent_flow]], [[purge_with_75_percent_flow]], and [[purge_with_125_percent_flow]] (HF nozzle only) let you tune purge speed independently from print speed. Useful for tricky filaments that don\u0026#39;t like fast purging.","b":false,"i":false}]},{"children":[{"t":"text","v":"Chute tapping","b":true,"i":false},{"t":"text","v":" - the new aggressiveness levels [[chute_tapping_soft]], [[chute_tapping_med]], and [[chute_tapping_hard]] tap the toolhead against the chute to dislodge stuck purges. Built into the rip-purge moves with a J-arc path. A full standalone chute tapping option will come in a later release if there\u0026#39;s demand.","b":false,"i":false}]},{"children":[{"t":"text","v":"Force DRO display","b":true,"i":false},{"t":"text","v":" - enabling [[force_dro_display]] writes diagnostic gcode comments into the slicer preview showing computed values (purge feed, feedrate correction, tool numbers, retraction lengths). For users debugging or curious about what SWMC computed for their slice.","b":false,"i":false}]}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Architectural Changes","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Speed values in the User Config are now in mm\/s and converted internally to mm\/m for the printer. SWUDs that affect speed read more naturally as a result. Previously some values were in mm\/m and the unit was easy to lose track of.","b":false,"i":false}]},{"children":[{"t":"text","v":"Volumetric calculations in sidestepping purges are statically baked into the macro and must be recalculated for each nozzle size. As a result, the SWMC profile cannot be copied between different nozzle sizes - each nozzle size needs its own profile.","b":false,"i":false}]},{"children":[{"t":"text","v":"The full start gcode has grown beyond the 40KB ceiling Orca and the Bambu Studio account-linked preset system can hold. SWMC Lite breakouts of popular features are coming to address this for users who want individual SWMC features without the full preset weight.","b":false,"i":false}]},{"children":[{"t":"text","v":"SSDs are now written to boolean globals at the top of the start gcode. Downstream code reads the global directly instead of running the regex match each time. Reduces file size and parse-time cost.","b":false,"i":false}]}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Known Limitations In This Release","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"These are gaps that were chosen to ship around rather than delay the release. All are scheduled for follow-up in upcoming Core 2.X drops.","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"[[sidestepping_purge]] is reserved in this release","b":true,"i":false},{"t":"text","v":" - the SSD parses correctly and the slice-time conflict checks recognize it, but the purge cycles in the change filament gcode are wired only for [[continuous_movement_purge]] and [[static_purge]]. Use one of those two for now.","b":false,"i":false}]},{"children":[{"t":"text","v":"[[steinwipe_v1_installed]] is a placeholder in this release","b":true,"i":false},{"t":"text","v":" - the wipe cycles for the V1 hardware are not yet implemented. If you have V1 hardware only, the wipe routines will be no-ops. SteinWipe Pro hardware is the supported wiper for this release.","b":false,"i":false}]},{"children":[{"t":"text","v":"Bed-tab-only docking is not supported in this release","b":true,"i":false},{"t":"text","v":" - users without a [[chute_protab_installed]] or [[steinwipe_pro_installed]] will hit a slice-time block telling them to add one of the two. The bed spring tab path exists in code but has unresolved nozzle-stays-pressed behavior; will be sorted in a follow-up.","b":false,"i":false}]},{"children":[{"t":"text","v":"PLA supports for PETG are not included in this release.","b":true,"i":false},{"t":"text","v":" The cross-flush handling needs more development time to be reliable.","b":false,"i":false}]},{"children":[{"t":"text","v":"Multiple [[steinretraction]], [[chute_tapping]], PA cali, AMS detour, or purge bucket modes set simultaneously will silently first-match without a slice-time warning.","b":true,"i":false},{"t":"text","v":" Set only one in each category.","b":false,"i":false}]},{"children":[{"t":"text","v":"The pause, layer change, end, and template custom gcode files in this release are carried forward from the Apr.28.1.2025 (Core 1) release","b":true,"i":false},{"t":"text","v":" while the Core 2 versions of those files complete their development. Behavior in pause and layer change matches what users have been running for the last year.","b":false,"i":false}]}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Hardware And Operational Notes","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"Chute protab mount has a known issue","b":true,"i":false},{"t":"text","v":" where strings get wedged into the gap between the mount and the chute wall. After several thousand toolchanges this can become a place where new purges hang up. Cleaning the gap periodically or moving to the upcoming chute protab redesign will resolve this.","b":false,"i":false}]},{"children":[{"t":"text","v":"The start gcode is now fast enough","b":true,"i":false},{"t":"text","v":" that the machine chassis may not have time to fully heat up before printing begins. Expansion during the first layer can throw off precision on by-object printing or very large prints. Preheating the machine before slicing helps. A dedicated wait-before-print SSD is planned for a final release.","b":false,"i":false}]},{"children":[{"t":"text","v":"The full SWMC preset is now nearly double the size","b":true,"i":false},{"t":"text","v":" that the Bambu cloud account-linked preset system permits. Copying the preset between devices via the cloud sync may not work; using the .3mf file directly does.","b":false,"i":false}]}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Credits","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Discord community members whose work landed in this release:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"endernerd","b":true,"i":false},{"t":"text","v":" - cracked multiline regex support, which made the entire SSD system possible","b":false,"i":false}]},{"children":[{"t":"text","v":"schwarts","b":true,"i":false},{"t":"text","v":" - whitespace-tolerant SSD regex formula","b":false,"i":false}]},{"children":[{"t":"text","v":"OldSalty3D","b":true,"i":false},{"t":"text","v":" - fan cover alarm suppression code","b":false,"i":false}]},{"children":[{"t":"text","v":"Maunose","b":true,"i":false},{"t":"text","v":" - first-layer nozzle-touch behavior on textured PEI plates","b":false,"i":false}]}]}]
[{"base":"filament_change_layer_shift_off_plate","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/filament_change_layer_shift_off_plate.png?v=1780766297\u0026width=2400","width":2164,"height":1808},{"base":"orca_infill_swmc_travel_spread","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/orca_infill_swmc_travel_spread.png?v=1780766766\u0026width=2400","width":2412,"height":2080}]
Documentation & Manuals
🔒 Log in to your account to access downloads.
Purchased Downloads
🔒 ORCA_P1_0.4mm_SWMCPRO_Machine_Preset_Apr.28.1.1.2026.3mf
🔒 SteinWipe_Special_Discord_Access.zip
Public Downloads
🔒 SteinWipe_README.pdf
🔒 ORCA_P1_SSDs_Apr.28.1.2026.pdf
🔒 ORCA_P1_SWUDs_Apr.28.1.2026.pdf
Before You Download
By downloading this file you agree to the Terms and Conditions for Digital Products for this release.
SteinWipe Definitions For The Apr.28.2026 Core Family
Videos
Related Releases
SteinWipe Motion Control Pro For X1 Series & Orca Slicer
ORCA_X1_SWMCPRO Machine Preset_Apr.28.1.2026
In Development
Target Release: May 30, 2026