X_min Endstop not working

Hi, I am new to the world of 3D printer and had my Geeetech I3 Pro c for about a week. Its fully built now and Im eager to start printing but have a issue with my x axis endstopper. When I the x axis in pronterface it goes to the left and just keeps on going and makes a horrible grinding noise until i turn it off. I tested it using m119 and when I hold it down it remains open, the Y and Z stoppers work fine and go to triggered when I hold them down. I switched the wiring around and noticed it just seems to be the X_min that isn’t working and I have even got it working using X_max making me wonder if I should just home it to that and put the stopped on the opposite side?? I will paste my endstop and homing config below and any help would be greatly appreciated, Thanks

//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses “false” here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.

// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE

// @section homing

//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed

#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, …
// Be sure you have this distance over your Z_MAX_POS in case.

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

Is there a reason this is set to true ?

its set to true only because when its set as false M119 reads it as always triggered, but I don’t think its making a difference as when set to true it reads as always open even when im holding the end stop down and testing.

Have you tried disconnecting the x min endstop and checking it with a meter to make sure it’s not a bad switch?

1 Like

I solved this issue by playing around with the M119 and inverting sections, thanks for you help. But I now have an issue where my x axis is homing the wrong way but moving in the right way when im using the directions on my laptop and printer :confused:

Can you repost your firmware configuration?

Is your end stop at Max versus Min where you want to change the homing direction from -1 to 1?