ciao, finché posso ti aiuto, ma ho anche io i miei limiti , in Configuration.h trova questa sezione :
#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 195
#define X_MIN_POS 0
#define Y_MAX_POS 195
#define Y_MIN_POS 0
#define Z_MAX_POS 260
#define Z_MIN_POS 0
#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0
#define X_HOME_POS 0
#define Y_HOME_POS 0
#define Z_HOME_POS 0
porta a true : #define min_software_endstops, cosi facendo dici al programma di settare la posizione minima dell'asse a livello software, quando avvii arduino, la posizione dell'asse in quel momento è 0
poi in // The position of the homing switches setti i mm che vuoi che si sposti l'asse,
a mio consiglio credo che sia un po troppo macchinosa questa procedura, sei sicuro che gli endstop non siano difettosi?