# Limit Switch problems on RAMPS 1.4 and custom built 3D Printer running Marlin 1.1.0-rc6

So I am trying to fix a custom built 3D printer for my institute and am running into a problem I can't wrap my head around.

So the limit switches for Y-axis and Z-Axis work just fine, but the X-Axis does not.

All three switches are Makerbot (3-pin), and all three light up the LED when they get pressed. However the X-axis does not get recognized by Marlin. When I diagnose with M119 command it does not show as triggered even though the LED is on. All the other ones do.

All three switches are connected to min (X-min, Y-min, and Z-min).

Could this be a firmware problem? Or perhaps my RAMPS 1.4 has burned out the X-axis signaling? (I doubt this because the LED on the switch still turns on).

Let me know if you need any more info to diagnose the problem.

P.S. I have also replaced the X-Axis limit switch with a brand new one and the same result happens: LED turns on upon activation but it doesn't get recognized by the machine.

Considering you're having issues with the board, and the limit switches appear to be registering, but the board isn't doing anything about it, a first good step would be to update the firmware to 1.1.9 as @0scar states. If the update in the firmware doesn't do the trick, then move on to doing as he suggests with changing the Xmax/min stuff around. This just seems like a good first logical step to getting it fixed.

To rule out problem with the switches itself, you can change the Z-min and swap it with the Y- or Z-min. Once you found out that you get the same issues you know that your X endstop module is working (unless they both are faulty, but the odds are small for that), but the signal change is not registered by the board. This could be a faulty port/pin of the X-min port / attached microprocessor pin. What you could do to try to diagnose that is using the X-max header on the board. In order to use that header for X-min, you need to change some code in pins_RAMPS.h, change:

//
// Limit Switches
//
#define X_MIN_PIN           3
#ifndef X_MAX_PIN
#define X_MAX_PIN         2
#endif


to:

//
// Limit Switches
//
#define X_MIN_PIN           2
#ifndef X_MAX_PIN
#define X_MAX_PIN         3
#endif


Recompile and upload. Please use the latest sources, 1.1.9, 1.1.0 is very old.

• very old doesn't mean that don't work, I have 2 3D printers with 1.1.0 working fine. – Fernando Baltazar May 30 '19 at 6:23
• @FernandoBaltazar Very true, but considering the many changes since 1.1.0 it is way more easy to get support as most people tinkering are using newer versions. Also newer releases contain bug fixes. – 0scar May 30 '19 at 7:14