This question turns into a debate at some point on most any forum where simulating gauges is discussed. Spoiler alert: Either one can be used effectively. Like most things in building your simulator, it’s a matter of making informed choices to get the right balance for your situation. Here’s a little information on the pros and cons of both approaches to help you make the decision. By the way, I won’t go into the theory of how servos work or how stepper motors work. That’s a topic for another day…
Servos
Servos are often chosen for two primary reasons. Servos are generally less expensive than stepper motors. Products to drive servos are more readily available and less expensive than their counterparts for stepper motors. (My ACES Instrument Module Stepper is the only plug and play ready to use stepper driver I found. No programming required.) So if they are less expensive and have a wider range of interface products available, why wouldn’t you always choose a servo? Now we cover the cons.
Servos are limited in their range of movement. Usually to somewhere around 180 degrees rotation. If you want a gauge to rotate more than that, you have to add a gear box. (More parts = more complexity = more cost) The other thing a gear box does is to reduce the resolution of the servo. By resolution, I mean what is the smallest amount of movement the servo can make the gauge pointer move. The higher the resolution means the smaller a pointer movement that can be made. The smaller the pointer movement that can be made, the smoother the movement appears. (See my previous article Smooth Needle Movements for Simulated Gauges if you want more info on that.) Let’s consider the example of a servo that only moves 180 degrees but you want it do drive a gauge pointer that moves through 360 degrees. You need to add 2:1 gearing. This means for every 1 degree of rotation of the servo, you want 2 degrees of rotation of the pointer. If 1 degree is the resolution of your servo, then the smallest pointer movement you can make just became 2 degrees. So you can see how this adversely affects smooth gauge pointer movement.
Lets dive a bit deeper into servo resolution. Some controllers, like the Mini Maestro from Pololu can issue movement commands of very small increments. For servos, the movement is specified by a time period (actually a change in time period, but servo theory of operation is for another article). The smaller the time period, the smaller the movement. The Mini Maestro can make changes as small as one quarter microsecond. Most inexpensive hobby servos won’t respond to any movement less than about 2 to 4 microseconds. Consider a typical hobby servo that moves through 180 degrees rotation where 0 degrees is 900 microseconds, 180 degrees is 2,000 microseconds and the minimum increment is 2 microseconds. Our desired movement range is 180 degrees. Our available movement command range is (2000 – 900) / 2 = 550. So we can get 550 movement increments out of this servo. With a range of 180 degrees, our smallest pointer movement is 180 / 550 = 0.3 degrees. That’s small enough to make a reasonable smooth pointer movement. But wait, lets say we need the gauge to go through 315 degrees, which is a common gauge pointer movement range. Now we have to add a gear ratio into the mix. We need 1.75:1 gearing to go from 180 to 315 degrees movement. This means for every 1 degree of servo rotation, the gauge pointer moves 1.75 degrees. So now, our minimum movement increment becomes 315 / 550 = 0.6 degrees. This is probably still OK, but not as good as 0.3. Now consider one more wrinkle. If your servo only moves at 4 microsecond increments, your minimum movement doubles to 1.2 degrees. This is probably going to be noticeable when watching your gauge move. From this exercise, we can see that servos can be made to make reasonable simulated gauge movements.
One more point on servos. They tend to be a bit noisy. Again, it’s back to choices. When you are flying with engines roaring and guns blazing, will you hear it? Maybe, maybe not.
By the way, you can modify a servo to go more than it’s intended range of movement, but then you need to add an encoder to know where the servo is pointing. (More parts = more complexity = more cost) You also need more complicated software to drive it. It begins to beg the question why not use a stepper.
Stepper Motors
Stepper motors are generally more expensive than servos. The interface card or module to drive a stepper motor is generally more expensive that the interface to drive a servo. So why would you want to use a stepper motor? Let’s work through that question.
The first argument given for stepper motors is usually that they are more accurate. Buried in that statement are probably two considerations. One is accuracy which means is it really pointing exactly where you told it to point. The other is resolution. The higher the resolution, the more accurate the movement can be. While it may be true that the stepper motor can be more accurate than a servo, especially the less expensive hobby servos, the accuracy of both steppers and servos is probably good enough for any home simulator. Resolution, however, can make a difference.
Let’s consider a typical stepper motor with a specification of 200 steps per revolution. This means 360 degrees rotation is broken into 200 individual steps. This gets you to a minimum movement increment of 1.8 degrees. Not very impressive. But wait, we haven’t covered micro stepping. Most stepper motor drivers implement something called micro stepping. This is where the driver subdivides the steps for the motor. Some drivers can go as high as 32. This means each step of the motor is broken into 32 subdivisions. So our 200 step motor is now capable of 32 * 200 = 6,400 steps in a 360 degree rotation. This makes an impressive minimum movement increment of 0.06 degrees. Even at a fairly typical and modest configuration of 1/8 micro stepping, you get 8 * 200 = 1,600 steps per revolution which is a minimum movement increment of 360 / 1600 = 0.2 degrees. It looks like stepper motors win the resolution contest, but remember, once something is smoother than you notice, being capable of more doesn’t really gain you anything.
Another advantage to stepper motors is that they typically are capable of rotating through a complete revolution and beyond. What I mean is that they can be continually commanded to rotate indefinitely without hitting a stop. Some gauges, like a heading indicator require this. Other gauges don’t need the continuous rotation, but not having to cut your resolution in half with a gearbox is definitely an advantage.
Finally, stepper motors are generally quieter than servos.
The Tale of the Tape
Servos are generally less expensive than stepper motors. They can be used to make smooth gauge movements, but there are some limitations and issues.
Stepper motors are generally more expensive. They generally have better resolution and can easily do full rotational movement.
As I said in the spoiler alert at the beginning, both can be made to work. It’s really a choice of what’s the best fit for your desired balance of immersion and cost.
By the way, there will soon be an option that combines the best of both worlds. There are some very inexpensive stepper motors available that are about the same price point as hobby servos. The only issue is that there is no easy way to drive them. Check back here at ACES, because I’m developing a Mini Stepper Instrument Module specifically to drive these stepper motors. This solution gives the best of both worlds – low cost with quiet high resolution movement from stepper motors.

