G-Wizard Calculator:
Fast, Easy, Reliable Feeds and Speeds


Join 100,000+ CNC'ers!  Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:

  • Our Big List of over 200 CNC Tips and Techniques
  • Our Free GCode Programming Basics Course
  • And more!


GCode is Complicated
G-Wizard Makes it Easy

Ultimate Benchtop CNC Mini Mill Part 4: Motion Performance

Feb 6, 2014   //   by Bob Warfield   //   Beginner, Blog, CNC Projects, DIY CNC  //  9 Comments

594037_Donkey_cartThis is the fourth installment of our Ultimate Benchtop CNC Mini Mill series.  The series is dedicated to helping DIY CNC’ers work through the design considerations and tradeoffs for their CNC Mill projects.  Here are the installments so far:

Part 1:  Donor Mill

Part 2:  CNC Mechanicals (Ballscrews and Such)

Part 3:  Close Loop vs Open Loops (Servos vs Steppers)

The next thing I want to get into is Motor Sizing, but before we can do that properly, we need to understand what Motion Performance will be required from our machine.

To put it simply, Motion Performance is how fast our feedrates need to be.  There are a number of tradeoffs to be made here.  If you don’t make the right choices, you can wind up with a machine that can’t move the cutter fast enough relative to the spindle speed to cut the materials you’re interested in cutting.  If it moves the cutter too slowly, this may result in rubbing which severely limits tool life.  Or, depending on what choices were made for the ballscrew lead, motor type, and pulley ratio driving the ballscrew, we might discover that the resolution available from the motor at the desired feedrates is not good enough for our accuracy purposes.  I’ve written an entire post about what to do if the requirements of the cut force your CNC to run too fast or too slow for the machine’s capabilities, but you’d rather not have to resort to those tricks if you can eliminate those problems in the design phase.  I like the way the donkey in the photo signifies this kind of problem where, “You can’t get there from here.”

To make sure you have the kind of motion performance you’ll need, the first thing to do is to compile a set of cutting scenarios and record the feeds and speeds that will be needed.  These scenarios should address a number of variables:

–  Material Types:  Be sure to include materials that are soft to hard unless you’re sure you’ll never be cutting certain materials.  It’s unlikely you’ll be able to cut hardened tool steel on a DIY CNC Router, for example.

–  Cutter Types:  You’ll want endmills, twist drills, and the largest indexable tooling you’ll use, such as a facemill.  This will cover a range of rpm, feedrate, and horsepower requirements.

–  Cutter Diameters:  In general, small diameter tooling wants to be spun fast and large diameter slow.  Don’t just plug in one tool size, choose several.

–  Cut Widths:  Full width plus some partial width cuts should be considered.  If we pick a minimum, perhaps 5% for a finish path, and full width, we’ll have a nice range.  The small percentage cut widths (percentage of tool diameter, BTW) trigger a phenomenon called chip thinning that requires you to speed up your feedrates.

–  MRR:  MRR, or Material Removal Rate, governs how much spindle horsepower will be needed by the cut.  We’ll want to have that information on hand to help with spindle sizing as well as to help with cutting forces, which will be something we consider when sizing the motors for our axes.

Let’s work through some example scenarios.  I like to use a spreadsheet to compile the scenarios, and G-Wizard Calculator to generate the data.  If you don’t already have G-Wizard Calculator, you can get a free 30-day trial of it.

Bridgeport-Style CNC Milling Machine

To give an example of taking a look at Motion Performance scenarios, let’s say we want a machine roughly comparable to a Bridgeport Knee Mill in capability.  It has a 5000-6000 rpm R8 spindle, depending on which clone you look at, and these mills are good for cutting anything from plastics to steel.  It’s important to know your spindle’s rpm limitations (both fastest and slowest rpms) when working through these scenarios.  Here’s what my spreadsheet (click to download) looks like:


Scenarios for analyzing the motion performance requirements for a DIY CNC Mill…

