I needed to make a couple homing switch plates for a small desktop CNC I built, so I thought I would make a little workflow to help others.


The Part

The part is a small plate .75" x 1.75" x .0625". It has a couple slits to mount a roller switch and hole to attach it to the CNC.

The slits are for fine tuning, but the whole thing can be adjusted by moving the bolt holding the plate.



CorelDraw is my goto CAD package for doing parts like this.  Adobe Illustrator, or any CAD package for that matter will work, as long as it has an object export that is compatible with your CAM software.

In Corel, I design the part full size, and often use small CAD designed shapes or objects to help me position things.

In this case I used a small switch model for the roller switch I will be using.  I use these switches alot in my designs and this little model makes it very easy to layout the mounting holes.

Once my part design is complete I export it using a format that my CAM software can use. In this case I could use DXF or EPS.

EPS works better as the DXF, does not create complete circles. This is more a issue with CorelDraws implementation of DXF than with the DXF format its self. I have used DXF with other CAD software packages without issues.



I'm using VcarvePro as my toolpath designer (CAM). I like Vcarve because it is very intuitive.  I have used other packages for various reasons, but really try to use Vcarve when I can.

To start a part based on a DXF or EPS file just start Vcarve, and drop the drawing file on to the open window.

You will be presented with a screen something like the screen shown here. Here you can set some of the properties for the stock you will be using.

One important setting is the XY Origin Setting.  This allows you to setup how you want to reference your part.  In this case I want to reference the part via the center. 

By referencing the center, all I have to do is make sure my bit is centered in my stock and then Zero the X and Y axis. (More on this later)

If you were machineing holes in a part that is aready cutout, you would most likly refference the lower left corner.  In that case you would have to make sure your bit is centered on that corner of your stock.

The first toolpath is the inside cutouts of the part.  This part is simple so all the cutouts will be part of one toolpath. If I were doing a pocket or a drilling operation, I would create separate toolpaths for each operation.

The following feeds and speeds are what I will be using for this cut.

  • Spindle RPM: 24000
  • DOC: .02
  • Feed: 20 IPM
  • Plunge 20 IPM with .5" Ramp
  • Conventional Cut

The cut will be a conventional one about .002 shy of the target so we can clean it up with a finish cut.  Normally I would be using a .005" allowance offset, but the slits are a little to tight for that.

Please note that the above feeds and speeds a particular for the bit I am using which I will go into a little later.


The second toolpath will be a finish path for the inside cuts.  Here I will take the bit the full depth of the stock and slowly cut out the small amount of material I left in the previous toolpath.

Feeds and Speeds:

  • Spindle RPM: 24000
  • DOC: .125
  • Feed: 10 IPM
  • Plunge 10 IPM with .5" Ramp
  • Climb Cut

This cut will be a climb cut for a better finish.


The last toolpath is the outside profile. The previous two cuts were on the inside of the drawing lines. This cut will be on the outside of the drawing lines.

Feeds ans Speeds:

  • Spindle RPM: 24000
  • DOC: .02
  • Feed: 20 IPM
  • Plunge 20 IPM with .5" Ramp
  • Conventional Cut

I'm not using any tabs, and because the part will be machined out of a piece of square tubing stock, it will just fall free when the cut is complete. Note that the air blowing on the part helps with this.

The downside of not using any tabs is that we cant do a finish pass on our part.


The last step in the CAM process is to save our toolpaths. Here I have selected all the toolpaths and am saving them to a file called "X Home Plate.txt"


Mach 3

I start Mach3 and load the saved gcode file "X Home Plate.txt"

Once the gcode is loaded, I get a window with the gcode text on the left and a window with the actual toolpaths on the right.

The toolpath drawing can be very helpful at identifiing problems, so get in the habit of looking it over when ever you load a file.


Mounting the Stock

I'm using some 1" square aluminum tubing that is 1/16" thick.

