Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Micro Servo : Examples, Pinouts, and Specs

Image of Micro Servo
Cirkit Designer LogoDesign with Micro Servo in Cirkit Designer

Introduction

The SG90 Micro Servo is a small, lightweight motor designed for precise angular movement. It is widely used in robotics, remote-controlled devices, and hobbyist projects due to its compact size, affordability, and ease of use. The servo can rotate to a specific angle within a range of 0° to 180°, making it ideal for applications requiring controlled motion, such as robotic arms, pan-tilt mechanisms, and model airplanes.

Explore Projects Built with Micro Servo

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Mega 2560 Controlled Multi-Servo Random Positioning System
Image of robotic: A project utilizing Micro Servo  in a practical application
This circuit consists of an Arduino Mega 2560 microcontroller connected to twelve servo motors, each individually controlled by a distinct PWM pin on the Arduino. The servos are powered by a single Polymer Lithium Ion Battery, with all servos sharing a common power (VCC) and ground (GND) connection. The embedded code on the Arduino is designed to randomly position each servo within a 0 to 180-degree range, with a random delay between movements, demonstrating a multi-servo control system possibly for applications like robotics or animatronics.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano and 16-Channel PWM Servo Driver Controlled Robotic Arm
Image of robotik: A project utilizing Micro Servo  in a practical application
This circuit is designed to control multiple micro servos using an Arduino Nano and a 16-Channel PWM Servo Driver. The Arduino Nano communicates with the servo driver via I2C to manage the servos, which can be used for various robotic or automation applications.
Cirkit Designer LogoOpen Project in Cirkit Designer
Itsy Bitsy M0 Express Controlled Multi-Servo System
Image of Crab Robot Circuit: A project utilizing Micro Servo  in a practical application
This circuit consists of an Itsy Bitsy M0 Express microcontroller connected to eight Tower Pro SG90 servos. Each servo is controlled by a different digital or analog output pin on the microcontroller. A single power supply provides +5V and GND to all servos, and the microcontroller is configured with some of its pins interconnected for potential programming or operational purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered ESP32-S3 Controlled Servo System with gForceJoint UART
Image of Copy of Oymotion: A project utilizing Micro Servo  in a practical application
This circuit is a servo control system powered by a 4 x AAA battery pack, regulated by a step-down DC regulator. An ESP32-S3 microcontroller controls five servos and communicates with a gForceJoint UART sensor, enabling precise servo movements based on sensor inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Micro Servo

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of robotic: A project utilizing Micro Servo  in a practical application
Arduino Mega 2560 Controlled Multi-Servo Random Positioning System
This circuit consists of an Arduino Mega 2560 microcontroller connected to twelve servo motors, each individually controlled by a distinct PWM pin on the Arduino. The servos are powered by a single Polymer Lithium Ion Battery, with all servos sharing a common power (VCC) and ground (GND) connection. The embedded code on the Arduino is designed to randomly position each servo within a 0 to 180-degree range, with a random delay between movements, demonstrating a multi-servo control system possibly for applications like robotics or animatronics.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of robotik: A project utilizing Micro Servo  in a practical application
Arduino Nano and 16-Channel PWM Servo Driver Controlled Robotic Arm
This circuit is designed to control multiple micro servos using an Arduino Nano and a 16-Channel PWM Servo Driver. The Arduino Nano communicates with the servo driver via I2C to manage the servos, which can be used for various robotic or automation applications.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Crab Robot Circuit: A project utilizing Micro Servo  in a practical application
Itsy Bitsy M0 Express Controlled Multi-Servo System
This circuit consists of an Itsy Bitsy M0 Express microcontroller connected to eight Tower Pro SG90 servos. Each servo is controlled by a different digital or analog output pin on the microcontroller. A single power supply provides +5V and GND to all servos, and the microcontroller is configured with some of its pins interconnected for potential programming or operational purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of Oymotion: A project utilizing Micro Servo  in a practical application
Battery-Powered ESP32-S3 Controlled Servo System with gForceJoint UART
This circuit is a servo control system powered by a 4 x AAA battery pack, regulated by a step-down DC regulator. An ESP32-S3 microcontroller controls five servos and communicates with a gForceJoint UART sensor, enabling precise servo movements based on sensor inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotic arms and grippers
  • Pan-tilt camera mounts
  • Model airplanes and boats
  • Automated mechanisms in hobbyist projects
  • Educational electronics and prototyping