For an actual project, you’ll want to work through more scenarios, but this gives us a starting point for discussion.  What you can see from the spreadsheet is the basic performance envelope you’ll need.  The maximum feedrate is 223 IPM.  It’s required for plastics, which are soft and can take quite a lot of chipload.  We can choose to run more slowly than that, of course, but it is good to know that would be a nice number to hit.There are not a lot of feedrate numbers over 100 IPM, which is why you see so many hobby machines in that category.  High feedrates come about from soft materials and high spindle rpms.

We can also get an idea of horsepower and torque requirements, or at least understand what the stressful edge of the envelope will be.  In this case, we are using up to 3 horsepower for some of the scenarios, and the torque peak is face milling stainless steel.  Not a big surprise, stainless is challenging.  We may have to limit our width of cut on stainless.

Something to note: our Torque Peak is at 363 rpm.  That implies we will gear down our motor so that it’s max torque peak is in that neighborhood.  BUT, the counter argument is we may need even more torque to accelerate the axis, in which case we would want the torque peak close to maximum rapids we want from our machine.  What we need to do is run both scenarios and see which one requires more.  From a cutting speed standpoint, it’s hard to make a case that we need more than 200 IPM, and then only if we spend a lot of time cutting very soft materials.  100 IPM would be a more practical number from a feedrate standpoint.  Rapids can be set up to be a little faster, so maybe 120 or 150 IPM could be our target.

What About Other Machine Targets?

We can create a table of these scenarios for a variety of machines.  CNC Routers, for example, typically want to travel faster because they spend most of their time cutting soft materials and they often have very high speed spindles.  Cutting our plastic with a 1/2″ carbide endmill and a 20,000 rpm router spindle wants us to feed at 560 IPM.  With a single flute cutter, we can slow that down to 284 IPM which is still darned fast.  Different machines, materials, and tooling will have different Motion Performance Requirements, so it’s important to work through the needs for your project.

Take a spreadsheet similar to the one I’ve provided, and try working through your own scenarios.  Our next installment will show how to factor in the acceleration and cutting force requirements to the motor sizing problem.


Like what you read on CNCCookbook?

Join 100,000+ CNC'ers!  Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:

  • Our Big List of over 200 CNC Tips and Techniques
  • Our Free GCode Programming Basics Course
  • And more!

Just enter your name and email address below:

Full Name
Email *
100% Privacy: We will never Spam you!

