A new way to probe the print bed (bed leveling)


It seems like this issue is fixed.
Although it may need an edit? I uploaded the new firmware last night and after it did the last probe with the auto bed level it started beeping and stopped moving. It would not go to the retract position. I had to comment out the section in marlin_main.cpp

for(int k=0;k<10;k++)
tone(BEEPER, 1000);

After commenting this out, it worked great and the X axis did not bottom out when it was done with the bed leveling.

So apparently my X axis was not at 15 like it expected.


I thought I’d mention, the default start.gcode in cura caused my z-probe pinion to crash into the bed and drag around, damaging the z-endstop and possibly my pinion. It would be great if there was a note about this somewhere, and possibly some sample start/end gcode in github or on here.


@schubes that shouldn’t have happened - the firmware is responsible for keeping track of the position of the probe and should be retracting it after any homing move. I will investigate, but do you happen to know what the default gcode sequence is?


I don’t know the exact sequence as I replaced it with posted code from another user somewhere on the forum, but I think it might be due to the fact that all axes were moved to 0 (in the o.g. start.gcode) before the G29 command was sent, so x went to zero, engaging the pinion, then z went to 0, crashing it into the bed. I believe since this was a simple move command, the firmware might not have interfered. With new start.gcode, everything is fine, except for some slop in the z-probing until I replace the endstop.

EDIT: From the reprap wiki, I think this is the default code:

G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F9000 ; Put printing message on LCD screen
M 117 Printing…


I finally did it! Printed the new parts, assembled them, and updated the firmware. Worked on the first attempt. Well done Marty! Here is a video of my auto bed level. Works great although seems like more movements vs what should be necessary. https://youtu.be/X4UDBgxL2Rk


I think I figured it out, as it happened again. It looks like if z is at 0 when I start an autolevel from the lcd, it doesn’t raise the z axis enough to make space for the pinion to fully engage. Is there a way to tweak the g29 command to raise z some more before starting the autolevel routine?


What about switching the motion of the pinion so that the probe is lowered from the high x position? Then you could home x without lowering the probe.


So this ABL method isnt without flaws it seems. I manually levelled the bed then proceeded to run a print and it ofcourse done the ABL sequence etc. I seem to get uneven first layer results as it cannot probe the bed close to the end of it.


Over all I’ve found the rack leveling system to work very nicely.
However I did notice that when my X axis is at 10mm the rack would be come slightly engaged. Enough that I had to take a file to the rack slide and file down about 1 mm of material and that solved that.

I hit the opposite end and took off about 2mm so tension is taken off the X access belt at X200

I can probably fix a few things with some spacers to edge the outside supports a few mm either way but all in all I’m happy.