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




GCode is Complicated
G-Wizard Makes it Easy


Step and Servo Motor Sizing Software for CNC

May 20, 2012   //   by Bob Warfield   //   Beginner, Blog, Software  //  8 Comments


I see a lot of folks wondering what size motors they need for their CNC conversion projects.  Is biggest always best?  How fast will it go?  Lots of questions.

Because of that, I decided to put some of the calculations I routinely use into our G-Wizard CNC Calculator’s latest release (1.641).  The calculation screen looks like this:

stepper and servo motor sizing software

Let’s go through each line and see what it’s purpose is and how to use the calculator.

We start with the Peak Torque Calculation.  It’s purpose is to determine what axis speed you’ll have when your motor is operating at peak torque.  I like to make this the rapids speed for a machine so that the peak is matched to the fastest motion.  To calculate the axis speed at peak torque, enter the following:

–  Motor Torque Peak:  Ideally, you’ll get this looking at a power curve from the manufacturer.  If you don’t have one, I suggest trying 2000 rpm for steppers and 3000 rpm for servos.  Most manufacturers can provide you with this information and it is worth having.

–  Motor Drive Pulley Ratio:  If the motor directly drives the leadscrew, enter a value of “1”.  Otherwise enter the ratio of the pulleys.

–  Leadscrew Lead:  This is the number of units (inches or mm) per revolution the screw will move the axis.

From this information, G-Wizard will calculate:

–  Motor Turns per Inch of Motion (or mm of motion):  This tells how many revolutions are needed to move the axis one unit.

–  Peak Torque Axis Speed:  How fast the axis will be moving when the motor hits its peak torque rpm.

In general, you should assume this will be the absolute fastest you’ll be able to run your CNC, and you may have a hard time achieving this number due to a variety of factors.  If the motor’s torque can’t apply enough force in a short enough period of time, the axis may not accelerate fast enough to reach the speed before it gets to end of travel.  Or, your cnc controller may not be able to generate enough steps per second to command this much speed.  More on this in a moment.

The second section is all about Resolution.  Resolution is a measure of the smallest motions your system is capable of.  Note that it may not be capable of performing such small motions repeatably, which would mean its accuracy is less than its resolution.  In no event will accuracy ever be greater than resolution.

To calculate the resolution information, we need two values:

–  Steps per revolution:  Most steppers use 200 steps per revolution, but you should see what your manufacturer says.  For servos, it is a function of how many steps per revolution the encoder has.

–  Microsteps:  While your stepper drive may accomodate very fine degrees of microstepping, it’s wise to remember that you lose a lot of torque the more microsteps you use.  Consider the following when you select how many microsteps you can actually count on:

Microsteps/full step Holding Torque/Microstep
1 100.00%
2 70.71%
4 38.27%
8 19.51%
16 9.80%
32 4.91%
64 2.45%
128 1.23%
256 0.61%

As you can see, that 256 microstep resolution is an illusion–there’s only 0.61% of holding torque available at that resolution.

This entry has a different purpose for servos.  Most servo encoders are quadrature encoders, which means they generate 4x the pulses their resolution would imply.  So we enter a “4” under microsteps for these encoders.

Given this information, G-Wizard will calculate the following:

–  Full step resolution:  How far will the axis move on a full step?

–  Micro step resolution:  How far will the axis move on a micro step?  This is essentially full step resolution for servos.

–  Steps per unit:  How many step pulses are needed to move the axis an inch or mm?

–  Steps per second at max torque motion:  This is a critical value as it tells you the pulse frequency your CNC software has to be able to provide to drive the axis at peak torque speed.  Mach3 users can run a driver test to determine what the maximum reliable speed is when using the parallel port.  Above a certain pulse speed, it’s hard to get reliable motion unless you have a motion control board, such as a Smoothstepper. If this number is higher than what Mach3 reports as your maximum reliable parallel port speed, you’ll want to get one of those boards.

The last value we can calculate is the maximum following error before the system will report a servo fault.  For example, my machine uses Gecko 320 drives for the servos, and they fault if the axis falls behind by 128 pulses.  So, I enter 128 and it tells me my system will fault if the axis falls behind the commanded position by more than 0.0045″.

This calculator is not a full sizing calculation.  I think of it as more of a sanity check.  But, it can be helpful as you’re looking at various motor options.  In the future, I’ll probably add more bells and whistles to it.


G-Wizard Calculator

Take Control of Your Feeds and Speeds.


Try It Now!


Like what you read on CNCCookbook?

Join 40,000+ Machinists, Designers, Engineers, and Hobbyists!  Get our latest blog posts delivered straight to your email inbox once a week for free. Just enter your email address below:


100% Privacy: We will never Spam you!


  • […] Added a simple servo and stepper motor sizing calculator under Quick Reference. Check out the new Motor calculator tab. I’ll add more there over […]

  • Dear all,

    Thanks a lot for your information.

    Best Regards,

  • Hello,
    Thank you for the informative post. You may also be interested in this post: Servos or Steppers? – http://rexrothindramatsupport.wordpress.com/2012/08/20/servos-or-steppers/
    via http://indramat-us.com
    Thanks again

  • You say “While your stepper drive may accommodate very fine degrees of microstepping, it’s wise to remember that you lose a lot of torque the more microsteps you use”.

    Either you misunderstand or you aren’t explaining it very well. The torque you develop is proportional to the angular difference between where you want it and where it is. The more torque you apply, the further from the target it will be. If there is no torque required to overcome the resistance etc, it will position exactly where it should be. Microstepping doesn’t affect that at all.

    The maximum motor torque for a given motor is completely unaffected by the number of microsteps. And the developed torque per degree of angular error is also unchanged.

    However, with more microsteps, the movement will be less jerky due to the higher resolution and the surface finish should be smoother. You may find that your controller or breakout board is limited by the max frequency of drive pulses, so increasing the number of microsteps may reduce the maximum motor speed. But you could always choose to upgrade your system if that is the case.

    I hope you haven’t confused too many people!

    • I don’t know Muzzer, telling people if you require no torque to be exactly where you should be microstepping will be fine sounds a lot more confusing than telling them that the more microsteps they use the less torque is available. To each his own, but I don’t think you’re going to “un-confuse” anyone with that explanation.

  • The torque available to position on a microstep is not the full torque. We can dance around this 26 different ways, but if you design your system on the assumption that you have the full torque at the resolution of the microsteps you’ll be sorry. Don’t take my word for it–there are endless other articles you can Google that will tell you the same thing. Here is just one of many: http://www.micromo.com/microstepping-myths-and-realities

  • Coolerooney – the charge pump isn’t used to increase the motor voltage, it’s needed to drive the power MOSFETs. The driver won’t work without the charge pump circuit but other than that it isn’t actually increasing the motor performance in any way.

    Cre8ivdsgn – it doesn’t matter if you drive it with no microsteps or thousands of them. If your motor is unloaded, the rotor will pretty much follow to exactly where it is told. Once you load the motor, there is an angular error and this error is basically proportional to the torque applied. That error is independent of the number of microsteps and is simply down to the motor design.

    I was a little surprised to see the suggestion that stepper motors have a peak torque at around 2000rpm. In fact they tend to have a peak torque at stall (0rpm) and the torque falls off rapidly with increasing speed like most motors. The curve is normally a constant power characteristic. Of course, this means that changing the ratio between the motor and leadscrew may affect the stall force you can generate but won’t change the maximum feed rate you can apply with a given cutting load. Choose the power rating of the motor to give you the feed rate you need under load (= force x speed) and the ratio to generate the maximum (static) force you need.

    Yes, I’m an electronics engineer with 30 years of designing and applying power electronics, drives and motors for volume production.

Leave a comment


G-Wizard Calculator

Take Control of Your Feeds and Speeds.


Try It Now!



  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 © 2010-2014, CNCCookbook, Inc.