# How can I get my printer to home correctly?

I have a Creality CR-10 with EZABL (bed leveling sensor). I'm not sure what prompted the printer to think the center is the origin.

The printer homes in the dead center of the bed to start the auto bed leveling process from there; it seems to think it's doing that at X=0, Y=0 (when the printer receives the command to auto-home and it's already positioned at the center of the bed, it interprets that position as X=0, Y=0.). I've got it set to probe the bed at 9 points, in a 3x3 grid, it starts in the center (as in: it doesn't move to the X and Y endstops), then moves to the right and grinds hard against the right side, then grinds hard against the back. I'm not sure what to do, I've already tried recompiling and uploading and even resetting to firmware defaults with M502. How do I get my printer to home correctly?

Here's my start G-code:

M75 ; Start Print Timer and Engage Fil Sensor if USB Printing
M84 E ; Disable E Motor for probe accuracy on direct drive systems
M117 Antiblob retract...
G92 E0 ; Reset Extruder distance to 0
G1 E-2 ; Retracts filament to prevent blobs during probing
G92 E0 ; Reset Extruder distance to 0
M117 Homing All...
G28 ; home all axes
M117 Homing Z Probe...
G28 Z ; home z again
M117 Generating mesh...
G29; auto bed leveling
M117 Heaters Recovering...
G4 S10; wait for heaters to recover

• Have you checked the endstop status with M119? You need to connect a console. If the endstops are thinking to be triggered, they won't allow movement in the direction of the endstop, only the other direction. If you move the carriage manually to another position, the printer probes from there? If the endstops are never hit, the printer does not know what coordinates it is at, presumably it assumes it is at 0,0 as the endstops are triggered.