Perfect 1st layers! - 3x3 Bed Leveling optimized for Pro firmware with UBL

Copyright Claim

Perfect 1st layers! - 3x3 Bed Leveling optimized for Pro firmware with UBL

Boost
1
1
1

Print Profile(1)

All
X1 Carbon
P1S
P1P
X1
X1E
A1

@Creators recommendation
@Creators recommendation
Designer
10 min
1 plate
5.0(1)

Boost
1
1
1
0
9
2
Released

Description

Don't forget to hit the like button if this helps you :)

 

A perfect calibration square print has alluded me since I got my Ender3S1. Sure I have lots of prints that work but most of them are smaller and around the center of the plate. If I try to print larger items I get layer adhesion issues and run into problems. No more, finally able to address this problem and I am sharing my experience here in the hope it helps some others.

Many people have trouble getting a first layer and it seems especially so with the Ender 3 S1 and the CR Touch. You do everything right but the first layer is still not good across the entire bed. One way to address that is to use UBL features of Marlin where you can run your normal automated bed leveling and then manually adjust specific points of the mesh to raise or lower them until the print is perfect. The trick is when you print calibration squares they often don't align where the probe points which makes it difficult to make adjustments and reprint, see the result and adjust again until things are how you want them. This STL is setup to perfectly mimic the probe points on centered 3x3 mesh assuming everything is at the default settings.

Instructions:

  1. Install the latest UBL version of mriscoc professional firmware found here https://github.com/mriscoc/Ender3V2S1/releases/tag/20220419
  2. Create a mesh and set your z-offset using baking paper (baking paper does not take in moisture and is usually .05 thick and is more consistent than paper I have found.
  3. Print the attached squares
  4. Now look at the print result from 3 and take note of where it is to high or low - create a grid on paper and estimate the adjustments .01mm higher .02mm lower etc. If you dont know then move in .01mm increments between prints after some practice you will get a feel for what a print looks like and the adjustment needed.
  5. You need to check that the middle square of the print is also where the probe thinks middle is. You can do an autohome to check that. If its different and off by more than 5mm then adjust the position of the print in Cura to compensate for this error.
  6. Ok now you go to the printer and select Advanced settings→Mesh Leveling→Mesh Insert→Center Area. The settings if using default should be something like 40 for the min and 190 for the max of X & Y.
  7. Then go to Advanced settings→Mesh Leveling→View Mesh this will show you what the current mesh looks like, compare that to your estimated adjustments from 4 just as a sanity check. I also note down the current values or take a photo so its easy to correct a mistake or know what point on the mesh you are editing. NB: The mesh is rounded to 2dp but when you edit the mesh you have 3dp so .056 when editing it will show as .06 in the mesh viewer.
  8. Then go to Advanced settings→Mesh Leveling→Edit Mesh you select the x and y index from the grid and it will show your the current z-offset value of the mesh at that index. Manually adjust that value to the value you think it needs to be and then save. Repeat this for all the mesh points you want to adjust. I adjusted in .01 increments or .05 if the print was really high or really low.
  9. Advanced settings→Mesh Leveling→Save Mesh. Save the mesh (you can also change the memory slot and then save to put the mesh in another slot)
  10. Now repeat step 3, 4, 7, 8, 9 until your print is perfect.

 

Start gcode:

Your start gcode needs to have this in it

G28; homing

M420 S1 L0 Z3 ; this uses the mesh in slot 0 (L0) change if you have mesh in another slot. Mesh is only used for the first 3mm (Z3)

 

Also remove any gcode that creates a mesh before each print (like G29) or adjusts a mesh automatically before each print. Once I set my mesh I dont touch it until I see a print isnt working then I fix that particular point. Once you have a 3x3 sorted out you can go to a 5x5 or more and use other memory slots for those. A mesh only really needs to be updated if the surface has changed, the build plate gets bumped/shifted and isnt in the same place anymore or the extruder position has changed compared to the previous level etc…

If you cant not get the print right with this method then there is something wrong with the gantry/print head etc which means it does not return to the exact same spot when given the exact same coordinates. Non round wheels, loose bed or print head etc can cause that or a totally fault CR touch which means it isn't homing correct on the Z axis.

Note: When manually editing the mesh take note of the X & Y index they count from 0-2 on a 3x3 mesh. Ensure you are editing the correct point or you may plunge your nozzle into the bed. If unsure then just raise a specific point up 2mm, print the squares and when it tries to print in mid air you will know what coordinates correspond with that point. By noting down the grid under view mesh you should be able to figure it out anyways.

Index Cheat sheet when editing the mesh for a 3x3 mesh.

Back Left X=0 Y=2Back Middle X=1 Y=2Back Right X=2 Y=2
Middle Left X=0 Y=1Middle Middle X=1 Y=1Middle Right X=2 Y=1
Front Left X=0 Y=0Front Middle X=1 Y=0Front Right X=2 Y=0

 

If you have Octoprint or a terminal to send commands to the printer you can also use

G42 I0 J0 which will move the print head to the mesh index front left for instance. Or G42 I1 J1 middle middle and so on. This is good if you want to line up the print with the mesh in step 5. You can move the print head see how far it is from the center of the print and then adjust the print in Cura to make it more centered. (this is optional and not usually needed)

The FILES explained:

  1. PDF with the same instructions as here
  2. 3x3 Original - The grid of squares matched to the probe settings I used
  3. 3x3 New - Now with .4mm connecting line to make removal easy (I use this one now)
  4. A single corner square STL
  5. A single middle edge square STL

STL's 4 & 5 you can center and then rotate in Cura creating separate gcode to cover all 8 squares except the very center one. This way you can generate gcode for all the outer squares so you can test just one square instead of having to do the entire 3x3 grid each time. Simple 1-2 minute print to check your UBL adjustments.

 


Documentation (1)

Bill of Materials (1)
The perfect 1st layer.pdf

Comment & Rating (1)

Please fill in your opinion
(0/5000)

Print Profile
@Creators recommendation
0
Reply
No more