How to Choose Stepper Motors for your CNC-Guide

How to Choose Stepper Motors for your CNC-Guide

How to Choose Stepper Motors for your CNC-Guide

Trying to make sense of the Torque, RPM, NEMA specifications of stepper motors can be overwhelming when building your CNC.

It's easy to make mistakes while choosing one and end up with an overkill or an underpowered setup.

This article is for hobbyists and DIY enthusiasts to help you choose the right stepper motor that meets your project and CNC router requirements.

I have discussed a shortcut method for beginners that helps you choose a stepper motor for your build quickly. In the end, I also discuss the various factors you need to keep in mind while selecting a stepper motor for your build.

Quick Method to Choose Stepper Motors

If you need a method that works and quickly gets the job done you can use this.

However, it poses a slight risk in that you may not be able to extract the full potential of your build.

The method is rather simple, look for a CNC router on the market with similar features as your build.

Keep in mind these important parameters while picking a similar CNC machine.

  • Its gantries should have roughly the same weight as the gantries of your build
  • It should have the same linear drive components for each axis
  • The size of the machine should be similar ( similar footprint and work area)
  • The weight of the spindle must be similar

If you can find a CNC machine that is similar to your intended build you could go with the stepper motors that it uses.

Additionally, you could go through the review of the product you found to find out whether the performance matches your requirements.

Precise Method to Select Stepper Motors for your CNC

Choosing a stepper motor for CNC is about finding the right motor that can provide you with the right torque and speed performance.

Based on your requirements you might need to sacrifice torque for speed or speed for torque.

Another point to note is that a CNC is only as powerful as the weakest link in the system.

This means, there's no point in using a heavy stepper motor if the rest of your CNC components aren't rigid enough to transfer the large force.

It can even be catastrophic in some cases.

Stepper motor with controller
Stepper motor with controller

Speed (Feed rate)

The maximum feed rate that you can achieve on your build depends on various factors like frame rigidity, linear drive mechanism, and of course the motors you use.

For optimum performance choose a motor that produces optimum torque at the RPMs that you arrive at based on your calculations.

When I say optimum torque it does not mean that the motor should produce maximum torque at the said RPM. Because the torque is always going to be low at high speeds.

High torque is only required when you want to start something from rest, for keeping the gantry moving you do not require the maximum torque of your motor.

Belt drives and Rack-Pinion Drives

Calculating motor RPM for pairing with belt drives or rack and pinion drives is straightforward.

You can measure the linear travel that happens when the pulley on which the belt rests rotates once using markings and tape.

Additionally, you can also measure the diameter of the pulley and find its circumference.

For a rack-pinion drive, you can turn the pinion and measure the travel.

Once you have that, you can divide the feed rate you require by the linear travel per turn of pulley or pinion and you will arrive at the RPM required for your stepper motor.

Let's say you use a belt drive with a 1" diameter pulley coupled directly with your motor. The circumference of the pulley is 22/7 inches ( 22/7 x diameter).

To achieve a feed rate of 150 inches per minute the pulley needs to turn at around 50 RPM.

However, practically you use gears or other components to couple a belt drive with a motor, and the number of turns that the motor needs to complete to turn the pulley is often more.

So, you can consider the number of turns the coupling needs to make to turn the pulley once and multiply it with the number of turns the pulley makes to achieve your desired feed rate and you'll get the RPM of your motor.

Lead Screws and Ball Screws

Stepper motor with ball screw
Stepper motor with ball screw

To understand how to calculate RPMs for lead screws and ball screws, let's go with an example. Consider a lead/ball screw with a 2 mm pitch.

What it means is that for every one turn of the lead/ball screw the nut will move a distance of 2 mm linearly.

Let's say you need a feed rate of 150 ipm, which is around 3810 mm per minute. Divide it by the pitch and you'll get 1905, which is the number of times a 2mm pitch lead screw needs to turn to achieve a feed rate of 150 ipm.

If you are coupling your lead screw directly with your stepper motor you'll need a stepper motor that has good torque at 1905 RPM.

However, almost all stepper motors for DIY and hobbyist CNC purposes have a torque curve that drops really low above 1000 RPM.

If you still need the speed, you can go for gears that will improve the speed at the cost of reduced torque or change the drive mechanism and use a belt drive or rack and pinion drive.

You can also use lead screws with a higher pitch. For example, if you use a lead screw with a 4 mm pitch you can achieve 150 ipm with a stepper motor that has good torque at 950 RPM.

