Exploring the SG90 Micro Servo Motor: Features and Specifications

How to Connect a Micro Servo Motor to Arduino / Visits:10

When it comes to the world of robotics, DIY electronics, and hobbyist automation, few components have earned as much trust and widespread adoption as the SG90 micro servo motor. Small, affordable, and surprisingly powerful for its size, this little device has become a staple in countless projects—from animatronic eyes to robotic arms, from RC airplanes to 3D-printed grippers. But what exactly makes the SG90 tick? Why has it become the go-to choice for makers and engineers alike? In this deep dive, we’ll unpack every layer of the SG90 micro servo motor, exploring its mechanical design, electrical specifications, control protocols, real-world performance, and the subtle nuances that separate a good servo from a great one.

The Anatomy of the SG90: What’s Inside the Tiny Shell

At first glance, the SG90 looks almost toy-like—a small plastic casing, three wires protruding from the front, and a set of plastic horns that snap onto the output shaft. But beneath that unassuming exterior lies a surprisingly sophisticated electromechanical system.

The DC Motor and Gear Train

The heart of the SG90 is a small, brushed DC motor. This motor spins at a high RPM but produces very little torque on its own. To be useful, that speed must be converted into usable rotational force. That’s where the gear train comes in.

The SG90 uses a series of plastic spur gears—typically four or five stages—to reduce the output speed and multiply the torque. The gear ratio is roughly 1:300 to 1:400 depending on the exact variant. This means that for every 300 to 400 rotations of the motor shaft, the output shaft turns just once. The result is a motor that can hold its position against moderate external forces, despite its tiny size.

It’s worth noting that the gears are made of plastic (often POM or nylon), not metal. This keeps the cost low and the weight down, but it also means the SG90 is not designed for heavy-duty or high-impact applications. If you apply excessive force to the output shaft—say, by trying to manually force it past its mechanical stops—you can strip the gears. For most hobbyist uses, however, the plastic gear train is more than adequate.

The Potentiometer and Feedback Loop

Every servo motor needs a way to know where its output shaft is pointing. The SG90 uses a simple potentiometer (a variable resistor) connected directly to the output shaft. As the shaft rotates, the wiper of the potentiometer moves, changing the resistance. This resistance value is read by the control electronics inside the servo, providing continuous feedback on the current angular position.

This closed-loop system is what makes a servo a servo, rather than just a motor. The control board compares the desired position (sent via the signal wire) with the actual position (read from the potentiometer). If there’s a difference, it drives the motor in the appropriate direction until the error is zero. This feedback loop runs many times per second, allowing the servo to hold a position steadily or move smoothly to a new target.

The Control Board and Dead Band

The small printed circuit board inside the SG90 contains a few key components: a comparator or microcontroller (often a generic 8-bit chip), a driver circuit for the DC motor, and a few passive components. This board interprets the incoming PWM signal, reads the potentiometer, and drives the motor accordingly.

One important concept here is the dead band. This is a small range of error near the target position where the controller decides no correction is needed. For the SG90, the dead band is typically around 1 to 2 microseconds in pulse width terms, or roughly 0.5 to 1 degree of rotation. This prevents the servo from constantly jittering or oscillating around the target position, which would waste power and cause wear. A wider dead band makes the servo more stable but less accurate; a narrower dead band improves accuracy but can lead to hunting behavior. The SG90 strikes a reasonable balance for general-purpose use.

Electrical Specifications: Power, Signal, and Limits

Understanding the electrical side of the SG90 is crucial for integrating it into any project. Get the voltage wrong, or misinterpret the signal timing, and you’ll end up with a non-responsive or even damaged servo.

Operating Voltage and Current Draw

The SG90 is officially rated for an operating voltage range of 4.8V to 6.0V. Most commonly, it is run at 5V, which is conveniently supplied by Arduino boards, Raspberry Pi GPIO pins (with proper buffering), or dedicated servo controllers.

