SteinWipe V3 Wiper Offset Calibration - User Manual
[{"type":"paragraph","children":[{"t":"text","v":"Updated: May.28.2026","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Overview","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The V3 wiper XY offset calibration program and procedure aligns your nozzle\u0026#39;s toolpaths through the A1 wiper pad attached to any of one of the current SteinWipe wiper mounts with sub-millimeter precision. Run it whenever you: do a new install, replace the wiper pad, or unbolt the wiper mount. For the latest V3 Pro Advanced mount - there is no need to run the offset calibration after detaching the wiper slide from the magnetic base, only run the cali procedure if replacing the wiper pad itself or unbolting the mount. For all 3 versions of the mount, the resulting offset values feed into the [[steinwipe_xoffset]] and [[steinwipe_yoffset]] SWUDs found in the Start Gcode field (Core 2 SWMC Pro release only) or into the Template Custom Gcode designated line for offsets (SWMC Core 0, Core 1 \u0026amp; Core 2).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Template Custom Gcode XY Wiper Offset Line\n;_______ set machine specific user offset for SteinWipe ","b":false,"i":false},{"t":"text","v":"__","b":false,"i":true},{"t":"text","v":"________\nG0 X0.40 Y0.90 ; change this value to suit your machine using provided checker files\n\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This calibration covers both SteinWipe Pro (V2 and V3 wiper mounts) and the original SteinWipe V1 hardware. The wiper pad and wiper entry path geometry are the same on both versions, so one calibration .3mf works for every wiper model currently available. The same file also works for both Bambu Studio and Orca Slicer as well as all P1 series and X1C printers. ","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Once calibrated, the values stay valid until you physically disturb the wiper hardware.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"This manual covers what the calibration does, what you\u0026#39;ll need before running it, the step-by-step procedure, how to enter the resulting values into your slicer, and what to do if something looks wrong.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Why calibration matters","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The P1\/X1 SteinWipe mounts use Bambu\u0026#39;s A1 wiper. The nozzle enters the pad along a precise path; if the entry point is off by more than 0.5mm in either axis, the nozzle hits the pad\u0026#39;s nubs directly instead of the space between nubs and the rubber tears causing the pad to no longer be effective at cleaning the nozzle. Pads are moderately expensive to destroy and replacing is time consuming.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Wiper Wear From Y Axis Misalignment\nwiper_misaligned_y_axis | scale=100% | caption=bottom\nThis wiper lost many center nubs because the Y axis was not aligned correctly causing the wipe paths to shear off the center row. The nozzle running in a collision path with the wiper also caused the ends of the wiper pad to lift off the mount. \n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Wiper Wear From X Axis Misalignment\nwiper_misaligned_x_axis | scale=100% | caption=bottom\nThis wiper will begin to lose nubs because the X axis was not aligned correctly causing the wipe paths for weaving cycles such as [[steinwipe_rake_after_purge]] to collide with the nubs in the first row missing the space between columns.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The first wipe cycle on a new install is the dangerous one. After that, if the offsets are correct, the nozzle finds the correct entry point every time and the pad lasts thousands of wipes depending on nozzle temperature and material used. The purpose of the calibration is to make sure that first wipe is on target.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The calibration is required:","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"After installing the wiper for the first time","b":false,"i":false}]},{"children":[{"t":"text","v":"After replacing the wiper pad","b":false,"i":false}]},{"children":[{"t":"text","v":"After unbolting the mount and reinstalling it","b":false,"i":false}]},{"children":[{"t":"text","v":"After adjusting your printers belts","b":false,"i":false}]},{"children":[{"t":"text","v":"Whenever wipe quality unexpectedly degrades or there are signs of collisions","b":false,"i":false}]}]},{"type":"paragraph","children":[{"t":"text","v":"Every time the mount is reinstalled, especially if the mount holes were drilled oversized during install, the mount can shift its X axis position and may not return to its previous position on reinstall. This was the primary reason for weaving wipe cycles being removed from the original SteinWipe project release late 2024. The only exception to removing the wiper mount and reinstalling it without needing calibration is: if weaving wipe cycles set in the SSD notes such as [[steinwipe_rake_after_purge]] are not used, or the wiper mount is the latest V3 SteinWipe Pro Advanced edition which is designed to allow the wiper slide be removed without unbolting the magnetic mounting plate from the printer - this is how we can retain the X axis position when removing the wiper for service.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"What you\u0026#39;ll need","b":false,"i":false}]},{"type":"list","listType":"unordered","items":[{"children":[{"t":"text","v":"A Bambu Lab P or X printer with SteinWipe Pro or SteinWipe V1 hardware installed","b":false,"i":false}]},{"children":[{"t":"text","v":"A current SWMC release loaded in your slicer (Slicers: BBS \u0026amp; Orca. SWMC: Core 0, Core 1, Core 2)","b":false,"i":false}]},{"children":[{"t":"text","v":"The V3 calibration .3mf, file available on its dedicated release page ","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}]},{"children":[{"t":"text","v":"The V3 Offset Chart (step 7 in this manual); the calibration writes time readings to the printer display, and the chart converts those readings to offset values","b":false,"i":false}]},{"children":[{"t":"text","v":"Approximately 5-10 minutes of attentive watching time to complete the calibration procedure","b":false,"i":false}]}]},{"type":"heading","level":2,"children":[{"t":"text","v":"How V3 works","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The .3mf file loads into the slicer which sends a modified print file to the machine with commands to move the toolhead through 31 X-axis positions and then 31 Y-axis positions (depending on SSD selection via printer notes). After every position, the machine will pause briefly for each position to be read visually confirmed by the user. As the toolhead steps through positions, the printer\u0026#39;s progress bar advances to display time remaining before the next position cycle proceeds, and specific values are displayed on the printer screen by repurposing the print remaining time clock which now is used to reference SteinWipe XY offset positions via the display. When the nozzle visually aligns with the wiper pad center space between the designated nubs (step 5 \u0026amp; 6), you note the time shown on the display.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"That time reading converts directly to an offset value via the Offset Chart (step 7). The X axis uses the first minute block (01m through 31m); the Y axis uses the 1-hour-plus-minutes block (01h01m through 01h31m). Using two different time formats prevents users from confusing X and Y readings on the chart.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The total range is from [[-1.50mm]] to [[+1.50mm]] in 0.10mm increments per axis, giving 31 positions of 0.10mm resolution per axis. The center position (XY 0.00mm offset) corresponds to absolute wiper entry positions of [[X161.30mm]] and [[Y261.30mm]].","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Calibration procedure","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 1 - Load the .3mf into your slicer","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Open Orca Slicer (cali file coming soon) or Bambu Studio and import the V3 calibration .3mf. The file ships with default SSDs already enabled for a typical install; you can adjust them if you want to skip a step or run additional ones.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 2 - Configure the calibration SSDs","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Open the printer notes field for the calibration .3mf and review the SSDs. Five SSDs are available:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"[[lower_bed]]","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Lowers the bed for clearance during the calibration so the nozzle can move freely above the print surface without dragging.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"[[manual_clean_nozzle]]","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Runs a full heat-clean-cool nozzle cleaning routine before the calibration begins. Use this if your nozzle has carried over residue from a previous print; it ensures the nozzle tip is visible and clean during alignment checks.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"[[cali_x_axis_offset]]","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables the X axis calibration section. Steps through 31 X-axis positions while you watch the nozzle.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"[[cali_y_axis_offset]]","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables the Y axis calibration section. Steps through 31 Y-axis positions while you watch the nozzle.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"[[use_x1_flashlight]]","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enables the X1 toolhead flashlight during the calibration for improved nozzle visibility. X1C-specific; has no effect on P1 Series printers.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"You can enable one or both of the calibration axis SSDs at the same time. Enabling both runs the X axis first and the Y axis second; it just takes longer to complete.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 3 - Slice and send the file","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Slice the calibration project and send it to your printer. No filament is required; the calibration does not extrude anything.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 4 - Open the front cover","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Optional: take the front cover off your printer and position yourself so you can see the nozzle and the wiper pad clearly. You will be watching the nozzle\u0026#39;s position relative to the pad surface for the entire calibration.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 5 - Start the print and watch the X axis run","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The printer homes, lowers the bed, and moves the toolhead to the wiper area. The progress bar starts reducing and printer clock opens at 01m (which corresponds to a -1.50mm X offset) and advances through 31m (which corresponds to +1.50mm). At each new position, the bed will drop and lift quickly to signal a new position, then the toolhead holds its position briefly with the nozzle in front of the wiper pad.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Watch the nozzle as the printer steps through the positions. You\u0026#39;re looking for the moment when the nozzle is centered between the two left front-most wiper nubs.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% X axis alignment target\ncali_x_axis_aligned | scale=80% | max_width=800 | caption=bottom\nWhat correct X axis alignment looks like. The nozzle is centered over the wiper pad on the X axis.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"When the nozzle looks correctly aligned, note the time reading on the printer display. If you only need to align the X axis then you may stop the program now via the display otherwise, the printer will now pause giving you a chance to make note of the offset. When you are ready to continue with the Y offset reading, press resume via the printer screen - the toolhead will home and the Y axis part of the program will now run.\n\nNote: at the end of the program a series of pauses are used to prevent the program from abruptly ending and jumping into the printing section of the gcode which is not needed for this task. Should printing start at any time then we have exited the calibration section needed. ","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 6 - Watch the Y axis run","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you enabled both axes via SSDs in the printer notes when sending the file to the printer from the slicer, the Y axis runs immediately after the X axis pause is resumed. The progress bar opens at 01h01m (corresponding to a -1.50mm Y offset) and steps through 01h31m (corresponding to +1.50mm).","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Watch the nozzle the same way but from the left side. You may find it helpful to use a small dental mirror or cellphone camera to get a good view of the Y axis positions with minimal parallax error. The Y axis aligns the nozzle to a different nub and position on the pad than the X axis; refer to the photo below.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Y axis alignment target\ncali_y_axis_aligned | scale=80% | max_width=800 | caption=bottom\nWhat correct Y axis alignment looks like looking straight on from the left side. The nozzle is centered between the two frontmost nub rows.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Note the time reading on the display when the nozzle is correctly aligned on the Y axis. The program will now enter a pause loop at which time you can end the program by using the printer screen to end the print. If you accidentally resume past this point, no harm will be done - the printer will simply start heating to begin printing the tiny object on the bed needed for slicing and sending the file from Orca or BBS.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 7 - Look up your offsets in the chart","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Use the chart below. This chart converts time readings to offset values. Generally the offsets have always been the same since the start of the project but things may change in future releases so it is always a good idea to check any future wiper design or SMWC release documentation for which wiper mount version is used and the SWMC core used. This chart works for P1 X1 wiper versions V1, V2, V3 and P1 X1 SWMC Cores 0, 1, 2 for both BBS and ORCA including this MakerWorld release ","b":false,"i":false},{"t":"link","v":"here.","url":"https:\/\/makerworld.com\/en\/models\/1025501-steinwipe-nozzle-wiper-for-x1-and-p1-series#profileId-1050795","target":"_blank"},{"t":"text","v":" ","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Offset reference chart\noffset_chart_v3 | scale=100% | max_width=900 | caption=bottom\nThe Offset Chart converts the time reading you noted to the offset value you\u0026#39;ll enter into your slicer. X readings are in the first column block; Y readings are in the second column block.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For X, find the time reading you noted in the X column. Record the corresponding offset value. For Y, do the same in the Y column. Each axis has its own offset.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 8.1 - Enter the offsets into your printer preset (SWMC Core 0 \u0026amp; Core 1)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For Core 0 (Feb15.2025) and Core 1 (Apr.28.2025), you only need to update the wiper offsets in the Template Custom Gcode wiper toolpath script. Open your SWMC printer preset settings in the slicer and head to the \u0026quot;Machine Gcode\u0026quot; tab.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Where to enter offsets in the slicer\ntemplate_custom_gcode_location | scale=90% | max_width=900 | caption=bottom\nWhere to enter your offset values in the printer preset. The User Config block is at the top of the Start G-code field.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Enter the offset values referenced from the chart to the [[G0 X0 Y0]] block.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 8.2 - Enter the offsets into your printer preset (SWMC Pro Core 2)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For Core 2 (Apr.28.2026), the Template Custom Gcode from Core 0 \u0026amp; Core 1 only handles wipe cycles added via the slicer layer slider by right clicking the slider and selecting \u0026quot;Insert Template Custom Gcode\u0026quot;.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Template Custom Gcode Script Only Function For Core 2\ninsert_template_gcode_orca | scale=90% | max_width=900 | caption=bottom\nFor SWMC Core 2 (Apr.28.2026), the only function of the Template Custom Gcode script is to allow the user to insert wipe cycles at any layer via the righthand side vertical layer slider. Right clicking the layer slider while at the designated layer, then inserting the template code will use the template code at this layer with any offsets applied only in the template code. All offsets for wipe cycles used outside of this feature are done with SWUDs set in the machine start gcode.\n\/%","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The main offsets for SWMC are entered as values for the [[steinwipe_xoffset]] and [[steinwipe_yoffset]] SWUDs in the User Config block at the top of the Start gcode. These are the offsets applied to all wipe cycles in all areas of the printing process e.g. Start up, layer chance, filament change, end print, etc.. These SWUDs can be found in the User Config block in the Custom G-code section of the printer preset settings under the Machine Gcode tab (same settings tab as Template Custom Gcode), look inside the first field labeled \u0026quot;Machine start G-code\u0026quot;. Near the top of the start Gcode, find the [[steinwipe settings]] SWUD section with the lines that look like this in the User Config block:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; User Config offset entries","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";_______________ steinwipe settings ________________\n{\n;global steinwipe_xoffset = 0.00\n;global steinwipe_yoffset = 0.00\n}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Replace 0.00 with your calibrated offset values. For example, if your X reading was [[0h07m]] (X offset -0.90mm) and your Y reading was [[01h23m]] (Y offset +0.70mm), the lines become:","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; User Config offset entries with calibrated values","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":";_______________ steinwipe settings ________________\n{\n;global steinwipe_xoffset = -0.90\n;global steinwipe_yoffset = 0.70\n}","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Once you\u0026#39;ve entered the XY offsets into the Template Custom Gcode and SWUD areas, save the preset.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"Step 9 - Verify with a small test print","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Slice and send a small single-color test print. Watch the first wipe cycle during the machine startup process before printing begins. Watching through the front of the printer, confirm the nozzle is passing through the wiper. Wipe cycles happen very quickly so it may be challenging to visually see just where the nozzle travels when it enters the wiper - listening for any harsh noise of the nubs colliding with the nozzle is a good indicator of something off.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If you\u0026#39;re hearing harsh noises and you\u0026#39;re sure you\u0026#39;ve completed the calibration and entered the values correctly, you can try to slow down the wipe cycle by editing the cycle speed to something that will feel like watching the wipe cycle in slow motion. This should allow you to pinpoint where the nozzle is off course.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Setting a speed of 120mm\/m would be a good starting place to visualize the wipe cycle in real time. Just edit the [[G0 F24000]] and set it to [[G0 F120]] for Cores 0 \u0026amp; 1 and resend the print.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Core 0 \u0026amp; Core 1 Wipe Cycle Speed Control In Template Custom Gcode\n;","b":false,"i":false},{"t":"text","v":"__","b":false,"i":true},{"t":"text","v":"__________ set wiper speeds _______________\nG0 F24000 ; Set wipe speed\nM204 S20000 ; set wipe acceleration \n\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For Core 2 SWMC Pro, you only need to edit one SWUD found in the Machine Start Gcode. This value is in mm\/s so to achieve the same 120mm\/m setting we will convert mm\/m to mm\/s [[120\/60 = 2]]. Edit the [[steinwipe_speed = 400]] to say [[steinwipe_speed = 2]].","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"\u0026amp; Core 2 SWMC Pro Wipe Cycle Speed Control in SWUD settings\n;_______________ steinwipe settings ________________\n{\n ;global steinwipe_speed = 400\n ;global steinwipe_accel = 15000\n}\n\/\u0026amp;","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The nozzle should enter the wiper pad cleanly, sweep across without catching any nubs, and exit without dragging nubs under the nozzle. Nubs should always remain at the sides of the nozzle when in a wipe cycle, never under the very tip where the filament extrudes. If anything looks or sounds wrong, see further troubleshooting in the section below or send a message in the #steinwipe Discord channel.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Troubleshooting","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"The nozzle never looks aligned during the calibration","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If the nozzle is consistently far from the wiper pad throughout the entire calibration sweep, the offset error may be larger than the calibration\u0026#39;s [[-1.50mm]] to [[+1.50mm]] range. In that case, the wiper hardware itself is mispositioned, or the nozzle is bent. For these 2 cases, the fix needs to be physically adjusted before the calibration can resolve the alignment. Correct the bent nozzle or loosen the mount, slide it toward the nozzle, and re-tighten so the nozzle is closer to the pad center, then run the calibration again.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Some aftermarket extruder housings such as the ","b":false,"i":false},{"t":"link","v":"Panda Extruder","url":"https:\/\/biqu.equipment\/products\/biqu-panda-extruder?variant=42480798990434\u0026country=CA\u0026currency=USD\u0026utm_medium=product_sync\u0026utm_source=google\u0026utm_content=sag_organic\u0026utm_campaign=sag_organic\u0026gad_source=1\u0026gad_campaignid=19101072140\u0026gbraid=0AAAAAoLyodUaSINSKat5eHhtmhTbtBncP\u0026gclid=Cj0KCQjwz9_QBhD_ARIsADnSCfDKIdM89y-lT84KgNRm9a5iY0EuJO8K0iQlslewRqoJC4_Men_OoXkaAj3GEALw_wcB","target":"_blank"},{"t":"text","v":" can also affect SWMC offsets being out of range. For this case, a solution to measure for the offset is being developed but in the meantime you may add additional offset to the value of the first or last offset position sent while running the cali file depending on which direction is needed. Visit the #steinwipe Discord channel for assistance. This will be something you will have to gauge by eye or try to measure for the time until a solution is developed.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"The calibration prints a small extrusion or makes a strange noise","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The calibration should not extrude anything. If you see filament extrude during the calibration, you have let the calibration program run past the needed section of custom gcode and into the print section needed to slice and send the file to the printer. Simply end the print.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"I unbolted the wiper to clean it and now the offsets are wrong","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If the mount holes were drilled oversized during installation, the mount will have room for error each time you re-mount. Best to run the calibration again. To avoid this problem on future installs, use the latest ","b":false,"i":false},{"t":"link","v":"drilling guide","url":"https:\/\/leckiestein.com\/pages\/swmc-releases\/stein-wipe-hole-template-v-3-and-rear-backing-plate-v-2","target":"_blank"},{"t":"text","v":" - drill the mount holes precisely sized; correctly sized holes return the mount to the same position every time it is installed. For cases where the mount holes are already too large, upgrading to the ","b":false,"i":false},{"t":"link","v":"V3 wiper","url":"https:\/\/leckiestein.com\/pages\/swmc-releases\/stein-wipe-pro-advanced-edition-v-1-0-0-mar-21-2026","target":"_blank"},{"t":"text","v":" is a good solution since the wiper mount remains fixed to the printer even when the wiper slide containing the wiper itself has been removed for cleaning. This mount can be used with all versions of SWMC - for SWMC Cores 0 \u0026amp; 1 simply do not install the tab mount. ","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"The progress bar disappears before I can read it","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"You may have missed a position. If you are calibrating the X when this happens, you can wait it out for the Y cycle to start, capture the Y position, then restart the process and watch the X more closely. You can also use the printer screen at anytime during the cali program to end the print and start over right from the screen of the printer by reprinting the last file sent to the printer.","b":false,"i":false}]},{"type":"heading","level":3,"children":[{"t":"text","v":"My printer doesn\u0026#39;t show the progress bar in the format the chart expects","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The chart uses Bambu Lab printer firmware progress bar conventions. If you\u0026#39;re running on a heavily modified firmware build such as X1Plus, the progress bar values may not display in the format expected and should be reported to the #steinwipe Discord channel so it can be documented.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"V2 SD card workflow (legacy)","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"The V2 calibration workflow with 63 separate gcode files on an SD card is still available on the release page as a fallback. Use it if you have a specific reason to step through individual offset values rather than watching them sweep continuously, or if you\u0026#39;re troubleshooting a calibration issue and want fine-grained control.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"For most users, the V3 .3mf is the better path forward; it skips the SD card entirely and removes the macOS dot-underscore file bug that plagued V2 after post release printer firmware updates from Bambu.","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Support","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"Issues with the calibration go to the Leckiestein Discord #steinwipe channel. Calibration questions are not tied to a specific SWMC release; post in the general SteinWipe support channel rather than a per-release bug-reporting channel.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"If your wiper pad rips during a wipe cycle and you\u0026#39;re sure the calibration was done correctly, gather a video of the wipe and your full printer notes contents and post in Discord. Pad damage is rare when calibration is done correctly; if it happens, we want to understand why.","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"% Discord support channels\ndiscord_bug_channel_example | scale=70% | max_width=600 | caption=bottom\nThe Leckiestein Discord support channels. Calibration questions go in the general SteinWipe support channel.\n\/%","b":false,"i":false}]},{"type":"heading","level":2,"children":[{"t":"text","v":"Terms","b":false,"i":false}]},{"type":"paragraph","children":[{"t":"text","v":"By downloading and using this file, you agree to the Leckiestein Terms and Conditions for Digital Products. The full terms are at leckiestein.com\/policies\/terms-of-service. The calibration file itself is provided free to logged-in users and may be downloaded as many times as needed.","b":false,"i":false}]}]
[{"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":"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":"discord_bug_channel_example","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/discord_bug_channel_example.png?v=1776891401\u0026width=2400","width":740,"height":276},{"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":"wiper_misaligned_x_axis","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/wiper_misaligned_x_axis.jpg?v=1780002348\u0026width=2400","width":1564,"height":880},{"base":"wiper_misaligned_y_axis","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/wiper_misaligned_y_axis.jpg?v=1780002348\u0026width=2400","width":4032,"height":2268},{"base":"insert_template_gcode_orca","url":"https:\/\/leckiestein.com\/cdn\/shop\/files\/insert_template_gcode_orca.png?v=1780005739\u0026width=2400","width":1664,"height":428}]