However, using a lead screw with a large pitch compromises resolution. Typically, stepper motors for hobbyist and DIY applications have a resolution of 200 steps.

What this means is that if the pitch on your lead screw is 10 mm the least possible distance you can move the axis is 10/200, which is 0.05 mm or 0.002 inches.

You can improve this resolution by using the microstepping feature supported by stepper motor drivers.

Finding the Torque

Torque vs RPM of a typical NEMA 34 stepper motor
Torque vs RPM of a typical NEMA 34 stepper motor

Torque is what keeps the machine turning. It depends on various factors like the drive mechanism, the linear guides, the weight of the spindle, the weight of the gantries, and the material being cut.

You can measure the torque needed to move the axes easily. After you finish setting up your linear motion elements you can attach a thread to the shaft that connects to the motor.

Make sure the thread is attached tangentially to the coupling and then tie the other end to a fixed spring balance or scale.

You need to then try and turn the shaft pulling on the scale and note the scale value at which the shaft starts to turn.

Multiply this with the radius of the coupling at the place where you attached the thread and you have the minimum torque required to move the axes.

Another way is to attach a wrench to the shaft where you intend to attach the motors and then use a kitchen scale or bathroom scale to turn the wrench with the open end of the wrench resting on the scale.

Make sure the scale touches the tip of the wrench and not in between.

Note the reading when the shaft begins to turn and divide the value by the length of the wrench, you'll have a rough value for the torque required to move the shaft.

As stepper motors are open-loop controlled add a torque margin of at least 50% to prevent the motor from missing steps, if you wish you can add a 100% or more margin.

Let's say you need around 20 oz-in to get your gantry moving, select a motor that can provide more than 30 oz-in or 40 oz-in torque at starting speeds.

The torque and RPM are one of the main parameters that determine the performance of your build. However, there are other parameters that you need to consider while selecting the right stepper motor.

You might be interested in this- Best Stepper Motors for CNC [2021]

Other factors to Consider while selecting Stepper Motors

Size of CNC

The size of your build can be directly linked to the motor size. This is because as the size increases, longer and hence heavier are the gantries.

So, in order to move heavier gantries, you need powerful motors. Additionally, when you are working with large workpieces the faster the CNC works faster is the production.

Stepper motors come in standard sizes and these standards are called NEMA standards. It specifies the frame size of the motor.

It does not tell anything about the performance of the motor, but usually, a larger motor means it has more windings meaning it is more powerful than a smaller motor.

In hobbyists and DIY CNC applications we mostly use NEMA 17, NEMA 23, and NEMA 34. What this sizing means is the distance between the centers of two adjacent mounting holes.

A NEMA 17 motor will have holes placed 1.7 inches apart, a NEMA 23 will have it 2.3 inches apart.

There are larger stepper motors like the NEMA 57, but we rarely see them on CNCs built for hobby or small business purposes. They are typically used for very high loads.

NEMA 17 Stepper Motors

For desktop CNC routers with a work area under 1.5' x 1.5', you can go with NEMA 17 stepper motors. NEMA17 steppers are available with a holding torque of around 70 oz-in.

NEMA 17 steppers are mostly preferred for engraving and foam cutter applications as they require less torque to keep the cutting bits moving.

Additionally, the cutting equipment used in such applications is not heavy and the gantries are light hence you can do a good job with a NEMA 17 motor.

NEMA 23 Stepper Motors

These motors are available with holding torque that can go up to a maximum of 300 oz-in of holding and are suitable for CNC machines with a work area of up to 4' x 4'.

On well build machines, NEMA 23 can achieve a rapid speed of up to 500 inches per minute.

NEMA 34 Stepper Motors

You can get NEMA 34 motors with maximum holding torque of around 1500 oz-in. You should prefer these motors for CNCs with a cut area larger than 4' x 4' and with all-metal gantries.

It can be used on large CNC routers with aluminum and steel chassis for rapid speeds of around 1000 inches per minute.

A typical example is the Avid CNC PRO 4x8 CNC router which uses NEMA 34 motors in its most advanced version.

They are also used on the Z-axis of heavy benchtop mills.

NEMA 34 960 oz-in and NEMA 23 420 oz-in stepper motors
NEMA 34 960 oz-in and NEMA 23 420 oz-in stepper motors

Do you need a Servo Motor or Stepper Motor- Servo vs Stepper for CNC

