Skew compensation in the Bambu X1C Firmware

I also am a bit uncertain if the M500 makes compensation a permanent change, or if constantly saving it is detrimental. Bambu says it should survive a power cycling, some posts say it does not. Rather than test it, I just make the change in the Machine Start gcode for each print, using the angular correction. My skew is small and probably could be left uncorrected for most prints.

;===================Skew correction=============================
M1005 I-0.00042; correction factor
; to reset use
;M1005 I0
;to write to EEPROM use
;M500
1 Like

I added the radians method with a calculation page on my own server

I hope it will be useful.
Thank you for your messages!!

1 Like

I’ve tried everything listed here since the last firmware update and still cannot get the updated gcode to work. Is anyone else experiencing no change after updating the gcode? Using a P1S printer.

1 Like

How do you know that the skew compensation isn’t working. I have just opened my Machine G-code and can see that the M1005 command is still present. I assume that’s it’s working.

Hello there,

I am planning to purchase this calibration file Califlower Calibration Tool Mk2 – Vector 3D. Then I saw, that there is also a file, which covers the skew in XZ and YZ direction.

The other files clearly stated, that the XY skew can be compensated for Bambu Lab printers. What about the XZ and YZ? A comment from a couple of months ago mentioned, that this is not supported? Is it still the case?

Bambu support has been extremely unwilling and horrible to work with on this subject. I have been told they flat refuse to share how they derive the skew, or anything related to it as it is “experimental”. Even after pointing out errors in the results we are suppose to “trust them” on this and they can do no wrong.

1 Like

Hey, ich hÀng mich hier mal dran. Ich habe seit kurzem einen P1S.
Jetzt wollte ich auch den Skew bisschen ausbessern, hatte aber das GefĂŒhl, der G-Code greift nicht.
Habe dann zum testen mal ĂŒbertrieben, siehe G-Code unten, und immer noch ganz normale Abmessungen bekommen. Irgendwie klappt das noch nicht so ganz.

M1005 X50 Y100
M500

If you have AMS on top of your printer you need to calibrate after avery single print and/or filament spool change. IMHO, the printer should be constantly calibrated even during the print.
I think AMS/whatever should NEVER lay on top of the printer.

1 Like

details on that please? what makes it ‘bad’?

Center of gravity too high. And inertia. Resonances.

I somewhat agree. When I first got the printer I added soft feet to isolate the printer sound from the wooden desk. It kind of worked, the sound was reduced but the printer was wobbling all over the place. As all the active dynamics happens at the very top. I dumped the soft feet idea. Then put the printer on a heavy 40x40x4cm paving stone sitting on 5mm soft foam. This works great. I have never used the AMS on top of the X1C. I can’t decide if putting the AMS on top would improve the damping or make things worse.

For me (also P1S) it was necessary to add a M1005 S1 before setting the skew with M1005 I[...] at the end of the start gcode, see Skew compensation in the Bambu X1C Firmware - #497 by iPrimeSE. Did you try that?

1 Like

Das hat bei meinem P1S auch nicht funktioniert. Ich musste noch ein M1005 S1 einfĂŒgen, bevor ich mit M1005 I[...] den skew setze, siehe Skew compensation in the Bambu X1C Firmware - #497 by iPrimeSE. Hast Du das mal probiert?

Guys, i have X1E, and my calibration cube 30x30x30 is 29.92 in X axis, and 30 in Y axis, Z axis is fine, what is the final consensus to fix it, M290.2 ?, M292.2? , i dont want to use M500 since as much as i could read it is bugged so i would leave calibration in start code.
Are M1005,M290.2 legit commands?
I have read a lot but seems to me there is no definitive solution to steps calibration, or am i wrong?
Also my circles are not round they are ±0.04 in diameter.
I am using it for functional parts and need good precision.

Your question belongs to a different topic, because it is about scale, not skew. Anyway, two advices:

