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.

  • $\begingroup$ 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! $\endgroup$ – mikezter Nov 25 '19 at 11:04

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.