XY Skew Compensation in Bambu Firmware
Y
^ B-------C
| / /
| / /
| A-------D
+-------------->X
XY SKEW FACTOR
M1005 X<AC> Y<BD>
(1) e.g. you print a 100mm square and measure AC as 141.53 and BD as 141.31
(2) using these values add this gcode to the end of the Machine start G-code:
M1005 X141.53 Y141.31
M500
(M500 will save the compensation factor to EEPROM)
(3) Print the square again and measure the diagonals.
(4) If ok delete the gcode from the Machine start G-code.
(5) Print another square to check the compensation factor has been saved.
After step (3) if there is still significant skew you can repeat steps (1)-(3) with the new measurements. A new factor will be applied to the compensation already saved in the firmware.
When satisfied with the result proceed to steps (4)&(5). (Remember to delete the gcode you added to the start G-code or it will continue to apply a new correction factor with each print!).
If you need to reset the compensation value:
M1005 I0
M500
See this post on Reddit for the source of this information which was originally provided by Bambu Lab tech support. The post includes instructions from Bambu Lab and a calibration stl file for printing the square:
Bambu’s M1005
applies a different format for skew correction than Marlin’s M852
but it may also incorporate XZ and YZ correction which could be determined by experimentation.
See also this post on this forum.