1.) I wouldn’t touch esteps of the printer. that should be reserved for adjusting the mechanics of the printer. What you observe is probably shrinking of the material due to cooling down after extrusion. As most material types have different shrinking ratio and even same types from different manufacturers are not the same, I would calibrate each material you use individually. That is done best in a slicer that supports shrinkage compensation in filament profiles. If you are using BambuStudio now, the natural choice would be OrcaSlicer. It is mostly identical to BambuStudio but has some great extensions. It also is fully compatible with Bambu Cloud, so it is a real small step.

2.) Calibration Cubes are actually a terrible tool for geometrical calibration. This video gives a very good explanation: Calibration Cubes are BAD! This is how you calibrate your 3D Printer — CNC Kitchen
Have a look at my take on calibration here, including a step by step guide: ShrinkingTest V4 by Alex_vG by Alex_vG - MakerWorld
If you don’t like mine, there are more calibration tools that do a better job than those cubes.

1 Like

Be careful, there are two calculators from @jason.t and @klomar. So the calculator from @jason.t gave me a positive value, and I used this positive value in the first iteration, the skew became larger, then I retyped it with the - sign (the negative value was given by the calculator from @klomar) and everything became fine, the skew was compensated. The printer is p1s with the latest firmware and I used the M500 after the M1005 I
, so far everything remains the same after a reboot.

I confirm what @iPrimeSE has said about the P1S, after the calibration with M1005 I[...] the skew offset is fixed in my P1S with firmware 01.07.01.00. I tried with multiple colors, AMS on top and this works too. However instead of using the SquareCal.stl provided by Bambu I have used the fleur_de_cali which allows to compute skew and shrink factor in one go avoiding also calibration issues. More specifically, once having done all the measurements and inserting them in the excel calibration of the fleur_de_cali there are two tabs that are important:

  • Results Dimensionality gives you the shrink factor to be added in the PLA profile
  • Results Skew gives you the information about which parameters should be used in the skew calculator from @GrahamGo

Once you have the values from the XY Skew Calculator221 you should modify the printer settings g-code. More specifically I modified the section called Machine start G-code at the beginning and at the end as some posts recommended to not home with the skew enabled and to avoid adding up the skew over power cycles.

Beginning

; ensure we home without skew calib
M1005 S0; disable skew

End

; enable skew
M1005 S1; enable skew
M1005 I0; reset skew
M1005 I0.002272 ; add value from calculator221
M500 ; save to eprom

This helped! Thanks for bringing that specific post to my attention. I was finally able to get the skew correction to work.

Does anyone know a way to make sure the correct preset is used every time for the selected printer? I have two and want to make sure that this preset is only, and automatically, applied when the printer that needs correcting is selected. Or would I need to manually set the correct preset each time I want to print?

Thanks, so I tried it and ofc material shrinks when printed. This is understandable.
But there is still X and Y difference. Material shrinkage should be same in X and Y direction. Circle should be printed with same diameter, Diameter 30 should be 30, not range from 29.95 to 30.05 for example.
Scew compensation works M1005 I
 but M290.2 does not work.

Hi, I have been having problems with my Skew calibrations and like you I tried using various methods and settled on the V3d Califlower print and website entry page which provides the required Gcode entry figures for the Start Gcode in Bambu Lab X1c using the M1005 method.

Unfortunately during the entry of measurements on the website I entered an incorrect figure which resulted in the wrong Gcode entry!!!
After entering this incorrect figure I started another print and the head hit the front panel. I tried resetting the Gcode but any further attempts resulted in the head being driven out of bounds until it hit the walls of the printer. The XY belts could be heard to ratchet over the motor drive cogs!!
I have tried Carrying out a system self check which showed nothing wrong. The I did a Factory reset but aft both of these procedures the head behaved the same, After this I tried going back in the firmware to a previous version and then again to the one prior to that. On downloading the firmware the download stalled at 80% and I lost contact with the printer. I will be trying a hard restart and updating the firmware to the latest one if possible. If that does not work I was wondering if you had any thoughts on what to try next??