# 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
M420 Z0; Z fade
M900 K0; LA

• Hi Jack, I've rearranged your question. Please note that the stated G-code is not relevant at all, you can leave it out (good you did because it has a lot of instructions on it that can be deleted). It is perfectly fine that the nozzle homes Z in the middle of the plate, this is how it is instructed to do in the firmware. The most relevant part is what your firmware settings are, so please link to the config file on PasteBin for example, other members will be able to use this for an answer and update your question.
– 0scar
Apr 18 at 5:42
• I did try to re-compile and upload that firmware and I tried a test print this morning. The same thing happened, only this time, because the homing problem is so bad, the printer head assembly banged into one of my binder clips and snapped my EZABL mount. So now I'm really out of commission until I get this figured out. I was able to post my configuration on textuploader: txt.do/ts4zt Apr 18 at 16:33
• 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.
– 0scar
Apr 20 at 6:28
• Okay, I sent a command to the printer from Cura to home X and Y. It homed Y correctly, but X did not; the print head is positioned just a little right of the center of the bed. I shut down Cura, opened Arduino, and sent M119, and it shows both x_min: TRIGGERED and y_min: TRIGGERED. This is correct for Y, but not for X. I then used the printer's console to auto-home. It functioned correctly, ending up in the middle of the bed as it should, and all axes endstops are showing "open". Just to be sure, I repeated this process, and it worked correctly again. Maybe the problem is with Cura? Apr 20 at 14:16
• Maybe you can try again (if Cura is the problem) and write this as an answer! You can even accept it after 48 hours.
– 0scar
Apr 20 at 18:06