Holding Torque

Holding torque is the force required to move the shaft of the motor when its coils are energized. Holding torque of a stepper motor is a significant factor to consider when building a CNC machine.

The holding torque of the motors is what keeps the gantry in its place and prevents it from moving out of position due to external forces while cutting.

For example, ball screws are prone to be back-driven, meaning the load can drive the ball screw in the reverse direction.

This can be seen in cases where you use a ball screw on the vertical axis to hold heavy spindles. The weight of the spindle can pull down the ball screw and the entire vertical axis gantry comes crashing down.

This issue is usually solved by using a stepper motor with sufficient holding torque to prevent the ball screw from getting back driven.

So, choose a stepper motor with enough holding torque to keep your gantries locked in place under load.

Linear Drive Mechanism

Different linear drive components have different characteristics and you need to find the right stepper motor that goes with the linear drive mechanism that you chose.

Belt drives have the least amount of friction and are easier to drive than other drive mechanisms. Belt drives require lower RPMs which means you can use timing belts to trade RPM for torque.

Lead screws have friction and require more running torque than other drive mechanisms. So choose a motor with sufficient torque at the RPM you need for your intended feed rates.

Additionally, you should not go for very high RPMs on long lead screws, this is because long lead screws are prone to whipping when turned at very high RPMs.

For ball screws, you need more holding torque than what you'd need with other drive mechanisms to prevent the ball screw from being back-driven.

With rack and pinion drives, the issue is that in most cases there is no torque conversion taking place and you need a motor that has good running torque performance as well as a good holding torque.

Linear Guides

Linear guides are the component that directs the motion of the gantry. Typically, in the hobbyist domain CNC router, we have three types of linear guides, V-wheels, linear rails, and linear bearings.

Among these three the V-wheels have the least amount of friction, followed by linear bearings and linear rails.

Based on what kind of linear guide you choose to use you will need a stepper motor that can easily overcome the friction and move the linear guide.

Workpiece Material

Different materials have different hardness and required appropriate application of force on the endmill to cut through them.

Based on the material you intend to process on your CNC build, the stepper motor required may vary.

If you are making an engraving machine or a CNC router that cuts soft materials a NEMA 17 stepper motor may do the job.

For a CNC router that cuts wood and occasional aluminum, you should choose a NEMA 23 stepper motor to achieve good cut speeds.

If you need an entry-level professional setup that can cut metals, you need to go for NEMA 34 variants or higher to get optimum performance.

Current and Voltage Rating of Motor

The voltage and current rating of a stepper motor will give you an idea of how powerful it is. Additionally, you will also need this data to choose the correct driver for your stepper motors.

A rule of thumb is, higher the current higher is the torque of stepper motors. However, this also means you will need drivers that can handle the currents required by the stepper motor.

It can be said that the price of stepper drivers is proportional to the load they can carry. So, choosing a stepper motor with a higher rating than required should be avoided to keep the costs down.

Step Count

Stepper motors move in increments of angle called steps. Most manufacturers will mention the number of steps the motor makes per revolution.

Typically, stepper motors available for DIY applications have a step count of 200. What this means is that the motor will make 200 steps to complete 360 degrees of rotation of the motor shaft.

Which is 1.8 degrees per step, this is the least amount by which you can increment the shaft position. However, by using microstepping techniques you can increase the steps and decrease the step angle.

Finding the right stepper motor involves finding the right balance between the factors I discussed.

You may want to go for the most powerful motor that you could get, but if all that power is never to be utilized by your machine, there is no real benefit of spending the extra money.

However, if you intend to upgrade in the near future you may choose more powerful motors than what is needed. However, for beginners, I suggest smaller and less expensive motors as they are financially easy to replace in case you damage one while learning.

About John

Hey I'm John. I talk about CNCs and Power Tools at Mellowpine. I'm a CNC hobbyist who has been making CNCs and writing about CNCs for a while. I currently also work as a consultant for business owners and hobbyists setting up their own CNCs. If you have any questions related to CNC, I'd be happy to answer them. Reach me at

DIY Profile

Hey I'm John. I talk about CNCs and Power Tools at Mellowpine. I'm a CNC hobbyist who has been making CNCs and writing about CNCs for a while. I currently also work as a consultant for business owners and hobbyists setting up their own CNCs. If you have any questions related to CNC, I'd be happy to answer them. Reach me at

Thanks for signing up.
Some error occured. Please try again.


Add Your Comment