SteinWipe Manuals

User Settings | Orca/P1 SWMC Non-Pro Apr.28.1.2026

Bambu Lab P1S/P1P
SWMC Non-Pro For Orca Slicer: 2.3.1
G-code User Settings Manual
Last Update: Apr.28.2026

How To Edit User Settings

This section covers advanced SWMC feature controls and fine tuning which allows for users to fine-tune how the machine executes essential routines such as AMS flushing, startup, shutdown, layer changes, auto bed leveling (ABL), first layer scanning, flow and mechanical calibration, timelapse recording, etc.. These settings go beyond the default slicer commands, giving direct control over how the printer interprets G-code, handles calculations, and manages machine-specific functions. These settings are generally very good out of the box but allowing for total control over printer behaviour is what SteinWipe Pro is all about! Understanding these settings to properly configuring these options ensures consistent print quality, accurate preparation times, and efficient workflow, when using Orca Slicer which may not always directly communicate all printer flags sent to the machine (security firmware).

Accessing the SWMC User Configuration

Before accessing the SWMC User Config settings area, you must first confirm that you accept responsibility for using the SWMC modification on your Bambu Lab printer.

To do this, open the Printer Notes tab and enter the word “agree” exactly as shown. If this confirmation has not been entered, Orca Slicer will prevent G-code generation and display an error message when attempting to slice a model.

This confirmation step ensures that users acknowledge the experimental nature of the SWMC modification before enabling advanced machine-level controls.

Opening the SWMC Configuration

To access the SWMC User Configuration settings:

  1. Open the SWMC .3mf preset file.

  2. In the Prepare tab, locate the Machine Preset field.

  3. Click the edit icon next to the active printer profile.

Locating the User Settings

Inside the Printer Settings window:

  1. Navigate to the Machine G-code tab.

  2. At the top of the Machine Start G-code section you will find the SWMC User Config block.

This section contains the list of editable variables used to customize printer behavior.

Important Editing Notes

Before making any changes, it is strongly recommended that you save a copy of the preset so you can easily revert if a mistake is made using the orange revert button

When adjusting settings:

  • Change only one variable at a time, then test the results before modifying additional settings.

  • Avoid deleting curly braces {}, semicolons ;, or other structural characters within the configuration block. These characters are required for the parser and removing them may cause slicing errors.

Numeric Value Formatting

Some SWMC configuration variables require values to follow a specific numeric format. These values are defined either as integers or floating-point numbers, and the formatting must be preserved exactly for the configuration parser to interpret them correctly.

  • Integer values must be entered as whole numbers with no decimal places.

    • Example: 17

  • Floating-point values must include a decimal point and the required number of trailing zeros.

    • Example: 17.00

Even if a value appears to be a whole number, the presence of a decimal point and trailing zeros is intentional and must not be removed. These decimal places are required to ensure the value is interpreted as a floating-point number by the parser.

If the decimal places are removed, the slicer may interpret the value as an integer and automatically round it, which can alter the intended behavior of the setting or cause parsing errors.

Always preserve the exact number format shown in the configuration when modifying values.

Following these guidelines will help ensure reliable operation while tuning SWMC behavior.

Non- Pro General Machine and Slicer Settings


rapid_travel

This setting overrides the slicer travel speed configured under the Speed tab of the model slice settings. Rapid travel moves are non-extruding movements where the print head quickly repositions between sections of a layer. Because no filament is deposited, these moves reduce print time but can introduce stringing or surface marks if not properly tuned. This setting is especially useful when opening a new slicer profile that defaults to a travel speed limited to 50% of the machine’s capability. The value is set in mm/s, with a maximum machine travel speed of 500 mm/s. Setting this value to 0 will use the travel speed defined in the active slicer profile.

rapid_accel

This setting overrides the slicer travel acceleration configured under the Speed tab of the model slicer settings. Rapid travel acceleration controls how quickly the print head reaches its set travel speed during non-extruding moves. Higher acceleration reduces repositioning time and can help reduce stringing, but high values cause noise and increased mechanical wear. Lower acceleration provides smoother motion and improved stability at the cost of slightly longer travel times introducing stringing. This value is set in mm/s² with a max setting of 20,000. The slicer default is 10,000mm/s². Setting this value to 0 will use the travel acceleration defined in the active slicer profile.

reposition_accel

This setting controls the acceleration used for positioning moves during purge and flushing cycles. These moves occur during machine startup, AMS operations, inserted pauses, timelapse sequences, and the end-of-print shutdown routine. Reposition acceleration determines how quickly the toolhead reaches its set speed during these non-printing movements. Higher values can reduce transition time and improve overall efficiency, but excessively high acceleration may increase vibration and mechanical stress. Lower values provide smoother motion at the expense of slightly longer cycle times.

fan_spool_time_ms

This setting defines the approximate time, in milliseconds, required for the part cooling fan to ramp from 0% to full power (or from full power to 0%). Because fans do not change speed instantly, this value allows SWMC to account for spool-up and spool-down time by applying a brief delay to ensure the commanded airflow is achieved. Depending on the situation, this may momentarily delay or extend moves that occur during machine startup, AMS operations, inserted pauses, timelapse sequences, and the end-of-print shutdown routine.

anticurling_fan_speed_percent

This setting defines the fan power (0–100) used to help prevent nozzle ooze and filament curl from the nozzle tip during travel on AMS and nozzle flushing. As molten filament slowly exits the nozzle, it can form a thin strand that curls upward and adheres to the side surfaces of the nozzle. When this occurs, the next purge may become erratic because the extruded material attaches to the suspended strand instead of falling cleanly onto the purge chute floor. Applying controlled airflow helps cool and stiffen the filament as it exits, encouraging it to drop away cleanly and improving purge consistency and reliability.
{insert video clip showing W and W/O}

sidestepping_transition_speed

Purge sidestepping modifies the standard purge routine by keeping the nozzle in motion during extrusion rather than remaining stationary. In the stock Bambu Lab G-code, purge cycles occur at a fixed position, which can allow molten material to adhere to the surfaces of the purge chute by building heat in a single area. Allowing movement of the toolhead side to side while purging, this sidestepping action reduces surface contact time and lowers the likelihood of purge material sticking.

During AMS material changes and startup flush routines, the nozzle oscillates laterally as it extrudes, helping the purge fall cleanly and improving cooling consistency.

sidestepping_transition_speed defines the acceleration (mm/s²) that limits how quickly the toolhead changes direction during this side-to-side motion. Lower values (typically 500–1000 mm/s²) result in smoother transitions, improved nozzle flushing efficiency, reduced material required to clear the previous filament, and better purge cooling. However, lower settings also increases the duration of AMS cycles which can dramatically increase the overall time a print would take with hundreds of AMS cycles.

This setting is ultimately constrained by the maximum extrusion feedrate determined by the filament’s volumetric flow limit. For example, with a stock 0.4 mm nozzle, PLA with a volumetric flow limit of 21 mm³/s typically results in an effective linear feedrate ceiling of approximately 490–500 mm/m applied to the F parameter of the stationary G0 or G1 linear move. This limitation directly affects the maximum achievable sidestepping speed during purge operations, as the toolhead motion cannot exceed what the extrusion rate of the nozzle can physically achieve.

sidestepping_slicer_xpos
sidestepping_slicer_ypos

To enable purge sidestepping, the slicer must be “fooled” into believing that extrusion is occurring within the valid build volume. If extrusion commands are generated outside the defined build area, the slicer will produce an error indicating that material is being extruded beyond the printable region, preventing the job from being sent to the printer.

This limitation is overcome by using Bambu Lab–specific G-code commands to control the actual machine movements during the purge cycle. While the physical purge occurs over the purge chute, the slicer is shown a corresponding extrusion move on the build plate. This virtual extrusion does not affect the printed part, but it will appear in the preview and on the simulated toolpath.

The sidestepping_slicer_xpos and sidestepping_slicer_ypos settings allow you to define where this visual representation appears on the build plate. Adjusting these values helps position the previewed extrusion in a non-intrusive area of the plate to reduce distraction while maintaining slicer compatibility.

enable_abl
enable_first_layer_scan
enable_flow_cali
enable_mech_cali
enable_timelapse

When using Orca Slicer, recent Bambu Lab firmware security measures prevent the slicer from sending print jobs directly to the printer. This forces users to rely on the basic Bambu Connect app, which can create many redundant files on your computer and make it difficult to manage which files are ready to print. Orca Slicer includes a “Send” option that allows a file to be sent for printing directly to the SD card of the printer still from the slicer interface. The file can then be printed using Bambu Studio, the Bambu Handy app, or directly from the printer screen, eliminating one cumbersome step required by Bambu Connect.

However, when using Orca Slicer’s Send function, the ability to set machine flags for options such as timelapse, auto bed leveling (ABL), first layer scanning, and flow or mechanical calibration is lost. By enabling these settings (true or false), users can save control of these features directly to the printer’s machine profile, rather than relying on tick boxes that only appear when printing a specific file.

Manually controlling which options the slicer includes in the final G-code ensures the printer executes only the desired routines and prevents Orca Slicer from assuming all tasks are enabled. This also results in a more accurate Preparation time estimation, avoiding inflated or misleading values reported by the slicer.

shift_ams_mapping

When using Orca Slicer’s “Send” option to bypass the Bambu Connect app (needed to retain Bambu Handy with Orca and late printer FW), a persistent slicer bug causes the AMS material mapping to be shifted. This results in the printer using the wrong material during the print, which can ruin the job or cause failed multi-material operations. Setting shift_ams_mapping to true or false enables a workaround for this issue, ensuring the correct material is loaded when using Orca Slicer’s “Send” option the until Orca Slicer developers release a permanent fix.

SteinWipe Settings


steinwipe_xoffset
steinwipe_yoffset

These settings define positional offsets for the SteinWipe wiper path, with default values of 0 in both the X and Y directions. Adjusting these offsets shifts the nozzle travel path to better align with the physical formation pattern of the wiper pad. Proper alignment significantly extends the life of the wiper pad and helps prevent unnecessary mechanical stress on hotend components caused by collisions. Positive values shift the wiper path upward and to the right, while negative values shift it downward and to the left. Careful tuning ensures consistent wiping performance and improved long-term reliability. {Follow this video for a full breakdown on how to dial in the wiper position.}

prevent_ooze_temp

This setting defines the hotend temperature maintained during non-printing moves and preparation processes prior to printing. The nozzle is kept warm to reduce heat-up time to the final working temperature, while remaining cool enough to minimize filament flow caused by gravity. The standard value is 140 °C.

Setting this temperature too high can increase the risk of filament oozing during startup routines. Additionally, because the nozzle makes contact with the build plate multiple times during sequences such as bed probing, excessively high temperatures may damage the plate surface. Proper tuning balances reduced heat-up time with safe startup operation and minimal unintended extrusion.

steinwipe_min_temp

This setting defines the minimum hotend temperature required for the SteinWipe pad to function effectively during wipe cycles. If the nozzle temperature is too low, residual filament will not properly release from the nozzle surface, reducing wipe effectiveness. Conversely, if the temperature is set too high, filament may begin to flow from the nozzle during wiping, potentially causing buildup, contamination, or defects in subsequent print processes. Proper adjustment ensures reliable cleaning while preventing unintended extrusion.

steinwipe_speed
steinwipe_accel

These settings control the speed and acceleration used during all wipe cycles. Adjusting these values determines how aggressive the wipe motion will be throughout the entire print sequence, not just during the startup routine. steinwipe_speed is set in mm/s (up to 500), and steinwipe_accel is set in mm/s² (up to 20,000).

Reducing wipe speed lowers noise and decreases mechanical stress on the motion system, but it also increases wipe duration. Longer wipe cycles can introduce additional oozing, particularly when wiping between layers during an active print. Excessively slow wiping may also increase thermal transfer into the wiper pad due to longer contact time, potentially increasing resistance and placing additional stress on the hotend and heatbreak. Proper tuning balances mechanical load, noise, wipe effectiveness, and thermal management. {follow this video with provided cycle file to calibrate}

Build Plate Nozzle Offsets and Scrub Rules


textured_pei_plate_offset
smooth_cool_plate_offset
engineering_plate_offset
smooth_high_temp_plate_offset
textured_cool_plate_offset
cool_plate_supertack_offset

These settings allow users to adjust the first-layer “squish” for each specific build plate type. While the stock Bambu Lab G-code applies an offset only for the textured PEI plate, the rise in popularity of cool plates and other surface types has made it important to tune offsets for all plates individually. Each variable name corresponds directly to the plate names used in Orca Slicer’s dropdown selection.

Values can range from -0.20 mm to +0.20 mm; any value outside this range will be ignored by the printer firmware. Negative values increase squish, improving adhesion, while positive values reduce squish, which can prevent over-compression and improve surface finish and overextrusion buildup on the nozzle. Properly tuning these offsets ensures consistent first-layer quality across all plate types.

textured_pei_plate_nozzle_scrape
smooth_cool_plate_nozzle_scrape
engineering_plate_nozzle_scrape
smooth_high_temp_nozzle_scrape
textured_cool_nozzle_scrape
cool_plate_supertack_nozzle_scrape

