Do you hate constantly readjusting the end stop? Have you basically stripped out the screw because none of your screwdrivers quite fit the screw provided? Do you feel like you're going to break the vertical support post every time you try to adjust the home height?
If so, this mod is for you. This is the first mod I did and it is a lifesaver. I don't have to tweak the home position every single print and, when I do, it's pretty simple because I just adjust the pot on the sensor until I get the right height using a feeler gauge.
The first thing you'll need is a hall effect sensor. I used the Hall-O from here. Buy the 9 euro version unless you want to do your own surface mount soldering:
As an alternative, this should work as well:
Wire it up
Next, you'll need a connector and some wires. The switch on the Robo is two wire and they only provided a two wire connector. Fortunately, these are cheap from Pololu.
You'll want a pack of these:
and a pack of these:
Solder these to the end stop and then proceed to the next step.
Red wire to 5V
Black wire to Ground
Yellow Wire toe Signal
Slot them into the 1x3 connector as Red, Black, Yellow and then plug it into the RAMPS board. The red should line up with the + symbol
Mount the sensor
The hole width for the switch holder is not the same as my hall effect sensor. I will eventually design something for this but, for now, I just used one screw with a nut below and above the sensor. See the picture.
You'll need some way to mount the magnet. I started by taping the magnet to the end of the bolt but quickly created the attached file for holding the magnet. You'll need to tap the threads for the bolt portion to match the end stop trigger bolt. You'll probably need to back the endstop screw quite a ways back for this to work. Before you insert the magnet, go read up on this sensor and notice that you need to bend the tip 90 degrees and the magnet only works one way. If you insert it into the magnet holder backwards, it will not work.
Program the controller
You'll need to make the following change to Configuration.h. On the version, I'm using, this starts at line 256.
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
Note the "true" on the Z Min endstop?