At idle (holding a position with no external load), the SG90 draws about 10 to 20 mA. Under load, especially when moving or resisting an external force, the current can spike to 200 to 300 mA or even higher if stalled. A stall condition—where the motor is commanded to move but the shaft is physically blocked—can draw up to 700 mA or more, and this should be avoided for more than a few seconds, as it can overheat the motor or damage the control electronics.

This means you cannot power an SG90 directly from a microcontroller’s 5V pin (which typically provides only 100-200 mA total). A separate power supply or a servo shield with its own regulator is almost always required.

The Three Wires: Power, Ground, and Signal

The SG90 comes with three wires, color-coded in a nearly universal standard:

  • Red wire: Positive power supply (VCC, typically 5V)
  • Brown or black wire: Ground (GND)
  • Orange or yellow wire: Signal (PWM input)

It’s important to connect these correctly. Reversing power and ground will destroy the servo instantly. The signal wire carries a 5V logic-level PWM signal, but it is generally not 5V tolerant on the input side—some servos expect 3.3V logic. However, the SG90 is usually fine with 5V logic from an Arduino or similar. If you’re using a 3.3V controller like an ESP32 or Raspberry Pi, you might need a level shifter to boost the signal to 5V for reliable operation.

PWM Signal: The Language of Position Control

The SG90 uses a standard 50 Hz PWM signal (period of 20 milliseconds) to command position. The position is encoded in the pulse width (the high time) of the signal:

  • 1.0 ms (1000 microseconds) → 0 degrees (full counterclockwise)
  • 1.5 ms (1500 microseconds) → 90 degrees (center)
  • 2.0 ms (2000 microseconds) → 180 degrees (full clockwise)

In theory, this gives a 180-degree range of motion. In practice, the mechanical stops inside the SG90 limit the rotation to slightly less—typically about 170 to 175 degrees. Some servos can be modified or “hacked” to remove the mechanical stop and allow continuous rotation, but the standard SG90 is not designed for that.

It’s worth noting that the exact pulse width limits can vary slightly between individual units and manufacturers. Some SG90 clones respond to a range of 0.5 ms to 2.5 ms, giving a wider angle. To be safe, start with the standard 1.0 to 2.0 ms range and adjust if needed.

Signal Timing and Jitter

The PWM signal must be repeated every 20 ms (50 Hz) to maintain the commanded position. If the signal stops, most servos will either hold their last position (if the control electronics have a “hold” feature) or slowly drift. The SG90 will generally hold its position for a few seconds after the signal is lost, then relax.

Jitter in the PWM signal—caused by software timing issues or interrupt conflicts—can cause the servo to twitch or vibrate. This is a common problem when using software-based PWM on microcontrollers like the Arduino Uno. The built-in Servo.h library uses timer interrupts and produces a stable signal, but if you’re generating PWM manually in a loop with delay() or millis(), you may encounter jitter. For smooth motion, use a hardware PWM channel or a dedicated servo driver like the PCA9685.

Mechanical Specifications: Torque, Speed, and Dimensions

The SG90’s mechanical specs are what most people look at first, and they are surprisingly impressive for a servo that costs less than a cup of coffee.

Torque: How Much Can It Lift?

The stall torque of the SG90 is rated at 1.8 kg·cm at 4.8V and 2.2 kg·cm at 6.0V. In practical terms, this means that if you attach a lever arm 1 cm long, the servo can lift a weight of about 1.8 kg (at 4.8V) before stalling. With a longer lever arm, the effective lifting force decreases proportionally.

For comparison, a standard servo like the MG995 (a much larger, metal-gear servo) offers about 10 kg·cm of torque. So the SG90 is not a powerhouse. But for lightweight applications—moving a small robot arm, panning a camera, or opening a latch—it’s more than sufficient.