These settings control whether the startup routine engages the built-in scrape tab at the back of each plate. The scrape tab allows the nozzle to lightly scrub against the plate to clean residual filament at the nozzle tip, which works effectively with the stock Textured PEI plate on Bambu Lab machines.

On some Bambu and aftermarket plates, particularly softer coatings like cool plates, scraping can create fine dust, which may be harmful if inhaled and can also work into the nozzle, potentially contaminating prints or even cause partial nozzle clogs. 

Each variable name corresponds to the name used in Orca Slicer’s build plate dropdown. Each variable can be set to true to enable scraping routines or false to disable it, allowing users to optimize startup cleaning while avoiding damage or contamination depending on the plate type.

Note: SWMC Pro avoids using the plate spring tabs for nozzle cleaning when the ProTab is installed, preventing unnecessary scraping. 

Nozzle Flow


volumetric_limit_stk02mm
volumetric_limit_stk04mm
volumetric_limit_stk06mm
volumetric_limit_stk08mm
volumetric_limit_hf02mm
volumetric_limit_hf04mm
volumetric_limit_hf06mm
volumetric_limit_hf08mm

This setting overrides the upper limit of volumetric flow that the installed nozzle can physically achieve. Stock filament profiles often allow very aggressive flow rates. For example, the Bambu Lab PETG-HF profile sets a volumetric upper limit of 21 mm³/s, but in practice the stock hotend cannot sustain this flow rate over long print extrusions.

By setting volumetric_limit_### lower than the filament’s preset value, a hard cap is applied to volumetric flow during both purging and normal printing. Extrusions that occur during printer startup and AMS routines are calculated directly from this setting, adjusting the feed for any amount of filament extruded. During actual printing, the behaviour is a bit different - volumetric flow is directly governed by the printer’s overall flow feedrate as enforced by the firmware (M221).

This is not a fixed “one-size-fits-all” value and careful consideration to be given to changing these values; nozzle size or high-flow settings in the slicer will dynamically adjust the effective maximum volumetric flow which allows for all the settings to be kept in one place. Setting this value to 0 disables the override completely, allowing the printer to use the filament profile’s Max Volumetric Speed values instead of SWMC.

Purge Settings


chute_antistick_fan_percent

This setting, ranging from 1–100 (percent of fan power), controls the part cooling fan during the actual purge extrusion. Its purpose is to cool the purge just enough so that it remains soft enough to form properly while preventing the outer surfaces from becoming sticky. Proper adjustment helps maintain consistent purge shape, avoids heat buildup, and reduces the chance of the purge adhering to the walls of the purge chute. 

Note: using fan power which is too high will cause the purge string to move around erratically. It is advised to use values between 20-60 percent to avoid effectively forming hooks that can fly over the chute wall and prevent a purge from dropping out the chute.

purge_cooling_time_ms

After accounting for fan spool-up delay, this setting for time set in milliseconds determines how long the toolhead will dwell with the fan running to cool the purge tail attached to the nozzle. Cooling the purge ensures that the filament solidifies slightly, allowing it to be cleanly severed when the toolhead resumes movement. Properly tuning this time helps maintain consistent purge performance and reduces the risk of strings or material dragging during subsequent moves.

purge_starter_length

This setting, defined in millimeters, determines the length of the initial filament string formed between the purge chute floor and the nozzle tip before performing a full purge cycle. Properly setting this value is critical for consistent purge formation, ensuring reliable extrusion and reducing the chance of the purge getting hooked on the edge of the chute and reducing uneven material flow as the material tries to find a path to follow when coiling the purge on the chute trapdoor. This is especially important when using sidestepping, as the initial string establishes a clean starting point for lateral motion during the purge cycle.

purge_ripzone_length

This setting defines the intended length of the free air extrusion that occurs after the purge tail has been cooled just before the purge tail is severed from the nozzle tip. This short fresh extrusion forms the weakest point between the slightly solidified purge and the nozzle, ensuring a clean separation. The value is set in millimeters and can be adjusted to fine-tune how easily the purge tail detaches during the startup and AMS routines. This is calculated based on nozzle diameter.

purge_rip_distance

This setting defines the distance, in millimeters, that the toolhead travels to physically rip the purge tail from the nozzle. Properly tuning this value ensures a clean separation of the purge, preventing leftover filament from sticking to the nozzle tip or interfering with subsequent printing moves. Making this move too long allows for more time to pass that contributes to excessive nozzle oozing. The start of the rip distance is set by stk_wiper_enter_xpos. Note: this action is not performed when using Sidestepping. 

