SG90 Micro Servo

A 9-gram analog positional micro servo that swings roughly 180 degrees in response to a 50 Hz PWM signal, powered from 5V.

SG90 Micro Servo: Compact positional servo

What is the SG90 Micro Servo?

The SG90 is one of the most common hobby micro servos. It packs a small DC motor, a plastic (POM) gear train, a position-feedback potentiometer, and a control board into a 22.8 x 12.2 x 22.7 mm case weighing about 9 grams. Three wires come out of it: power (red, 5V), ground (brown), and the control signal (orange). It is an analog, positional servo, not a continuous-rotation motor.

Unlike a bare motor, a servo holds a commanded angle. It reads a 50 Hz pulse (one every 20 ms) on the signal line and moves its horn to a position set by the pulse width: about 1 ms drives it to one extreme, 1.5 ms is roughly centered, and 2 ms is the other extreme, for close to 180 degrees of total travel. The built-in controller powers the motor until the feedback pot matches the requested position, then holds it there. The SG90 is rated for roughly 1.8 kg-cm of stall torque and moves about 0.1 second per 60 degrees at 4.8V.

Because the control and driver electronics are built in, you only need to supply power and a PWM pulse. On an Arduino, the Servo library generates the timing on any digital pin. The SG90 suits light positioning jobs such as pan/tilt mounts, small robotic arms, and grippers, but its plastic gears and modest torque make it a poor fit for heavy or high-shock loads.

SG90 Micro Servo pinout

PinFunctionType
VCC VCC (5V)PowerPower in
GND GNDPowerPower in
SIG SignalPWMDigital input

Specifications

Operating voltage
5 V
Interface
GPIO timing (Trigger / Echo)
Dimensions
22.8 × 12.2 × 22.7 mm

Verified from the Tinkered component library.

Circuit requirements

  • Runs on 5V. The datasheet rates torque and speed at 4.8V, and anything in the 4.8-6V range is fine, but do not exceed 6V.
  • Give the servo its own 5V supply when driving more than one, or when it works under load. The current spike as the servo starts moving or stalls can sag the Arduino's onboard regulator and brown out or reset the board.
  • Always tie the external supply ground to the Arduino ground. The PWM pulse is referenced to ground, so without a shared ground the servo jitters or ignores the signal entirely.
  • No external motor driver or flyback diode is required: the SG90 contains its own H-bridge and control board. The signal pin only receives the 50 Hz pulse and sends nothing back.
  • Place a bulk electrolytic capacitor (roughly 100 uF or larger) across the servo's VCC and GND to smooth the current spikes and reduce brownout resets.

Board compatibility

The SG90 Micro Servo connects to any of the microcontrollers supported in Tinkered. Mind the 5 V logic level on 3.3 V boards.

Simulate the SG90 Micro Servo in your browser

The SG90 Micro Servo is fully simulated in Tinkered. Wire it into a circuit, write your firmware, and read real values back with no physical hardware. Test your logic before you touch a breadboard.

Open it in the simulator

Common SG90 Micro Servo mistakes

Powering the servo from the Arduino's 5V pin

Under load the SG90's current draw sags the onboard regulator, causing the board to brown out or reset. Use a separate 5V source for the servo and share a common ground with the Arduino.

Treating it like a continuous-rotation motor

The standard SG90 is a positional servo limited to about 180 degrees. Commanding it to spin like a wheel just drives it against an internal end stop where it buzzes and stalls. Only the modified 360-degree version rotates continuously.

Forgetting the common ground

When the servo runs from an external supply, its ground must connect back to the Arduino ground. Skipping this leaves the signal floating, so the servo twitches or does not respond.

Commanding angles beyond the travel range

Writing pulse widths or angles past the roughly 1 ms to 2 ms range pushes the servo against its mechanical stops. It grinds and pulls stall current, which overheats the motor and wears out the plastic gears.

Reversing the power wires

On the SG90, brown is ground, red is +5V, and orange is the signal. This differs from older Futaba-style color codes, and swapping red and brown can damage the servo.

SG90 Micro Servo datasheet

Official SG90 Micro Servo datasheet

Popular SG90 Micro Servo projects

Pan/tilt camera or sensor mount

Two SG90s stacked at right angles aim a camera or distance sensor across two axes for tracking and scanning.

Radar-style ultrasonic scanner

Mount an HC-SR04 on the servo horn and sweep it back and forth to plot distances into a radar-style display.

Small robotic arm or gripper

Several SG90s form the joints of a lightweight arm or an open/close gripper for pick-and-place demos.

Automated dispenser or pet feeder

The servo swings a flap or auger to release a measured portion on a schedule.

Analog dial or gauge indicator

Map a sensor reading to a servo angle to drive a physical needle across a printed scale.

Build with the SG90 Micro Servo.

Drop the SG90 Micro Servo into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.