One important caveat: torque ratings are usually given at stall, meaning the motor is just barely unable to turn. In normal operation, you should design your mechanism so that the servo never exceeds about 50-70% of its stall torque to ensure reliable movement and avoid overheating.

Speed: How Fast Does It Move?

The SG90 has a rated speed of 0.1 seconds per 60 degrees at 4.8V, and 0.08 seconds per 60 degrees at 6.0V. This means it can rotate from 0 to 180 degrees in about 0.3 seconds (at 4.8V) or 0.24 seconds (at 6.0V).

That’s reasonably fast for a servo of this size. For comparison, a standard-sized servo like the MG996R takes about 0.17 seconds per 60 degrees—so the SG90 is actually quicker in relative terms, though it has far less torque.

Speed is influenced by load. Under no load, the SG90 will hit its rated speed. As you add load, the speed drops. At near-stall conditions, the speed approaches zero. If your application requires precise timing or synchronized movement, you’ll need to account for this load-dependent behavior.

Dimensions and Weight

The SG90 is genuinely micro-sized:

  • Dimensions: 23 mm x 12.2 mm x 29 mm (length x width x height, excluding the output shaft and horns)
  • Weight: 9 grams (0.32 ounces)

This tiny footprint makes it ideal for projects where space and weight are at a premium—think small quadcopters, micro-robots, or wearable electronics. The plastic housing is lightweight but reasonably durable, though it can crack if over-tightened or dropped.

The output shaft has a 4.8 mm diameter (standard for micro servos) and includes a 24-tooth spline. This accepts the included plastic horns, which come in various shapes (single-arm, cross, disc, etc.). The horns are held in place by a small Phillips-head screw.

Variants and Clones: Not All SG90s Are Created Equal

The SG90 name has become somewhat generic, and you’ll find countless clones and variants on the market. Some are excellent; others are… less so.

Genuine vs. Clone

The original SG90 was manufactured by Tower Pro (often branded as “Tower Pro SG90”). These genuine units have consistent quality, reliable potentiometers, and well-calibrated control electronics. They typically cost a bit more—around $3 to $5 each.

Clones, sold under names like “MG90” (which is actually a metal-gear variant), “SG90 clone,” or just “micro servo,” can cost as little as $1 each. The quality varies wildly. Some clones work perfectly fine, with only minor deviations in pulse width range or torque. Others have sloppy gear trains, inconsistent dead bands, or potentiometers that produce noisy feedback, leading to jittery movement.

If you’re building a critical project—say, a robotic arm that needs to hold position precisely—it’s worth spending a little more for genuine units or at least buying from a reputable supplier. For throwaway prototypes or projects where precision isn’t critical, cheap clones can be a cost-effective option.

The MG90: Metal Gears, Same Size

The MG90 is a popular variant of the SG90 that replaces the plastic gears with metal ones (usually brass or steel). This gives it significantly higher durability—it can withstand higher loads and more abuse without stripping. The trade-off is slightly higher weight (about 12 grams) and a small increase in cost.

The MG90 is often recommended for applications where the servo might experience shock loads or where long-term reliability is important. However, the metal gears can be noisier than plastic ones, and they don’t necessarily increase torque (the motor and electronics are essentially the same). They just make the servo less likely to break under stress.

Continuous Rotation Servos

Some SG90 variants are modified for continuous rotation. These servos remove the mechanical stop and bypass the potentiometer feedback, allowing the motor to spin freely in either direction. They are controlled by the same PWM signal, but instead of commanding a position, the pulse width commands speed and direction:

  • 1.5 ms → stop
  • 1.0 ms → full speed one direction
  • 2.0 ms → full speed the opposite direction

Continuous rotation servos are useful for drive motors in small robots, but they lose the precise positioning capability that makes standard servos so useful. You can buy pre-modified continuous rotation SG90s, or you can hack a standard one yourself (though it requires careful disassembly and soldering).

Practical Considerations: Using the SG90 in Real Projects

Knowing the specs is one thing; using the servo effectively is another. Here are some practical tips and pitfalls to watch out for.

Power Supply Design

As mentioned, the SG90 can draw significant current, especially during acceleration or under load. A common mistake is to power the servo from the same 5V rail that powers the microcontroller. This can cause voltage dips that reset the microcontroller or cause erratic behavior.

Best practice: Use a separate 5V supply for the servo(s), with a common ground connection to the microcontroller. A 5V, 2A wall adapter is sufficient for two or three SG90s. For larger numbers, a dedicated servo controller with its own power input is recommended.

If you must use a single supply, add a large capacitor (1000 µF or more) across the power rails near the servo to smooth out current spikes. A 100 nF ceramic capacitor in parallel helps filter high-frequency noise.

Mechanical Mounting

The SG90 comes with mounting flanges that have small holes (about 2 mm diameter). These can be screwed into a chassis using M2 or 2-56 screws. Alternatively, many 3D-printed servo mounts are available online, designed to snap-fit or screw onto the servo.

Be careful not to overtighten the screws—the plastic housing can crack. Also, ensure the output shaft is not binding against anything when the servo rotates. Binding can cause the servo to stall, drawing high current and potentially damaging the gears.

Calibration and Center

Not all SG90s have the same center point. When you send a 1.5 ms pulse, you might get exactly 90 degrees from one servo, but 88 or 92 degrees from another. This is due to manufacturing tolerances in the potentiometer and gear train.

For applications that require precise alignment (like a robotic arm with multiple joints), you’ll need to calibrate each servo individually. This can be done in software by adjusting the pulse width offsets, or mechanically by repositioning the horn on the spline.

A simple calibration procedure: attach a horn, send a 1.5 ms pulse, and note the angle. Then adjust the pulse width in small increments (say, 5 µs at a time) until the horn points exactly where you want. Record this offset for each servo.

Avoiding Overheating

The SG90 is not designed for continuous heavy use. If you run it back and forth for minutes on end, or if you force it to hold a position against a strong external load, the motor and control electronics can overheat. This can lead to reduced performance, erratic behavior, or permanent damage.

If your application requires continuous motion (e.g., a pan-tilt camera that constantly tracks a target), consider using a larger servo with better thermal management, or add active cooling (a small fan) to the SG90. For most intermittent hobbyist uses, overheating is not a concern.

Comparing the SG90 to Other Micro Servos

The SG90 is not the only micro servo on the market. How does it stack up against alternatives?

SG90 vs. MG90

As discussed, the MG90 is essentially the same servo with metal gears. The MG90 is more durable and slightly heavier. For most users, the SG90 is fine; for high-stress applications, the MG90 is worth the extra dollar or two.

SG90 vs. SG92R

The SG92R is a slightly newer variant from Tower Pro. It has a redesigned gear train and control board, offering slightly smoother operation and a tighter dead band. It’s also rated for a slightly higher torque (2.5 kg·cm at 6V). The SG92R is a direct replacement for the SG90 and costs about the same.

SG90 vs. Emax ES08MA

The Emax ES08MA is another popular micro servo, often used in RC aircraft. It has metal gears, a similar size, and slightly higher torque (2.0 kg·cm at 4.8V). The ES08MA is known for being very smooth and quiet, with excellent centering. It costs a bit more than the SG90 but is a solid upgrade.

SG90 vs. Feetech FS90R

The Feetech FS90R is a continuous rotation servo that is very similar to the SG90 in size and weight. It’s a good choice if you need continuous rotation and want a servo that fits standard SG90 mounts.

Common Applications and Project Ideas

The SG90’s versatility makes it suitable for a wide range of projects. Here are a few examples to spark your creativity.

Robotic Arm

A simple 3-DOF (degree of freedom) robotic arm can be built using three SG90s: one for the base rotation, one for the shoulder, and one for the elbow. With a lightweight gripper (also driven by an SG90), you can pick up small objects like ping-pong balls or paper clips. The key is to keep the arm’s structure light—use balsa wood, acrylic, or 3D-printed parts—to avoid overloading the servos.

Pan-Tilt Camera Mount

Two SG90s can create a pan-tilt mechanism for a small camera (like a Raspberry Pi Camera Module or a webcam). One servo handles horizontal panning, the other handles vertical tilt. With a simple Arduino or Python script, you can track faces, follow a moving object, or create a time-lapse rig.

Animatronic Eyes

For Halloween props or animatronic displays, SG90s can move eyes, eyebrows, or mouths. The small size allows them to fit inside a mask or a puppet head. Combined with a microcontroller and some sound effects, you can create surprisingly expressive characters.

RC Airplane Control Surfaces

In micro RC airplanes, the SG90 is often used to actuate ailerons, elevators, and rudders. Its light weight is a major advantage, and its torque is sufficient for small foam planes. However, for larger or faster planes, you’ll need a stronger servo.

3D Printer Filament Sensor

A creative use of the SG90 is as a filament run-out sensor. A small lever with a microswitch can be actuated by the servo, which triggers a pause in printing when the filament runs out. This is a niche application, but it shows the versatility of the servo.

Troubleshooting Common SG90 Issues

Even with proper use, you may encounter problems. Here are the most common issues and how to fix them.

Servo Jitters or Oscillates

This is often caused by a noisy power supply or an unstable PWM signal. Check your power supply—are you using a separate regulator? Is there a large capacitor near the servo? Also, ensure your PWM signal is generated with hardware timing, not software delays.

If the jitter persists, the potentiometer inside the servo may be dirty or worn. This is more common in cheap clones. Try replacing the servo.

Servo Does Not Move

First, check the wiring. Are power and ground connected correctly? Is the signal wire connected to a PWM-capable pin? Next, check the pulse width range. Are you sending pulses within the 1.0 to 2.0 ms range? Some servos require a slightly different range.

If the servo still doesn’t move, it may be damaged. Try connecting it to a known-working servo tester or another microcontroller to isolate the issue.

Servo Moves Only Partially

This usually indicates a mechanical binding or a power issue. Check that the horn is not hitting an obstacle. Also, check that the power supply can deliver enough current. If the servo stops at the same point every time, the mechanical stop inside may be limiting the range—some SG90s have a slightly smaller range than 180 degrees.

Servo Gets Hot

Overheating is a sign of excessive load or continuous stall. Reduce the load, or reduce the duty cycle (give the servo more rest time). If the servo is hot to the touch (above about 60°C), stop using it immediately and let it cool down.

Final Thoughts on the SG90 Micro Servo

The SG90 micro servo motor is a remarkable piece of engineering. It packs a closed-loop control system, a gear train, and a DC motor into a package that weighs less than a AA battery and costs less than a fast-food meal. Its ease of use, combined with the vast ecosystem of libraries, tutorials, and mounting hardware, makes it an ideal choice for beginners and experts alike.

That said, it’s not perfect. The plastic gears limit its durability, the torque is modest, and the precision can vary between units. But for the vast majority of hobbyist and prototyping applications, these limitations are acceptable trade-offs for the price and size.

Whether you’re building your first robot, adding motion to a model, or experimenting with feedback control systems, the SG90 is a reliable and forgiving component to learn with. And once you’ve mastered it, you’ll have a solid foundation for understanding larger, more powerful servos—and the countless other electromechanical systems that make the modern world move.

Copyright Statement:

Author: Micro Servo Motor

Link: https://microservomotor.com/how-to-connect-a-micro-servo-motor-to-arduino/sg90-micro-servo-features-specs.htm

Source: Micro Servo Motor

The copyright of this article belongs to the author. Reproduction is not allowed without permission.

About Us

Lucas Bennett avatar
Lucas Bennett
Welcome to my blog!

Tags