Technical Specifications

The SG90 Micro Servo is a 3-wire servo motor with a plastic gear system. Below are its key technical details:

Parameter Value
Operating Voltage 4.8V to 6.0V
Stall Torque 1.8 kg·cm (at 4.8V)
Operating Speed 0.1 s/60° (at 4.8V)
Rotation Range 0° to 180°
Gear Type Plastic
Weight 9g
Dimensions 22.2mm x 11.8mm x 31mm
Connector Type 3-pin female header (Dupont)

Pin Configuration

The SG90 Micro Servo has three wires for connection. The pinout is as follows:

Wire Color Function Description
Orange Signal (PWM) Receives the PWM signal to control the servo angle.
Red VCC (+) Power supply input (4.8V to 6.0V).
Brown Ground (GND) Ground connection.

Usage Instructions

Connecting the SG90 Micro Servo

  1. Power Supply: Connect the red wire to a 5V power source and the brown wire to ground (GND). Ensure the power supply can provide sufficient current (at least 500mA) to avoid voltage drops.
  2. Signal Input: Connect the orange wire to a PWM-capable pin on your microcontroller (e.g., Arduino UNO pin 9 or 10).
  3. PWM Signal: Use a PWM signal with a frequency of 50Hz (20ms period). The pulse width determines the servo angle:
    • 1ms pulse width: 0° position
    • 1.5ms pulse width: 90° position (center)
    • 2ms pulse width: 180° position

Example: Using the SG90 with Arduino UNO

Below is an example Arduino sketch to control the SG90 Micro Servo:

#include <Servo.h> // Include the Servo library

Servo myServo; // Create a Servo object to control the SG90

void setup() {
  myServo.attach(9); // Attach the servo to pin 9 on the Arduino
}

void loop() {
  myServo.write(0); // Move the servo to 0 degrees
  delay(1000); // Wait for 1 second

  myServo.write(90); // Move the servo to 90 degrees (center position)
  delay(1000); // Wait for 1 second

  myServo.write(180); // Move the servo to 180 degrees
  delay(1000); // Wait for 1 second
}

Best Practices

  • Avoid overloading the servo beyond its torque rating to prevent damage.
  • Use an external power supply if multiple servos are used, as the Arduino's 5V pin may not provide sufficient current.
  • Ensure the servo is not stalled (blocked from moving) for extended periods, as this can overheat the motor.

Troubleshooting and FAQs

Common Issues

  1. Servo Not Moving

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check the connections and ensure the power supply provides at least 4.8V and 500mA.
  2. Servo Jitters or Vibrates

    • Cause: Electrical noise or unstable power supply.
    • Solution: Use a capacitor (e.g., 100µF) across the power supply to stabilize voltage.
  3. Servo Moves Erratically

    • Cause: Incorrect PWM signal or interference.
    • Solution: Verify the PWM signal frequency (50Hz) and ensure proper grounding.
  4. Servo Overheats

    • Cause: Prolonged stalling or excessive load.
    • Solution: Reduce the load on the servo and avoid blocking its movement.

FAQs

Q: Can the SG90 rotate continuously?
A: No, the SG90 is a positional servo with a rotation range of 0° to 180°. For continuous rotation, use a continuous rotation servo.

Q: Can I power the SG90 directly from the Arduino?
A: While possible for a single servo, it is recommended to use an external power supply for reliable operation, especially when using multiple servos.

Q: How do I increase the servo's lifespan?
A: Avoid overloading, stalling, and operating the servo at high temperatures. Use it within its specified voltage and torque limits.

Q: Can I control the SG90 without a microcontroller?
A: Yes, you can use a servo tester or a 555 timer circuit to generate the required PWM signal.