Ultimate Benchtop CNC Mini Mill Part 4: Motion Performance
Rate this post


  • Where are the calculations that you used to come up with the numbers in your spreadsheet?

    • Brian, as I mention in the article, the calculations were done by G-Wizard Calculator. Get a free 30-day trial and you can do your own too!

  • I well be cutting foam for RC airplanes (airfoils) CNC Router type Mill. Well build as DIY. I well ask dumb questions!!!

  • Bob,

    I get asked a lot about motor sizing, but the question is typically,

    Hobbiest: “Do you think XX motor would be good for my XX mill?”

    To which I respond: “What does the table plus the vice plus your heaviest work piece weigh?”

    Hobbiest: “I don’t know.”

    In my observations, the critical error made most often in ‘hobby design’ bench mills is that the power needed to accelerate the mass of the table is an after thought, if it is considered at all. You don’t need to look very far to find a hobbiest proudly proclaiming his converted Bridgeport runs at 300IPM. The problem is that if the machine requires 6″ of travel to hit that speed, it is a useless spec that the machine will never actually achieve in production.

    Taking your example of 100 IPM, the power required to reach that speed can easily range from 200watts to several HP depending on the combined mass and target acceleration.

    The importance and role of ‘acceleration’, I think, is generally misunderstood and therefor downplayed, if not ignored altogether. Yet, acceleration is THE performance characteristic that defines and controls the ability of a machine to cut material AT a given feed rate.

    I can already hear the gasps of disbelief, but I will explain.

    Probably nobody knows better than you the importance of chipload. So I will submit that the issue clarifies if we replace the term ‘acceleration’ with ‘how far does the cutter spend at the wrong speed’? Speed and acceleration cannot be considered separately in calculating motor size. For example, if the machine is milling a 1″ x 2″ rectangular pocket at your target federate of 100 IPM, the real question is how long can it actually spend AT 100 IPM. Depending entirely on the acceleration capability of the machine, that number can range from zero to over 90%

    In a nutshell, no matter how carefully you calculate an ideal feed rate, the benefit will be realized or lost depending on how long the machine is at the wrong federate while ramping down to zero and back up to federate. I’m sure you have seen home brew stepper machines that take over and inch and perhaps several inches of travel to reach 100IPM. Such a machine can in FACT attain 100IPM, yet is should be clear that the same machine is completely incapable of cutting the pocket at 100IPM.

    Food for thought.

  • Steve, you’ve stolen my thunder, LOL!

    Next installment was going to take these target speeds and figure out the motor requirements based on acceleration.

    I agree completely, acceleration really determines the machine’s performance envelope. Eventually I will add the capability for GW Editor’s simulator to tell how fast the machine really went block by block based on its acceleration. I think people will be surprised at how often it never got to the intended speed.

  • Hi Bob.

    One of the linuxcnc users/developers did some interesting tests of mach 3 and linuxcnc motion control (linuxcnc is working on a new TP with look ahead).

    You may find it interesting. I know you like hard data.
    I point you here not to bash either software, just to show an attempt at a more-scientific comparison rather then a seat-of-the-pants one.
    Also it was interesting how he did it.
    The data does need some sifting through.

    Chris M

    • Yeah, the videos don’t tell me much that I can see, Chris. It’s kind of a pity they didn’t boil down the data a bit more as well as that I didn’t see a comparison of new/old LinuxCNC trajectory planners. All that aside, I can tell you I had all sorts of troublesome behavior when I tried to tune Mach3 to maximum performance on my servo based mill. I gave up the parallel port very quickly and went to a Smoothstepper. I can’t see using parallel port pulse generation for either LinuxCNC or Mach3, BTW, if you care at all about performance.

      I notice one of the programs referenced in the Wiki is called “rogge1”. Rogge is one of the Tormach guys working with LinuxCNC. I really like the LinuxCNC control on my Tormach CNC Lathe. I will be very interested in seeing what they can accomplish for the mill. I suspect it will be a good thing for LinuxCNC in general.



  • Yes the videos are unclear.
    The linuxcnc wiki page is better (and I think he added more info since)
    if shows comparisons of new/old linuxcnc TP as well as MACH3

    Using the technique I believe he found a small violation in linuxcnc that is now fixed.
    He noted he could see the talked of MACH pausing glitch.

    Using a hardware based stepdriver is definitely better, The timebase is more accurate (less jitter) and of course can pulse _much_ faster.
    The parport is just cheap and available – it works fine for lower performance machines.

    Yes Rogge continues to contribute to linuxcnc. We have picked up quite a few more smart and interested fellows in the last year or so. This is one nice advantage of open source – anyone can contribute at any time.

    I’ve been waiting for more info on the Tormach lathe – particularly on the screen and wizards.

    Chris M

  • Me too…:)

Leave a comment


Do you want to be a better CNC'er in 37 Seconds?

Get Better Tool Life, Surface Finish, and Material Removal Rates Fast.

It's that easy. You can install and get results in a matter of minutes.


Start Now, It's Free!



  GW Calculator

  GW Editor



  Deals and Steals

CNC Blog








     Feeds and Speeds

     G-Code Tutorial

     CNC Machining & Manufacturing

     DIY CNC Cookbook

     CNC Dictionary

CNC Projects


     Machinist's Search


     Online Groups


     Reference Data


     CNC Dictionary


     Tool Brands


     Hall of Fame

     Organization: Soon!





     Our History

     Privacy Policy

All material © 2016, CNCCookbook, Inc.