DC Motor or Stepper Motor

Hello guys,

For my current project I want to make an automatic drawer unit. There are a couple of ways to do this I guess, but I think the cheapest way is to do it with a motor. Since I am a bit new to electrical motors I have some questions regarding which motor to use for my project.

3 drawer sliders with each approximately 15 - 20 kg of weight. The total extended lenght is around 29 inch. The drawer needs to be extended by a motor and hold its position at the very end of the slide and the very beginning.

  1. Use a DC Motor with (industrial) limit switches on both sides; will the motor hold at the 2 positions? Or is the holding torque almost nothing?

  2. Use a Nema17 Stepper motor, driver and an Arduino RAMPS to program the beginning and end position? Is is posibble to read inputs with this? So if I puss a button; the drawer will extend or vice versa? I guess also for this I a need one limit switch to define its zero position? The holding torque is much higher than the DC motor?

  3. Servo Motor, but this one will only rotate 180 degrees on both direction right?


  1. DC motors do not have a holding torque. However, you might consider implementing something like a worm gear to prevent backdriving.

  2. It is not possible to read the position of a stepper motor without an additional sensor like an encoder. However, since a stepper motor has to actually be given a signal to take each step (usually with a driver and microcontroller) you could just keep track of all the steps it takes. Like you said, you can also use limit switches to determine when it reaches the ends (which could be used to calibrate position). Stepper motors generally do not have a lot of torque, so if you choose to use stepper motors, you should make sure that the motor has enough torque for your application.

  3. Standard Hobby Servos do not rotate 180 degrees, or 180 degrees in both directions (360 degree range). If you want to learn more about hobby servo, you might find this series of blog posts on hobby servos helpful.

You might also consider using a linear actuator to automate your drawer unit; many have built in limit switches. We do not have any linear actuator that can extend the full 29in, but you can check out our selection of linear actuators to see if something would work for you. You can use our jrk motor controller with feedback to make controlling a linear actuator with feedback easier.

- Grant

Hi Grant,

I bought some Nema17 (Pololu item #: 2267) stepper motors with some A4988 (Pololu item #: 1183) at Pololu. And an Arduino Mega

Is this driver (a4988) able to to drive the Nema17 motor I bought? What about the powering of the motor ( on the webshop page of the stepper motor it says: “Each phase draws 1.7 A at 2.8 V”) The driver however has an Input voltage between 8 and 35 V. The driver controls the voltage that is given to the stepper motor?

Also, what is the key difference between the A4988 and the DRV8825? Because you state: “Our DRV8825 stepper motor driver carrier is probably the best option for this stepper motor.”

You should be able to drive that motor with those drivers by limiting the current to only 1A (the maximum current per channel that the driver can handle without external cooling). However, by limiting the current to below the rated current of the stepper motor you will also be reducing the torque you can get from the motor.

When matching a current limiting driver with a stepper motor, the current rating of the motor is the more important rating to consider. As long as you are current limiting properly, you can supply the driver with more voltage than the motor is rated for. You can read more about this in the first FAQ under on the product page for that stepper motor driver.

The DRV8825 is probably the better option for use with that stepper motor since it can deliver more current than the A4988. You can see more about the differences between the two drivers in the “Key differences between the DRV8825 and A4988” section at the bottom of the DRV8825 carrier’s product page.

- Grant


I just had it working :slight_smile: I will go for the DRV8825 to have a higher current and to be a bit more safer for LC spikes. I was wondering, what is the lifetime(always powered) of such a driver? And what about the Nema17 stepper motor his lifetime(always powered)? I am trying to make an industrial design.



We do not have lifetime characterized for the DRV8825 stepper motor driver or our stepper motors. However, some of our customers have used them in commercial designs and industrial settings, and we have not heard of them having issues.

The stepper motor driver board is just a carrier board for the DRV8825 stepper motor driver IC, and all the information we have for the IC is from its datasheet. If you have questions that aren’t covered by the datasheet, you might try contacting the manufacturer for additional information. The datasheets for our stepper motors are also available, but do not contain information about their lifetime, so you might try contacting the manufacturer for the steppers motor as well.

- Grant