purge_droptime_ms

This setting defines the dwell time, in milliseconds, allowing the purge to drop out of the chute after the toolhead opens the chute flap. Properly setting this time is critical for purge pinching to function correctly. If the dwell time is too long, the ripzone may cool excessively, making it harder for the purge to cleanly detach from the nozzle tip. Fine-tuning this value ensures reliable purge separation while maintaining consistent extrusion behavior.

purge_pinch_speed
purge_pinch_force_percent

Purge pinching allows the chute door to open and then close just as the purge bulk drops below the flap threshold leaving only the tail still attached to the nozzle. This prevents the purge from being pulled back up when the toolhead severs the tail from the nozzle tip with a sharp rip motion. Purge pinching allows the motion of the purge dropping to be predictable and controlled, increasing the likelihood that the purge drops cleanly out of the intended side of the chute flap. Both speed and force are critical: purge_pinch_speed, set in mm/s (1–500), plays a role in controlling the timing of the flap closure to ensure the purge has cleared, while purge_pinch_force_percent, set from 0–100 (percent), ensures the flap applies enough pressure close the chute flap on the purge without wedging it too tightly between the flap and chute wall which could cause jamming.

sidestepping_starting_feed_percent

This setting defines the starting extrusion feedrate used when a sidestepping purge cycle begins. The value is expressed as a percentage of the maximum extrusion feedrate determined by the filament’s effective volumetric flow limit and the installed nozzle diameter.

At the beginning of a purge cycle, extrusion starts at this reduced percentage of the maximum allowable flow rate. Starting at a slower feedrate allows the purge to establish a stable and tidy coil on the purge chute floor rather than ejecting material erratically. The lower initial speed also helps ensure that residual filament from the previous material is flushed more effectively, as the reduced extrusion rate allows additional heat to accumulate in the hotend melt zone, improving material mixing and transition.

During the purge process, the extrusion feedrate gradually increases. After each 20 mm purge segment, the feedrate increases by 25 percent of the initial reduced speed until it eventually reaches 100 percent of the maximum volumetric flow rate permitted by the nozzle and filament combination.

Proper tuning of this value helps balance purge stability, flushing effectiveness, and purge cycle duration. Lower percentages produce cleaner and more controlled purge formation but extend purge time, while higher percentages shorten the purge cycle but may cause erratic purge movement or less effective material flushing.

sidestepping_extrusion_compensation

This setting applies an additional extrusion compensation factor during sidestepping purge operations. The sidestepping purge is performed as a free-air extrusion intended to produce a continuous filament strand that coils neatly on the purge chute floor.

Under normal conditions, the base extrusion amount for free-air extrusion is calculated using the free_air_extrusion_factor, which determines the theoretical amount of material required for the installed nozzle diameter. However, during sidestepping purge the toolhead moves laterally while extruding, causing the deposited filament to form rounded coils as it accumulates on the chute floor.

Because the deposited filament follows a curved path rather than the straight linear motion of the toolhead, the theoretical extrusion value calculated by free_air_extrusion_factor is slightly insufficient. The curvature formed at the ends of each coil effectively increases the total filament path length, requiring additional material to maintain a consistent strand diameter.

sidestepping_extrusion_compensation applies a ratio-based adjustment to increase extrusion beyond the calculated free-air value. This ensures the purge strand remains continuous, uniform in diameter, and capable of forming stable coils that drop cleanly through the purge chute.

Proper tuning of this value helps maintain consistent purge strand formation. If the value is too low, the filament strand may become thin and prone to breaking during the purge cycle. If set too high, the strand may become overly thick, increasing the chance of material bunching or irregular purge formation.

Special Features


bbl_petghf_flowrate

This quality-of-life setting automatically corrects the conservative 0.95 flow ratio automatically applied when loading Bambu Lab PETG-HF filament into the AMS. If SWMC detects that Bambu Lab PETG-HF is selected with the incorrect flow ratio, it adjusts the flow rate to a more appropriate value of 0.985 (or a setting of your choosing), ensuring proper extrusion volume for this material.

SWMC compensates by adjusting the flow rate via M221 with the SWMC variable named flow_compensation which applies the compensation in the printer firmware rather than during slicing. Using the correct flow ratio is critical for achieving strong layer adhesion, dimensional accuracy, and consistent extrusion performance. Setting this option to 0 disables the automatic correction and instead uses the flow ratio defined in the filament settings within the slicer, allowing manual control over material flow.

Leckiestein