How to autolevel?

  • How is the auto leveling supposed to work? I've run it, print head comes down and does the whole grid, then additional message or anything saying it was complete. When I try printing, the nozzle is so close to the build plate in most places that the extruder clicks trying to push the filament through.


  • A question that has not been answered here still is this: is ABL on without an explicit M420 S1 command ? There's lots of warning in the marlin firmware documentation that a G28 disables auto-bed-leveling and you need to turn it back on afterwards.. i'm getting mixed messages about whether it is required in the preamble G-code for your slicer.

    Would appreciate advice here from either the community or @admin !

  • abl is stored on the sd card

    In the latest FW update EEPROM data is stored in the actual EEPROM.

    Also, if you have more than 1mm variance in your bed, it should be solved mechanically, not in software. Correcting that in software, that'd be 2-8 layers worth of Z-movement within a layer on a 0.4mm nozzle. The point of ABL (or bed-leveling in general) isn't to allow your printers mechanics to just be totally wrong or sloppy.

  • @thing20 abl is stored on the sd card I believe its also got a tolerance not sure what the actual number is but I'd guess its something daft like 1mm max as its a software adjustment.

  • @enmobo the auto level is more like assisted level it has a tolerance based on what I've learnt. Basically what you need to do is square the gantries. Here are some steps.

    Step 1 make sure bed is rigid there are two conical shafts on the closest side to the screen adjust those until you have no bed wiggle but not too tight that there is a large amount of resistance.

    Step 2 raise the carriage to the top of the gantry and use a calipers to check the distance to the top of the gantry on the right side and on the left side. They probably will miss match.

    If they do step 3 unscrew the two hex nuts holding the belt pulley on one side of the z (vertical axis) and that will allow you to wind one side independently of the other.

    Step 4 recheck the distance to the gantry and tighten the screws on the pulley.

    Now re auto level and recheck your z offset. You should now be in good shape.

  • @Mic_Hazelburn same problem here. Right side. How can I fix it?

  • I'm getting similar issues with the autoleveling. Out of the box my machine went through the auto level process without a hitch, blue light and all. But with a print that covered much of the sheet my first layer was noticably thin towards the front left corner and it appeared to continue dragging exccess material towards the back right fdor the next few layers. In the end it gave me a passable print of a pretty simple object but it was less than ideal.

    After a quick check I was concerned there maybe some inconsistancy in the tension of the rollers underneath. I subsequently disassembled the y axis to the point where I could access all 4 rollers, set the adjusting nuts to the midway point and undid checked the static rollers to the same tension.

    Though the issue is somewhat improved it persits and I take issue with the fact that a mechanical solution has done what the auto leveling should do. I've seen no proof the auto leveling does anything but turn on a blue LEd and go through the motions.

  • @spauliszyn Got the same issue, however its left corner for me

  • Awesome @ncbob! Hahaha, I moved my wipe line over too! Cheers mate!

  • @spauliszyn Here's my start gcode
    You can remove all the comments at the beginning, that's needed for OctoLapse that I run on Octoprint.

    ; Script based on an original created by tjjfvi (
    ; An up-to-date version of the tjjfvi's original script can be found
    ; here:
    ; Note - This script will only work in Cura V4.2 and above!
    ; --- Global Settings
    ; layer_height = {layer_height}
    ; smooth_spiralized_contours = {smooth_spiralized_contours}
    ; magic_mesh_surface_mode = {magic_mesh_surface_mode}
    ; machine_extruder_count = {machine_extruder_count}
    ; --- Single Extruder Settings
    ; speed_z_hop = {speed_z_hop}
    ; retraction_amount = {retraction_amount}
    ; retraction_hop = {retraction_hop}
    ; retraction_hop_enabled = {retraction_hop_enabled}
    ; retraction_enable = {retraction_enable}
    ; retraction_speed = {retraction_speed}
    ; retraction_retract_speed = {retraction_retract_speed}
    ; retraction_prime_speed = {retraction_prime_speed}
    ; speed_travel = {speed_travel}
    ; Ender 3 Custom Start G-code
    G92 E0 ; Reset Extruder
    G28 ; Home all axes
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X5 Y20 Z0.3 F5000.0 ; Move to start position
    G1 X5 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
    G1 X4.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
    G1 X4.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
    G92 E0 ; Reset Extruder
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X7 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

    End Gcode

    G91 ;Relative positioning
    G1 E-2 F2700 ;Retract a bit
    G1 E-2 Z0.2 F2400 ;Retract and raise Z
    G1 Z10 ;Raise Z more
    G90 ;Absolute positionning
    G1 X0 Y235 F3000
    G1 X0 Y{machine_depth} ;Present print
    M106 S0 ;Turn-off fan
    M104 S0 ;Turn-off hotend
    M140 S0 ;Turn-off bed
    M84 X Y E ;Disable all steppers but Z

  • Hi again @ncbob. Could you share your start and end g-code with us? I can ignore your specific tweaks values but I am interested in all the items that were able to configure. Thanks so much for your help! 🙂

  • @thing20 @phamtom009 I've linked to a compiled version of the latest firmware, I think it's 1.0.36 that has the EEPROM enabled so you can save not only the ABL but all the other settings like PID tuning etc. I've been using it for a couple of days and have had no problem and don't have to wait for the ABL anymore.

  • @phamtom009 I'm using Octoprint and Cura 4.7 but I'm able to initial a ABL with the normal G29 command. I'm also able to use the Bed Visualizer plugin to see the mesh generated by the G29 command. Also, there isn't any EEPROM in the CR6 mainboard so it's not capable of storing a ABL mesh. This means you'll need to perform the ABL each time the printer is turned off. I've just setup Cura to initiate an ABL at the beginning of each print to make sure I don't forget to do it after a power cycle.

  • This sounds like it might be the same problem I had. The bowden tube was putting pressure on the load cell when the print head moved back and forth and caused the ABL to detect incorrect z-offsets in the corners. I printed a bracket to hold the bowden tube at the top of the print head to prevent it from putting pressure on the load cell while it's moving back and forth. The bracket is available here if you'd like to try it.

  • @vandiemen311 thank you very much for sharing that - tightening up the x-axis fixed my autoleveling

  • @vandiemen311 talking about flex, during an ABL when the nozzle is pressing into the right or left side of the plate watch the opposite side of the build plate. Let me know if you see a slight upward rise in the plate? That's what I've been seeing so it lead me to ask the question on another post

  • @vandiemen311 Tried the wheel tightening solution - thanks for the idea but no improvement. Now awaiting response from Creality support. These are the five print areas I retrieved form the bed (though the near left one wasn't peelable).


  • @spauliszyn That's awesome. My z-offset is around 3.5-4.0 now but it's pretty consistent on all sides.

  • Hi @vandiemen311. My x-axis rollers seem tight. But I tried tightening the bolt that holds the back right y-axis roller. I just used the wrench on the nut just under the hot plate. That totally fixed the play in the build plate. Now I am getting all five squares on the plate but the z-offset still needs tweaking as a 0.20mm offset is not extruding anything for me.

    I'm getting there... 🙂

  • I was watching the operation video that was included on the SD card and noticed that in the auto level part of the video there was no flex in the print head...that's what caused me to check. I could tell the wheels that should be somewhat gripping the X-axis bar were quite loose, so that's what gave me the thought to try tightening them

Log in to reply