Sorry For my bad English. I will start to make a mini conveyor (100 cm x 30 cm) with an Arduino Uno.

What is the best motor should I choose for my project ? - Stepper Motor ? - DC Motor ? Etc.

Please help me, I am Newbie.

  • If you want to control how much the conveyor moves and want to move it a fix distance then stop and move again stepper would be better as you know that each step is equivalent to a certain amount of displacement. Stepper have the disadvantage that is more complicated to control so you will need a special driver.
  • If you want the conveyor to move continuously at a approximately speed or moving approximately, then DC motor is a good option. It's easier to drive. But if you want the conveyor to go back and forward then you will need a H bridge for the DC motor(similar to the driver for the stepper motor). Also you can get very accurate positioning with a DC motor using a rotary encoder, but it requires a complex software to drive it properly.

I second the suggestion that a stepper motor might be a more suitable drive mechanism. There are a lot of stepper motors for sale on line for very low cost that can provide great accuracy. They are an amazing value, probably because of so many robotics projects to supply. Their native accuracy can be enhanced many times by use of what is called a "micro-step" driver. The micro-step driver can transform a stepper motor that has 200 native steps per revolution to one that effectively has 2000 or more steps per revolution. I have found repeatability to be excellent. They are used commonly to drive precision CNC machines.

And you are correct that if you don't need the fastest motion, a gear reduction can enhance accuracy even more. There are small stepper motors with affixed gear boxes sold as sets. Consider a size NEMA 17 stepper motor for a small and inexpensive, but well engineered, motor.

A coupled worm gear box has the advantage that it serves as a natural brake if there is any tendency for system weight to move the laser in certain positions, but gear reduction means that fast motion require higher motor rpm's.

The Accel_Stepper library has worked well for me in helping to get them to function smoothly. It helps a lot to make it easy to integrate the stepper with Arduino, and it is fairly user-friendly.


Not the answer you're looking for? Browse other questions tagged or ask your own question.