This blog is for entertainment purposes only, and is not meant to teach you how to build anything. The author is not responsible for any accident, injury, or loss that occurs as a result of reading this blog. Read this blog at your own risk.

Thursday, December 29, 2016

CNC mill conversion - part 27

Limit switch covers 

One thing I put off for a long time since I installed the limit switches on the mini-mill, was fabricating covers for them. While the switches have been working reliably for a long time, I do get the occasional chip and coolant spray hitting them, and I’m sure this might end up creating a problem eventually.

Since I now own a 3D printer, I thought it might be a perfect opportunity to make something useful with it, and knock one more item off my to-do list.

I developed a “neutral” design, basically a box around the switch, then modified it as needed for each individual axis.

Generic switch cover

The Z axis needed to have the wires coming out of the side, so I changed the hole location in the design.

Modified cover fitted to the Z axis limit switch

Wires coming out of the back side

The Y axis needed to have the wires come out of the back, but a couple of mounting bolts were in the way, so I removed the rear and bottom faces completely, so that swarf and coolant could not accumulate within the switch case.

Y axis limit switch cover

Rear and bottom sides removed

A few minutes of testing of these two covers proved the concept a complete success, but now it would be on to the “difficult child”... the X axis.

I have to admit, I have been plagued with some issues stemming from my choice of X axis limit switch position. I still think the concept is sound, but the implementation had some unintended complication, the biggest one being the tendency of the roller to occasionally snag one of the GIB’s adjustment nuts (seen below underneath the switch's red case) bending the switch's arm into a pretzel. I was never able to engineer out this issue satisfactorily.

Old X axis limit switch mounting

Another problem with my X axis envelope extension scheme was the lack of mechanical stop on such axis, which meant I could actually drive the XY table off the mill. 😱 

The reason I removed the left stop plate was to gain more X axis travel, so important on such a small machine, but that made the limit switch even more critical, since an over-travel condition would entail the ball-nut separating from the ball-screw and spilling the ball bearings all over the shop floor, a mistake that has cost me quite a few tear downs, and a full day of reassembling with each occurrence.

I decided to start from scratch with fresh ideas. Here’s the best one I came up with for a new and improved switch limit cover/end stop...

Hard to believe I have talented painters and sculptors on both sides of my family.

This addition to the XY table is supposed to function as the mount for the limit switch, as well as the occasional mechanical stop (hopefully never to be needed). The switch would fit in a recess carved under the 3D printed body, and would cut power to the X stepper motor at the end of the table's travel. The addition to the table should also protect the switch from debris
Here are some CAD renderings of it...

XY table extension

Switch limit recess

Switch limit mounting

Wiring hole

The high-def part should take 30 hours to print, so I started out by printing a rough, low infill unit that only took 4.5 hours to print. While it does not have some of the later refinements, it is dimensionally identical to the final design. 

The biggest challenge after taking it out of the 3D printer was clearing the support material from inside the over 2" deep mounting holes. I was able to rip most of the counterbore support material with long tweezers, but finally resorted to ream them to 0.499". This worked very well, and was super quick. 

The ways turned out very tight, so much so in fact that I had to use a rubber mallet to tap them on to see if they'd fit, and could then barely move them by hand. After running the table along the X axis a bit, they wore in nicely. 

Testing for drag in the ways (without limit switch)

It turned out that the low density infill rough ABS print was no match for the stepper motor, because the first time I tried to gently run the table into the new mechanical stop, it cracked the print along the deposition lines (YZ plane). I easily fixed it with acetone (acetone melts ABS and it can be used as a glue of sorts) and I was back up and running in no time, perhaps the denser final print will be stronger. Unfortunately, the easiest way to print this part also makes it the weakest under an overrun condition. 

I will look into replacing the two M6x1.0 mounting screws in favor of long bolts, and machining a steel plate to be fitted on the far left side of the extended bed. This should add a lot more strength to the assembly.

Anyway… the next step was to mount and test the X axis limit switch...

Limit switch mounted and wired up

Some of the plastic behind the roller had to be trimmed back to allow full range of motion of the switch arm, then I amended the final design to account for this.

This is one tight fit!

The wires were well supported by the plastic, and no changes were necessary there...

Wires exiting the 3D printed cover

Here are a couple of shots of the mini-mill referencing the X axis...

Referencing the X axis

Same thing but at a slightly different angle

I am super happy about these results so far. 
I've been struggling with broken limit switches for some time, and this new design avoids that issue completely, and affords me over 2 extra inches of safe X travel, all the way up to just prior to the ball-nut coming apart. In addition, it protects the switch from chips and spray, and keeps the wires tucked out of the way as well. 👍🏻👍🏻

While I was still testing this initial print in everyday use, I started implementing a few of the changes in my CAD model, including a way to drain chips and coolant from the XY table. 

Added a drain channel

All inner hard corners removed to facilitate drainage of coolant, and cleanup of chips.

Counterbore of screw holes removed, long bolts added, steel plate fitted in a face-wide recess in the plastic.

About the same time I gave the Zortrax M200 the command to print the final high-def part, FedEx delivered the steel plate, and I got on it right away.

Milling the steel face plate

Two days later the print was done.

This printer is a truly awesome tool to have

Here's the new limit switch holder / bed extension

There were a couple of spots where I did get some light warpage, but since it didn't affect the usability of the part, I  installed it anyway.

The corners pulled back a little

This has never happened before, I wonder if the garage got too cold at night.

The steel plate fit perfectly in the recess, and the long bolts were spot on.

The plate didn't require any modifications

The long bolts stick out just enough

I love the look of the new bed extension, it seems more expressive compared to the previous version.

Out with the old, in with the new.

Looking right at home

I filled up the space between the rails to make the print sturdier.

The new print (on the right) is much stronger

Testing the new bed extension

Time will tell how this part holds up, but I feel confident it should give many hours of trouble free service.


  1. Your X-axis limit switch mounting is very similar to what I did on my mill: https://blog.familjenjonsson.org/blog/2015/12/27/cnc-mini-mill-8-limit-switches/

    The CNC Fusion motor mount plate works a lot like your 3D-printed part, and I cut a recess in the bottom and mounted the limit switch there. It's worked very well.

    1. Your mill looks awesome Patrik, you do great work. Were I to do it again, I'd go with CNC Fusion too, and save myself 6 months of headaches.

    2. Thanks, it's been working out great. However, the offset Z-axis is causing some trouble. I'm contemplating making something like your Z-axis to avoid the tendency to cock the head to the side when moving up/down. The problem is that the motor on the LMS HiTorque models seems larger than on your model, so there's not much space to mount the ball screw like you've done.

    3. I'm sure you already have Patrick, but I would double check your Z axis GIB. With the side mounted ball-screw it would be more critical than in my machine, and could cause the head to want to tilt. I you have not yet, try snugging it up and see how it does.