Adding a microswitch for top of Z travel stop

I saw some where, where someone had added a microswitch to the top of Z travel.
Has anyone got details of how to do this and what is required.


Are you wanting to use it as a homing switch or just a fail safe to prevent over extending the z?

Just as a fail safe, was my thought, I hadn’t thought of using it as a homing point, but that would make it quite high I guess. How would that work when you change cutters and have to reset ht. My Z screw is 8mm pitch, so would move reasonably quick.

Homing would be difficult on the current shield because there are no connectors for that purpose. If you wanted it as a fail safe, you can wire your switch into the power lead on the z-axis motor harness. This would require a microswitch that is “always closed” and hitting it would open the circuit and interrupt power to the z-axis motor.

Again, this would only be as a fail safe situation and could lead to you restarting your cut due to the z-axis needing to be manually lowered to regain power to the z-axis motor.

given that the bits have different amounts of stick-out, using it to determine
cutter height is not a good idea.

But if we were to have support for G52, G54, etc, having the Z axis home to the
top of travel and the system know what that is, even while you then touch off
for the coordinate system you are cutting in. Then the system would be able to
know when you are hitting the downward limits of your travel and not try to go
too far.

Yet another reason we really need to have someone implement the coordinate
system codes (or switch to a different base that already understands them)


we have pins available that we could use for this.


Actually it would be pretty easy to wire into one of the existing auxiliary ports! If your are serous about this I think we can make it happen pretty easily. Just as a fail safe you could just put it in line with power to the z-axis motor and then if the limit was hit the motor would stop


Just as an over run stop was my idea at the top of travel.

I Know you can’t just put a micro switch in line on the motor power wire, or you won’t have power to drive it back down again. You would need to reverse the polarity somewhere.

So if it can be incorporated, it would be great and I am sure useful to many. My 3d printer has one on each axis and uses them to set home. We don’t need that as home though. I don’t really know much about the control boards, so no idea what is required to do this.

Thanks Bar and Dlang

1 Like

Had this issue with a D.C. linear actuator once. We installed a diode with the limit switch so on reversing polarity the motor reversed. Worked for our application.

1 Like

Yes I have done some work with linear actuators, that will still require reversing the polarity externally to drive it back, then switching back to normal mode. It may be the simplest answer though.

This is the best goal IMHO, there shouldn’t be a need for a physical switch.

you can use the same wire as the Z axis zeroing, if you hit it when moving up,
you hit the Z travel stop, if you hit it when moving down you are now at Z=0 for
the bit.

David Lang


you still need the physical switch, this is just a diode across the switch so
that the switch only interrupts power in one direction.

But I would do a sensor, not just a switch, the firmware should know that it hit
the limit.

David Lang

This is a really good idea. Fewer wires and fewer connections to make

The firmware routine watching for over-travel would need to know that the G38.2 gcode was using that AUX pin.


why would one need a physical switch?

Why couldn’t GC set and store a ‘Negative Z-axis Limit’ as part of the calibration routine?
The value would typically be fixed by the router/base installation. As I see it, having the user set it by hand at installation/calibration gives an easy margin of error (+1mm). There could also be a Z-axis slop/error measurement/notice/alert by running back and forth to a z=0 probe.

1 Like

The problem is that you don’t know where you actually are on the router,
especially after an interrupted cut or power outage

David Lang

Hello All,

I have read over many difficult threads involving the conversation of limit switches, micro switches, and/or integrated firmware fail safes for z-axis over travel. Has anyone taken the opportunity to try and develop/validate a firmware solution? Just thinking out loud here, after a power outage couldn’t a history file be stored on the computation device and backup power be supported by using a typical CR2032 battery of memory source storage? I may show my naive natural here but my old desktop computer had this amazing ability to remember what time it was even after a power outage.

The reason why I ask is b/c I’m, as well as many people, interested in enhancing the z-axis accuracy of the router base and after reading the many threads I though that perhaps it would be a good idea to integrate a fail safe to prevent z-axis over travel. I’m not sure if proximity sensors would be an option here but perhaps there is something else I’m not thinking of.

Thanks for the support.


Unfortunately, with time and some health constraints, I haven’t had much time with the Maslow of late, so haven’t been up with developments with this. I know from personal experience, its an issue where I jammed mine travelling too high trying to get travel to change a bit. Hopefully some one will incorporate something soon.


While I have switched out my Rigid z-axis for a c-channel axis, I am still planning to motorize the router base for use in a router table. I am planning to use optical endstops with a thin piece of aluminum as the beam break. I will likely mount the sensor to the depth adjustment tab so that it moves and the beam break remains stationary. For my purposes, a small microcontroller will take care of both input and detecting the top and bottom limits. For the Maslow it would likely be better to use two sensors to simplify implementation (and therefore use a moving beam break). Dust may be a concern, though.