Notice how it is raised a little using parallels.  This is important as the bit will be edging ever so slightly outside the tubing. If the top of the tubing was flush with the vise, I would probably break the bit when it hits the vise.  At the very least I would mess up my vise jaws.

Even when using flat bar stock, you must take this into account.  If I was using some 1/8" or 1/16" flat bar stock, it would need to be 1.5" deep as I not only need to stay away from the vise jaws, but the parallels the stock is sitting on as well.

In this case using square tubing and raising it above the jaws works perfect, and I can get away with milling 1" deep stock.


The Bit

The bit I will be using is an 1/8" Onsrud 63-610 O-Flute bit.

This bit was designed to be used milling aluminum.  And while its a little price for such a small bit, I have yet to find one that works as well for its size.

You can pick one up here:

Onsrud 63-610 O-Flute

I mount the bit as far into the collet as I can without grabbing any of the flutes.


Setting the X,Y, and Z axis

X and Y

Since I referenced my part in the center when I created my toolpaths, I need to do so in Mach3.  I move my tool to the center of the stock and hit the Zero X and Zero Y buttons.  This set the X and Y points to zero where the bit is currently sitting.


Setting the Z axis is easy if you have a probe.  Just place the probe plate under the bit and hit the probe button.  The bit will seek out the plate and automatically set the bit to the top of the stock.

If you dont have a probe, you will have to slowly move the bit down until it just touches the stock, then hit the Zero Z button.

Now your ready to cut the part.


Running the Job

A few things first.  If you dont have computer controlled spindle, make sure you have started the spindle and set the speed before starting the job.

I also like to make sure my blower and lube system is working before starting.  If you dont have a blower, this part will probably still mill ok, since it is so thin. If you dont have a lube system, you can use a small oil squirter to apply some lube from time to time.

There are two types of lube I like to use. The first is the Trend Tool and Bit Cleaner.

I use this if I have to lube manually from a bottle. 

If I am using my automated or push button activated system, I use some Sta-Lube Soluble Oil.

This lube is mixed with water, so its much more cost effective and works very well.

To start the job, hit the "Cycle Start" button. If you need to pause the job, you can hit the "Feed Hold" button. Note that the spindle will continue to spin.  If you need to stop the job, you can hit the stop button.


Workflow Video

Here is a video I did of my workflow.  It also shows the milling of the part.



My part turned out very well.  I only had a tiny little clean up where the part fell away from the stock.  A little rub on a fine sanding sponge did the trick.

I will use the exact same procedure to mill my other switch plates as well as other small parts I need to make.

The Onsrud 63-610 bit is a real work horse. You can see in this vedeo, I can push it twice as fast and it still performs.

Im not pushing the bit that fast as, they are a little pricey and if something goes wrong, things can go south very fast if you pushing the bit.

For the same reason, I am also using more lube than I normally would.  This helps keep the bit from dulling prematuraly.


Going Further

I had one more switch plate to make. It will be used to replace this acrylic one I laser cut earlier. While the acrylic homing switch mount worked perfectly, it was prone to movement or damage if bumped.

The CAD drawing was again done in CorelDraw and exported as an EPS so I could import it into VcarvePro.



Again the EPS file was dropped onto an empty Vcarve screen and I set the stock properties.

In this case since I will be machining it out of a pre-cut piece aluminum stock, I set the reference points to the lower left corner, as shown here.

The cuts were made using the exact same settings as before.

As were the finish cuts. The only difference being the thickness of the part.

The toolpaths were saved and loaded into Mach3


Setting the X,Y, and Z axis

I will be setting my X and Y reference points to the front left corner so I start by touching the bit to the left side of the stock as shown here.

I then set the X DRO to -.0625 (half the diameter of the bit.


The bit is then moved to touch the front side of the stock as shown here.

I set the Y DRO to -.0625 (half the diameter of the bit.

The Z axis was set by using my probe.


The Job

With the file loaded into Mach3 and the axes set, I can run the job.

These process are certainly not the only way of making parts like this.  I present it here for you as starting point for your own projects.