Assisted manual levelling with Marlin

  • Marlin offers a bunch of different choices for auto-levelling and assisted manual levelling for bent build plates (mesh levelling), but for the moment I want to level things completely manually.

    That is, I want to move Z to 0, disable steppers, and then move around the print head and adjust the distance between bed and nozzle at various points with a piece of paper.

    With the old Repetier based firmware on my printer, selecting "home all axes" did not only home XYZ to endstops, but it also moved the head to position (0, 0, 0) afterwards. Then I could simply disable steppers via the menu and go on with my levelling. Note that in my case, the coordinates of the endstop positions are negative for all axes, so moving to the endstops alone isn't cutting it.

    With Marlin, selecting the "auto home" option merely moves to the endstops and then to some positive Z position (+10). This means I have to use the menu to manually move Z back to 0, which is quite inconvenient, unless I have a PC nearby that allows me to enter G-code.

    So, that leaves two related questions for me:

    Is there some simple way to move to (0, 0, 0) with the menu?

    Can I implement an assisted manual levelling (i.e. some procedure that simply moves the head between a number of different X/Y positions) easily? Does something like that already exist? If not, I wonder why.

    If you move the print head manually (steppers disabled), the firmware will not be able to know its position, which is required for mesh leveling. If you just want to level corners, theres an option for that in `Prepare`. If you want to add *specific* points to the mesh easily, now thats a question!

  • Write a few pieces of gcode to do this. Place it on an SD-card (I assume you have a reader) and select the file you want to execute.

    Home all:

    G1 Z0

    Do you really want to home it directly? I would say you want to take it down slowly and adjusting end-stops incrementally.


    G1 Z10


    G1 Z3


    G1 Z1

    etc etc

    You can also move it around in the X and Y plane:

    G1 Z5 X50 Y30

  • The way I manually level my bed is by connecting a computer to the printer via USB. As far as I am aware, if you have a touchscreen this should be available on the printer options as well for marlin.

    But if you connect a computer, simply run something like pronterface or any other manual control gui and:

    1) home axes

    2) disable motors

    3) move printhead in x/y directions as necessary by hand

    4) adjust z height manually with the GUI software. This should not affect your x/y positions or turn on their motors.

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM