Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

7 May 2010
Author: Giorgos Lazaridis
How Stepper Motors Work

To learn and understand the principle of operation of the stepper motors, to me is very important. A stepper motor is always the simplest, cheapest and lighter solution for accurate positioning systems. It this article, i will explain how the stepper motors are made, and how they work. It is necessary to have some very basic knowledge for the operation of DC motors to follow this article. I suggest you read first How DC Motors are made and how they work.

What is a stepper motor?

First of all, a stepper motor is a motor. This means, that it converts electrical power into mechanical power. The main difference between them and all the other motors, is the way they revolve. Unlike other motors, stepper motors does not continuously rotate! Instead, they rotate in steps (from which they got the name). Each step is a fraction of a full circle. This fraction depends mostly from the mechanical parts of the motor, and from the driving method. The stepper motors also differs in the way they are powered. Instead of an AC or a DC voltage, they are driven (usually) with pulses. Each pulse is translated into a degree of rotation. For example, an 1.8o stepper motor, will revolve its shaft 1.8o on every pulse that arrives. Often, due to this characteristic, stepper motors are called also digital motors.

First of all, you may want to see the videos with the 3d model of a stepper motor, that i explain how it is made and how it operates:


A very basic stepper motor

As all motors, the stepper motors consists of a stator an a rotor. The rotor carries a set of permanent magnets, and the stator has the coils. The very basic design of a stepper motor would be as follows:

There are 4 coils with 90o angle between each other fixed on the stator. The way that the coils are interconnected, will finally characterize the type of stepper motor connection. In the above drawing, the coils are not connected together. The above motor has 90o rotation step. The coils are activated in a cyclic order, one by one. The rotation direction of the shaft is determined by the order that the coils are activated. The following animation demonstrates this motor in operation. The coils are energized in series, with about 1sec interval. The shaft rotates 90o each time the next coil is activated:

Driving modes

In this section, i will explain the various ways that the coils are energized, and the results on the motors shaft.

Wave drive or Single-Coil Excitation

The first way is the one described previously. This is called Single-Coil Excitation, and means that only one coil is energized each time. This method is rarely used, generally when power saving is necessary. It provides less than half of the nominal torque of the motor, therefore the motor load cannot be high.

This motor will have 4 steps per full cycle, that is the nominal number of steps per cycle.

Full step drive

The second and most often used method, is the Full step drive. According to this method, the coils are energized in pairs. According to the connection of the coils (series or parallel) the motor will require double the voltage or double the current to operate that needs when driving with Single-Coil Excitation. Yet, it produces 100% the nominal torque of the motor.

This motor will have 4 steps per full cycle, that is the nominal number of steps per cycle.

Half stepping

This is a very interesting way to achieve double the accuracy of a positioning system, without changing anything from the hardware! According to this method, all coil pairs can be energized simultaneously, causing the rotor to rotate half the way as a normal step. This method can be single-coil or two-coil excitation as well. The following animations make this clear:

Single-Coil excitation Two-Coil excitation

With this method, the same motor will have double the steps per revolutions, thus double the accuracy in positioning systems. For example, this motor will have 8 steps per cycle!


Microstepping is the most common method to control stepper motors nowadays. The idea of microstepping, is to power the coils of the motor NOT with pulses, but with a waveform similar to a sin waveform. This way, the positioning from one step to the other is smoother, making the stepper motor suitable to be used for high accuracy applications such as CNC positioning systems. Also, the stress of the parts connected on the motor, as well as the stress on the motor itself is significantly decreased. With microstepping, a stepper motor can rotate almost continuous, like simple DC motors.

The waveform that the coils are powered with, is similar to an AC waveform. Digital waveforms can also be used. here are some examples:

Powering with sine wave Powering with digital signal Powering with high resolution digital signal

The microstepping method is actually a power supply method, rather than coil driving method. Therefore, the microstepping can be applied with single-coil excitation and full step drive. The following animation demonstrated this method:

Although it seems that the microstepping increases the steps even further, usually this does not happen. In high accuracy applications, trapezoidal gears are used to increase the accuracy. This method is used to ensure smooth motion.



  Email (shall not be published)


Notify me of new posts via email

Write your comments below:
BEFORE you post a comment:You are welcome to comment for corrections and suggestions on this page. But if you have questions please use the forum instead to post it. Thank you.


  • At 1 April 2016, 17:42:53 user vanjre wrote:   [reply @ vanjre]
    • Dear sir
      I request how to stepper motor connect plc and how to program in delta eh2

  • At 20 January 2016, 11:04:35 user Matija wrote:   [reply @ Matija]
    • Great effort. Great explanation. I got good understanding from this. Thank you.
      <a href="http://blog.poscope.com/stepper-motor-driver/"></a>

  • At 25 November 2015, 14:11:12 user PARTHIBAN,G wrote:   [reply @ PARTHIBAN,G]
    • Dear sir,
      Thank you for gave the information about stepper motor works.
      I understood the principle of working with the help of animation.
      G.Parthiban, Kalpakkam.

  • At 20 October 2015, 11:46:29 user Mike D wrote:   [reply @ Mike D]
    • Awesome, thank you. I did find it just a bit slow for me but that is because I knew some of this before coming here.
      That said it has given me a great deal of new knowledge and insight that will help me connect up my first stepper motor and have it actually work.
      Thank you again.

  • At 28 August 2015, 10:48:17 user sugiarto wrote:   [reply @ sugiarto]
    • thanks for this great stepper motor explanation.

  • At 10 August 2015, 13:17:08 user A. Pishvaie wrote:   [reply @ A. Pishvaie]
    • It was so great.
      Thank you

  • At 6 April 2015, 16:42:24 user Skfir wrote:   [reply @ Skfir]
    • Got so much from this article, but is there a typo?
      It is written:

      Unipolar motor

      In a bipolar motor, a common wire is connected to the point where the two coils are connected together:

      Should it be "In a unipolar (not bipolar) motor" instead?

  • At 9 December 2014, 8:10:56 user Sharanappa Madiwal wrote:   [reply @ Sharanappa Madiwal]
    • It was very helpful to me to know about steppr motors.Nice web site,Do more.Wish you all the best.

  • At 21 October 2014, 6:55:41 user electricaleasy wrote:   [reply @ electricaleasy]
    • This article explains the complete working of a stepper motor which is very easy to understand.

  • At 12 October 2014, 7:45:40 user shrikanth Reddy wrote:   [reply @ shrikanth Reddy]
    • i want to learn about the embedded systems

  • At 6 September 2014, 22:41:14 user emmanuel wrote:   [reply @ emmanuel]
    • i actually like this article. it is highly educative for me. pleas more of this type

  • At 31 August 2014, 15:29:53 user Student wrote:   [reply @ Student]
    • Simple and easy to understand tutorials. The animation videos are very helpful too ! Thanks a lot.

  • At 22 August 2014, 14:15:34 user cdaaawg wrote:   [reply @ cdaaawg]
    • Great tutorial! I suggest you slow the animations down, perhaps leaving a 3 second interval between steps. As it is now, it is visually difficult to keep up with each step of the sequence and study how the current flows through each winding.
      Thanks for your efforts.


  • At 21 August 2014, 13:02:03 user Ramasamy.E wrote:   [reply @ Ramasamy.E]
    • thank you very much my friend

  • At 16 July 2014, 10:03:44 user Andreas wrote:   [reply @ Andreas]
    • Great explanations! Thanks for good work!

  • At 30 June 2014, 6:10:06 user honey wrote:   [reply @ honey]
    • amazing presentation
      i salute! :)

  • At 16 April 2014, 18:45:45 user Mando wrote:   [reply @ Mando]
    • WoW. Highest respect Sir!

  • At 14 April 2014, 0:38:31 user Thushara fernando wrote:   [reply @ Thushara fernando]
    • Great effort. Great explanation. I got good understanding from this. Thank you

  • At 5 April 2014, 7:38:17 user muji wrote:   [reply @ muji]
    • my stepper motor does not spin. Using reprap Arduino board ramp v.1.4 and stepper driver G3D stepper driver pololu compitable. Can you help me?

  • At 1 April 2014, 6:30:24 user MNI MARUF wrote:   [reply @ MNI MARUF]

  • At 27 February 2014, 17:57:11 user vaibhav vaidya wrote:   [reply @ vaibhav vaidya]
    • Fantastic explanation!!!!!

  • At 21 February 2014, 20:07:57 user Sahan samaranayake wrote:   [reply @ Sahan samaranayake]
    • Great effort. Great explanation. I got good understanding from this. Thank you.

  • At 14 January 2014, 18:27:23 user Peter Litvay wrote:   [reply @ Peter Litvay]
    • Dear Giorgios,
      Fantastic explanation and didatics! I disassembled a disquette drive and found a very strange looking motor inside. Now I know it`s a stepper motor. Could you please inform with what software you designed the 2 demo videos?

  • At 2 January 2014, 17:37:16 user Markus wrote:   [reply @ Markus]
    • You are a good teacher !

  • At 26 November 2013, 3:36:53 user Muhammad Gomaa wrote:   [reply @ Muhammad Gomaa]
    • thanks alot for your useful information>>thank you

  • At 23 November 2013, 1:47:02 user Hicham wrote:   [reply @ Hicham]
    • Very nice and clear explanation with excellent animations. Thank you

  • At 11 October 2013, 17:26:52 user Rafael E. de Ges wrote:   [reply @ Rafael E. de Ges]
    • Thanks for sharing.

      very good material!

  • At 6 September 2013, 7:40:12 user Piyu wrote:   [reply @ Piyu]
    • Excellent!

  • At 15 August 2013, 11:18:10 user Tanaji Umaji Kamble wrote:   [reply @ Tanaji Umaji Kamble]
    • step sequence given for half stepping and full stepping in Mazidi book different than what shown in animation.

  • At 15 August 2013, 3:54:35 user supun wrote:   [reply @ supun]
    • It was very helpful to me to know about steppr motors.Nice web site,Do more.Wish you all the best

  • At 28 July 2013, 13:00:57 user mithun kumar wrote:   [reply @ mithun kumar]
    • nice information

  • At 18 July 2013, 20:16:15 user alex p wrote:   [reply @ alex p]
    • thanx for this introduction!
      some further readings?...

  • At 18 July 2013, 10:55:45 user Roby wrote:   [reply @ Roby]
    • Thank you very much.You done very detail information.And very good video tutorial.Keep up the good work

  • At 15 July 2013, 13:26:09 user P.R.GOWRISANKAR wrote:   [reply @ P.R.GOWRISANKAR]
    • its really good to understand! thanks for given like this....!

  • At 11 July 2013, 9:37:03 user manish nim wrote:   [reply @ manish nim]
    • animation speed should be low.... for easy understanding... and what pulse on which coil is given should me marked on each coil...

      rest animation is good.. :)

  • At 29 June 2013, 19:34:48 user Al Logan wrote:   [reply @ Al Logan]
    • Well written. Easy to understand and a great source of information.

  • At 19 June 2013, 10:36:10 user Reshma wrote:   [reply @ Reshma]
    • thankyou for the basics!!

  • At 12 June 2013, 9:05:51 user rakesh wrote:   [reply @ rakesh]
    • u got skill's..nice stuff.

      editing could have been better

  • At 8 June 2013, 3:43:56 user abdullah wrote:   [reply @ abdullah]
    • i like it.thanks

  • At 29 May 2013, 14:21:10 user avinash n r wrote:   [reply @ avinash n r]
    • excellent job well done keep it up

  • At 26 May 2013, 7:23:58 user Nathan wrote:   [reply @ Nathan]
    • Thanks for the explanation, it was concept based

  • At 18 February 2013, 6:54:48 user Amir Imani wrote:   [reply @ Amir Imani]
    • very helpfull thank you so much

  • At 14 February 2013, 23:51:54 user vellanki ganesh wrote:   [reply @ vellanki ganesh]
    • Thanks for the clear cut explanation the animation is really awesome and i found most of the total concept here thanks once again

  • At 10 February 2013, 15:02:30 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Mike no

  • At 9 February 2013, 14:06:54 user Mike wrote:   [reply @ Mike]
    • Are these images in full-step (4th picture) and half-step (5th and 6th picture) on page 1 for a bipolar motor?

  • At 5 February 2013, 13:14:04 user Malay adhikari wrote:   [reply @ Malay adhikari]
    • Very nice subject....

  • At 25 January 2013, 9:11:47 user Russ Lavergne wrote:   [reply @ Russ Lavergne]
    • I have a bunch of stepper motors that have failed. When installed in the machine they just vibrate back and forth. I know it is the motor because when I put in a new motor they machine works just fine.

      Do you think there is anyway to repair these stepper motors?

      It is a Hybrid .9 degree NEMA 23. Do you think a coil shorted or is it something to do with the magnetism? Or??

  • At 25 January 2013, 0:46:08 user Bojar wrote:   [reply @ Bojar]
    • Your explanation makes this so clear...Thanks!

  • At 1 January 2013, 10:27:48 user swamy wrote:   [reply @ swamy]
    • u explanation is just awesome.thanq for giving valuable inf.

  • At 22 October 2012, 5:21:53 user Charles Bonnici wrote:   [reply @ Charles Bonnici]
    • First class presentation.Keep up the good work. We need more people like you to educate our students. Thank you

  • At 21 October 2012, 8:23:12 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Ajitkumar H Vyas I explain the differences in page 3 of this guide (http://www.pcbheaven.com/wikipages/How_Stepper_Motors_Work/?p=2)

  • At 20 October 2012, 9:13:47 user Ajitkumar H Vyas wrote:   [reply @ Ajitkumar H Vyas]


  • At 16 October 2012, 13:14:19 user Anabebe wrote:   [reply @ Anabebe]
    • Your explain are easy to understand.Thank you.

  • At 24 September 2012, 23:36:38 user truk wrote:   [reply @ truk]
    • OK that animation mid-page on the right finally clicked in for how real steppers work and how you can get to smaller steps. All the beginner diagrams only show 4 poles and compass style rotors with giant 90 deg steps. that animation is fantastic, thanks so much!

  • At 19 September 2012, 14:10:43 user brijesh wrote:   [reply @ brijesh]
    • Its gr8

  • At 30 August 2012, 17:24:14 user Edison wrote:   [reply @ Edison]
    • Only one word.........."""EXCELLENT"""

  • At 20 August 2012, 14:58:22 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Vimee Bakori first disconnect completely the wires from the motor. You will need either 4 multimeters, or 4 LEDs or other source of light. Then , you must see between each of the 4 wires and the ground a pulse. The pulse must follow the pattern of a full or half step as explained in this article.

  • At 17 August 2012, 13:57:49 user Vimee Bakori wrote:   [reply @ Vimee Bakori]
    • It was just osum !!
      Thank you!!

  • At 16 August 2012, 13:35:39 user John wrote:   [reply @ John]
    • Good Day and Many Congrats for your presentation!

      One question pls...
      In a step motor with 4 wires (1=R, 2=S, 3=T AND 4=COMMON ),
      how can measure by multimeter the voltage in order to understand if signal is correct?
      i.e. I can measure sometimes 31V Only to one of three cables, or only to 2 of 3, or to all 3 cables...

      How is the constraction of 4 wire motor with common ?

      Really appreciate your comments.

      Many Thanks


  • At 9 August 2012, 9:52:55 user sohan patel wrote:   [reply @ sohan patel]
    • nice imformation.

  • At 7 July 2012, 17:29:49 user JParker wrote:   [reply @ JParker]
    • You definitely were born to be a teacher. What a great elementary style tutor in stepper motors. I actually understand how they work now. Something I thought I would never understand.


  • At 7 July 2012, 0:02:54 user Mandeesh Singh wrote:   [reply @ Mandeesh Singh]
    • Very Well Explained !!

      Excellent work. Keep it up :) . .

  • At 26 June 2012, 9:41:42 user MARIO wrote:   [reply @ MARIO]

  • At 11 June 2012, 15:34:15 user mohammed wrote:   [reply @ mohammed]
    • thanks alot for this excellent information

  • At 27 May 2012, 15:53:32 user manoj sunchauri wrote:   [reply @ manoj sunchauri]
    • Thanks a lot...because it is much more understandable than my bulky books.....

  • At 30 April 2012, 15:09:52 user Jazly wrote:   [reply @ Jazly]
    • Thanxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx :D

  • At 27 February 2012, 18:54:08 user Brian wrote:   [reply @ Brian]
    • Thank you for taking the time to produce the information in your video. I found it very informative and look forward to future posts.

  • At 2 January 2012, 3:55:55 user madhurajeewa wrote:   [reply @ madhurajeewa]
    • very good information...thank you very much...i really understrood what are the step motors are...

  • At 30 December 2011, 0:16:08 user abouzeid wrote:   [reply @ abouzeid]
    • Great explanation ...thanks

  • At 23 November 2011, 12:49:23 user pethiyagoda wrote:   [reply @ pethiyagoda]
    • i like these explanations any one can understand these well sone

  • At 21 November 2011, 18:13:46 user jana wrote:   [reply @ jana]
    • good explanation.Thanks a lot...

  • At 21 November 2011, 12:33:29 user Pieter J wrote:   [reply @ Pieter J]
    • Thank you very much for the videos.

      Finally someone was able to explain the concept to me in a way that I understand, by showing me the breakdown to construction level.


  • At 21 July 2011, 14:45:44 user Kammenos wrote:   [reply @ Kammenos]
    • @Stefan no, currently not, i am not making any CNC, i have enough CNCs from my day job :). But if i feel like doing it in the future i might make one.

  • At 20 July 2011, 20:10:07 user Stefan wrote:   [reply @ Stefan]
    • Are you making a CNC project?For example with PIC microcontroller and interface on PC.Can you make a project like that?

  • At 19 July 2011, 19:01:08 user Kammenos wrote:   [reply @ Kammenos]
    • @Stefan
      1. Depends on the stepper. For example, one stepper may have 5 ohms coils. Then, you will measure 5 ohms between the sides of the coil, and 2.5 ohms between one side and the middle wire.
      2. You don't need to recognize them, they are bipolar motors. Only bipolars have 4 wires.
      3. As i said in point 1, a 5 (or 6) wires motor has 2 coils. So, you must find one big and one small resistance between the coils. When you measure the resistance and you find the "big" resistance, then you are sure that you are holding the ends of the coils. Now be careful!!! If the motor has 5 wires, this means that the middle coils are internally connected! What this means is that you may find a big resistance between the ends of ONE coil, or between the ends of the 2 coils!!! That will trick you. No matter what, big resistance comes only from end-side of coils. Small resistance (which is half the big resistance) means that one wire is the middle.

  • At 19 July 2011, 16:09:28 user Stefan wrote:   [reply @ Stefan]
    • Hi there,very good explaining about the stepp motors and how they work.I have 3 questions about them.
      1.If I messure resistance on the coils,what I will get?
      2.I have 2 stepp motors,they have 4 wires.And how can I recognize them?
      3.The common pin how I can recognize it from the others,is there any resistance or something like that so I can recognize it?
      Thank you

  • At 12 July 2011, 2:50:18 user Natalia wrote:   [reply @ Natalia]
    • I really appreciate your presentations. I happen to be a experimental biologist student, and wanted to understand dc and stepper motors so i could understand what is to be believed the mechanism of bacterial flagella.

      well done!

  • At 11 July 2011, 8:22:39 user Zeville Shuman wrote:   [reply @ Zeville Shuman]
    • Very good.....

  • At 15 June 2011, 20:38:11 user abdul waheed wrote:   [reply @ abdul waheed]
    • how to we design this motor ..... tell me please
      please give us deteal

  • At 29 May 2011, 3:36:26 user Naresh wrote:   [reply @ Naresh]
    • Many many thanks..

      Presentation is too good

  • At 16 May 2011, 22:59:59 user George wrote:   [reply @ George]
    • Your information is priceless.
      Dont worry about your accent, should someone not like it they can look elsewhere for the knowledge they seek.
      Thank you.


  • At 14 May 2011, 4:20:02 user romualdo wrote:   [reply @ romualdo]
    • este site é SHOW DE BOLA! Aqui no brasil tem uns caras que copiam de voces e para mostrar traduzido cobram os OLHOS DA CARA! Só DEUS pode pagar esse carinho e disposição de graciosamente mandar para o mundo todos esses artigos. a voces um grande o b r i g a d o!

  • At 8 May 2011, 15:38:54 user edrobinson wrote:   [reply @ edrobinson]
    • what did you use to produce these brilliant animation please

  • At 25 April 2011, 18:21:20 user Bhaskar wrote:   [reply @ Bhaskar]
    • Bravo it was just osum !!
      Keep the good work..........
      Your accent is not that bad as long as it conveys the right meaning.

  • At 8 April 2011, 19:53:27 user Kammenos wrote:   [reply @ Kammenos]
    • @Terje damn i saw your post in the forum and totally forgot to answer. I will answer in the forum asap.

  • At 8 April 2011, 19:10:20 user Terje wrote:   [reply @ Terje]
    • How do you find the correct stepper motor for you're project?

      I have a 4kg platform that I want to drive vertical, and to be able to stop and hold anywhere on it's path.

      Accuracy is important as well as repeatability. (do the same travel over and over again)

  • At 25 March 2011, 22:19:25 user Ivan wrote:   [reply @ Ivan]
    • Great work.

      Keep writing

  • At 14 March 2011, 5:21:05 user mihir wrote:   [reply @ mihir]
    • excellent work buddy...you explained every small part...

  • At 14 February 2011, 18:57:39 user noob wrote:   [reply @ noob]
    • brilliant xplaination

  • At 28 December 2010, 4:07:59 user Zach wrote:   [reply @ Zach]
    • You explained what wikipedia and all of the other sites could not and did it in a way that I could easily understand. Thank you

  • At 27 December 2010, 10:02:43 user Muhammad Naseer wrote:   [reply @ Muhammad Naseer]
    • hy dear i am Naseer.and i like your work very much.bcz i learn alot from thes lectures and videos...

  • At 24 September 2010, 3:03:59 user Mauricio wrote:   [reply @ Mauricio]
    • Spectacular presentation, that really explains *everything* for a newbie like me. Thanks!

  • At 7 September 2010, 6:06:18 user Eric Fang wrote:   [reply @ Eric Fang]
    • Very good and very clear!!

  • At 9 May 2010, 16:48:38 user Jean wrote:   [reply @ Jean]
    • Taking the time to explain step-by-step using the videos makes understanding the basic concept easy.

      Muy bueno, well done!

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Theory: AC electric motor working principle

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy