So you need an Arduino stepper motor for your next project? Check the best available stepper motors fitting Arduino shields and drivers, plus a list of available kits.
Stepper motors are becoming mandatory for controlling movement in the physical world. Almost any robotics project requires one, along with a microcontroller. Their main advantages include the ease of use, their affordable prices, rounding few tens of dollars (or even less), and the simple operations involved.
These qualities make stepper motors ideal for getting started in robotic projects. However, their versatility allows their application for more advanced users. But which one should you choose? Are all of them alike? To find out more continue reading.
If you haven’t got the proper Arduino, please take a look here:
Stepper motors are Direct Current motors, mostly known as DC motors, which move in discrete steps. This means that they rotate one step at the time. The rotation is a result of the magnetic current induced by an electrical current, which is generated inside of the motor.
Stepper motors have multiple coils organized in phases. The steps for the motion are computer controlled. They can achieve precise positioning, speed control, and low-speed torque with high precision through the steps.
The motors have 48 outer and inner teeth. In order to magnetize the inner teeth, the motors contain 8 separated coils. Four steps will be created by the magnetic field that results from the electrical current. Multiplying the number of teeth (48) by the steps (4), the motors get 192 steps per rotation, equivalent to a rotation of 1.8° per step. This type of stepper motor is the most common, known for the full steps (200 steps/rotation).
Due to their unique design, stepper motors can be used with a high degree of accuracy without requiring any feedback mechanism. The motors could in principle be moved mechanically, but for real tasks, a driver must be included in the system. Hence, the system consists of a microcontroller driving the order, which will result in an electric current in the driver. This controls both the step and the direction of the motor, which will generate a magnetic current driven by the electric discharge. Discrete steps will result in a smooth and controlled position, ideal for high precision tasks, such as 3D printing.
There are two types of stepper motors: unipolar and bipolar. For each motor, different circuits are required.
Unipolar stepper: This motor works with one winding with a center tap per phase. Each section of the winding is switched on according to the desired direction of the magnetic field. The magnetic pole can be reversed without switching the direction of the current. Note that these motors are less available in the market compared with bipolar ones, given that their efficiency is only up to 50%. This is a result of the unipolar steppers having twice as much wire as they can use at one time.
Bipolar steppers: In these motors, there is only one winding per phase. A more complex circuit is required to reverse the magnetic pole, given that the current in the winding needs to be reversed. This means that it usually needs an H bridge arrangement. Yet, bipolar motors are more powerful than unipolar ones. They are recommended for more sophisticated tasks, and also are more expensive than the former.
So… which one should I use?
Here’s a brief comparison to help you choose the correct motor for your project. When following a guided project, you will certainly get detailed information on the components required.
Pro Bipolar: Unipolar motors will only use half of the winding at a given time, while bipolar uses the entire winding. The last one uses a bidirectional current flow. As a consequence, torque will be greater in bipolar motors than in a unipolar one. Additionally, the thinner coil wire in unipolar motors implies that more wire is needed. this last factor increases the resistance in the motor. Its implication is higher power consumption.
Pro Unipolar: In favor of the unipolar motors, these motors are simpler to use and so require an easier circuit. Additionally, they are cheaper and will use less of your driving board’s capacity.
Therefore, according to your current proficiency level and budget you should decide for one or the other. Affordable motors of each type are readily available, as you can get our budget selection below. Additionally, forums and communities online can offer great support overcoming your beginner doubts.
According to Arduino.cc, the hardware required for an Arduino Stepper Motor includes:
To run your stepper motor you will need to code your Arduino through the open-source Arduino IDE environment. It runs on Windows, Mac OS X, and Linux. The environment is written in Java. This is required to control the steps per revolution, speed, and directionality (backward and forward) and the step type, such as single, double or micro steps. Micro-steps refer to a movement in a fraction of a step, which results in a smoother motion between steps.
Fortunately, both the kits readily available for purchase and those aimed to be customized and DIY, have provided extensive codes online. Yet, you will need to change the parameters to your specific motor’s needs. For more advanced users, optimizing the code is also a possibility. However, some coding experienced (or patience to learn on the run) is required. As a common place to start, refer to the communities’ suggested set up and customize according to your needs.
The Arduino Motor Shield Rev3 is based on the L298, a dual full-bridge driver. It is designed to drive inductive loads such as relays, solenoids, DC and stepping motors. The Arduino Motor Shield Rev3 includes some great features, like driving two DC motors, while controlling the speed and direction of each motor independently.
The Arduino Motor Shield Rev3 is a great choice both for beginners and advanced users, given its large community and specialized forums, which is definitely a good place to look for feedback and technical support anyway. Additionally, the shield is TinkerKit compatible, which means that you can easily plug modules on the board to create projects of different complexity.
This is an upgraded version of the original Adafruit Motorshield kit. This kit includes the essentials for your next robotics project, including Adafruit’s motor, stepper and servo shield for Arduino. The stepper has kept the ability to drive up to 4 DC motors or 2 stepper motors. Given its lower voltage drops, you get more torque out of your batteries.
A fully dedicated PWM (Pulse-Width Modulation) driver chip has been included. This ensures compatibility with every Arduino, including Uno, Due, Leonardo and Mega R3. The Adafruit kit will ensure that your project starts off on the right foot having all the essentials.
Adafruit kit can run up to 2 stepper motors (unipolar or bipolar) with single coil, double coil interleaved or micro-stepping.
HiLetgo L293D is tested compatible with Arduino Mega, Diecimila and Duemilanove. This motor’s driver shield can drive up to 2 stepper motors forward and reverse control. It has single and double step control and stagged or micro-step and rotations angle control are possible.
Its features include a 4-way H-bridge in which the L293D chip, which provides 0.6A (peak 1.2A) current per bridge with thermal shutdown protection of 4.5V to 36V. Additionally, HiLego includes a reset button and 2 large external power terminal to ensure logic and motor drive power separation.
This is a commonly used DC motor drive module, tested compatible for Arduino Mega, Diecimila & Duemilanove.
The Qunqi L298N is a dual channel H-bridge working at high efficiency. With L298N as the main chip, it can drive a 2-phase stepper motor, one 4-phase stepper motor, or two DC motors. Performing at high working power to 46V, a large current can reach 3A MAX and continue a current up to 2A, with the power to 25W.
Bear in mind that to avoid damage in the voltage stabilizing chip, an external 5V logic supply should be used when applying more than 12V driving voltage. Increasing reliability is achieved by using large-capacity filter capacitors and diode with freewheeling protection function.
Great customer support, dozens of positive reviews, and good quality-to-price ratio make this driver a safe go for your projects.
Dual-channel H-bridge driver working mode creates higher working efficiency, L298N as main chip, ST corporation production. It can drive one 2-phase stepper motor, one 4-phase stepper motor or two DC motors.
The Seeed Motor Shield V2.0 is a driver module for motors, which allows you to control the working speed and direction of the motor with your Arduino. Given its Dual Full-Bridge Drive Chip L298, this shield is capable of driving two DC motors or a stepper motor. It can either be powered by Arduino or by an external 5V to 15V power supply.
Some of its features include being Arduino and Seeeduino compatible, the LED enable indication and LED rotation direction indicator, and the overcurrent turn-off and overcurrent protection. The Seeed Motor Shield V2.0 can be used for the development of microrobots and intelligent vehicles, among others.
Driver module for motors that allows you to use Arduino to control the working speed and direction of the motor.
Estimating the project’s holding torque should give you an idea of which motor you will need, given that the decisive factor when looking for a motor should be the specific project requirements. Hence, our list is organized according to the holding torque of each motor. The holding torque refers to the torque that the motor will produce when the motor is at rest and the rated current is applied to the winding.
More variations of these models are available online, but we stuck with the low-budget ones. Note that the unipolar motors are less common than their bipolar counterparts. Once selecting a suitable motor for your project, you should look for an appropriate driver. For a thorough look into stepper motors and their drivers, check this comprehensive Arduino forum post.
What is it? A great first stepper motor, good for experimenting with stepper motors in small projects with a tight budget. This motor has 32 steps per revolution (11.25°), with a 1/16 reduction set. These gives 513 steps per revolution. It works well with Arduino’s Motor Shield.
However, note that the stepper can be turned by hand but not as smoothly as an un-geared stepper. Single or double stepping should be used instead of micro-stepping. For 5V, it’s best to stay under 25 RPM.
Stepper type? Unipolar
Holding torque? 1.5 N⋅cm
How much does it cost? $4.95
Where can I get it? Adafruit
What is it? This is a high precision unipolar Nema 17 stepper motor. With a 0.9° step angle, hence 400 steps per revolution, this stepper motor can be handy if you have chosen unipolar. Note that unipolar motors don’t come across quite as easily as bipolar ones. This motor, however, offers a 0.31 A at 12 V, allowing for a 16 N⋅cm (22.7 oz.in) holding torque.
Stepper type? Unipolar
Holding torque? 16 N⋅cm
High precision unipolar Nema 17 stepper motor.
What is it? This stepper promises to satisfy all of your robotics needs. The stepper motor Nema-17 bipolar stepper has 1.8° per step thanks to its 4-wires. As a result, a smooth motion together with a good holding torque is obtained. The motor has been reported to drive smoothly at 50 RPM.
Stepper type? Bipolar
Holding torque? 20 N⋅cm
How much does it cost? $14.00
Where can I get it? Adafruit
What is it? With 200 steps per revolution, 1.8 degrees per step, this Nema-17 42 Hybrid Stepper Motor is a 5 mm Round Shaft two-phase four-stepper motor. Note that the stepper motor cannot be directly connected to the AC frequency or DC power supply work. T
Stepper type? Bipolar
Holding torque? 30 N⋅cm
Hybrid Two-Phase Four Line Stepper Motor
What is it? This is a high-quality Nema 11 Stepper Motor. with a step angle of 1.8° (full step), this stepper motor has a current of 0.67A. With a motor length of 45mm, an inductance of 4.9mH, and rotor inertia of 12, this motor offers a great quality vs. price relation. Make sure to connect your motor to constant current before your test it and do not connect it directly to a power supply.
Stepper type? Bipolar
Holding torque? 9.319 N⋅cm
2 phase 4 leads Bipolar 0.67A 45mm 28 DC step motor
What is it? Advertised as the most complete performance starter kit, this kit promises to contain all the essential Arduino products, including one Arduino UNOR3 board, one stepper motor, and one stepper motor controller, amongst many other essentials to get your project complete.
This is a complete starter Kit for Arduino. It contains the most common and useful electronic components to start an Arduino project.
What is it? This kit includes five stepper motors, five driver boards and 1 Dupont cable male to female. It is a cheap kit with many satisfied users. Do consider it for beginner projects.
Diameter: 28mm, Voltage: 5V, Stepping angle: 5.625 x 1/64, Reduction ratio: 1/64. 5-wire 4-phase can be driven with an ordinary uln2003 chip can also be used in conjunction with the use of two-phase development board. It can be directly pluged, easy to use stepper motor in the development board.
Now that we know about the stepper motors and their drivers, let’s take a look at their capabilities. Here are some projects built with a stepper motor. They are either available to DIY by 3D printing the parts, or the kits can be fully purchased and assembled at home. Their difficulty level can vary, but in principle, they should be doable with some experience in programming and robotics, or with a lot of patience.
Tons of projects are out there with varying levels of difficulty and budget. Give one a try!
What is it? Designed to encourage logical thinking and technical curiosity in a fun and engaging way, the EMoRo Kit is ideal for robotic competitions and educational environments. It is Arduino compatible and aims to give children the opportunity to learn the basics of microcontroller programming and robotics.
On a technical basis, it’s aluminum resistant chassis and solder-free design make it a suitable set for educational environments while being long-lasting. On a pedagogic basis, its compatibility with a wide range of component from common construction kits, together with the possibility to use LEGO Technic, Eitech and Fischertechnik part, make EMoRo flexible and customizable. Moreover, it allows for the easy connection of components like servo motors, sensors, relays and displays without requiring solder or tools. At the same time, its design includes safety features like step-down regulators, thermal shutdowns, under-voltage lockouts, and overcurrent protection.
These features make EMoRo friendly for beginners while being flexible for advanced users. Its coding is done via Arduino IDE, with code libraries available for beginner and advanced users.
What is the price? $139
Where can I get it? Arduino Store
What is it? An EggBot is a compact, open-source art robot aimed to draw on spherical or egg-shaped objects. Its adjustable design is thought to draw on things that are usually regarded as impossible to print on. It is a great start for CNC (computer numerical control) or DIY robotics.
For its assembly, you will need two stepper motors with 200 steps per revolution, two stepper motor drivers, an Arduino, power supply for the steppers, a microserver, and a few other things. You can look at our step-by-step guide.
How much does it cost? EggBot starts from $220, but a DIY version can turn way cheaper than that.
What is it? This Holoclock can be 3D printed as a DIY project, or you can order the geared stepper motor kit. It is a simple clock based on a single geared stepper motor from Nippon. The motor is a 1:10 geared motor working at 18V with a 3 mm shaft. It uses a single motor, which is driven by an ATtiny2313 and L293dd circuit with the code written in Arduino IDE.
The build uses a single motor to move the hour and the minute rings. The programming instructions are available in GitHub.
How much does it cost? $60 to purchase, files to print are available for free
License: The text of "Best Arduino Stepper Motors in 2019" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.
Subscribe to updates from All3DP
You are subscribed to updates from All3DP
You can’t subscribe to updates from All3DP. Learn more…