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

How to Use SG90 Servo Motr: Examples, Pinouts, and Specs

Image of SG90 Servo Motr
Cirkit Designer LogoDesign with SG90 Servo Motr in Cirkit Designer

Introduction

The SG90 Servo Motor by AC (Manufacturer Part ID: Servo Motor) is a small, lightweight, and cost-effective servo motor widely used in robotics, RC vehicles, and hobby electronics projects. It is capable of precise angular movement and control, making it ideal for applications requiring accurate positioning, such as robotic arms, pan-tilt camera mounts, and model airplanes.

This servo motor operates on pulse-width modulation (PWM) signals and is compatible with most microcontrollers, including Arduino boards. Its compact size and ease of use make it a popular choice for both beginners and experienced electronics enthusiasts.

Explore Projects Built with SG90 Servo Motr

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Itsy Bitsy M0 Express Controlled Multi-Servo System
Image of Crab Robot Circuit: A project utilizing SG90 Servo Motr 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
Arduino UNO Controlled Servo Motor with Precise Angle Control
Image of Servo_Controll_Using_Arduino: A project utilizing SG90 Servo Motr in a practical application
This circuit uses an Arduino UNO to control a Tower Pro SG90 servo motor. The Arduino provides power and ground to the servo, and sends control signals via digital pin D9 to rotate the servo between 90 and 180 degrees in a loop.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Controlled Servo Motor Sequence
Image of Servo : A project utilizing SG90 Servo Motr in a practical application
This circuit consists of an Arduino UNO microcontroller connected to a Tower Pro SG90 servo motor. The Arduino provides power (5V and GND) to the servo and controls its position via digital pin D7. The embedded code on the Arduino cycles the servo through a range of positions with delays between each movement.
Cirkit Designer LogoOpen Project in Cirkit Designer
555 Timer IC and Servo Motor Control Circuit with Adjustable Timing
Image of Copy of servo controller: A project utilizing SG90 Servo Motr in a practical application
This circuit uses a 555 Timer IC configured as an astable multivibrator to generate a PWM signal, which is used to control a Tower Pro SG90 servo motor. The frequency and duty cycle of the PWM signal can be adjusted using a rotary potentiometer, and the circuit is powered by a 3.7V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SG90 Servo Motr

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 Crab Robot Circuit: A project utilizing SG90 Servo Motr 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 Servo_Controll_Using_Arduino: A project utilizing SG90 Servo Motr in a practical application
Arduino UNO Controlled Servo Motor with Precise Angle Control
This circuit uses an Arduino UNO to control a Tower Pro SG90 servo motor. The Arduino provides power and ground to the servo, and sends control signals via digital pin D9 to rotate the servo between 90 and 180 degrees in a loop.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Servo : A project utilizing SG90 Servo Motr in a practical application
Arduino UNO Controlled Servo Motor Sequence
This circuit consists of an Arduino UNO microcontroller connected to a Tower Pro SG90 servo motor. The Arduino provides power (5V and GND) to the servo and controls its position via digital pin D7. The embedded code on the Arduino cycles the servo through a range of positions with delays between each movement.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of servo controller: A project utilizing SG90 Servo Motr in a practical application
555 Timer IC and Servo Motor Control Circuit with Adjustable Timing
This circuit uses a 555 Timer IC configured as an astable multivibrator to generate a PWM signal, which is used to control a Tower Pro SG90 servo motor. The frequency and duty cycle of the PWM signal can be adjusted using a rotary potentiometer, and the circuit is powered by a 3.7V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Below are the key technical details of the SG90 Servo Motor:

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)
Control Signal PWM (Pulse Width Modulation)
PWM Pulse Range 500 µs to 2400 µs
Rotation Angle 0° to 180°
Weight 9 g
Dimensions 22.2 mm x 11.8 mm x 31 mm

Pin Configuration

The SG90 Servo Motor has a 3-pin connector with the following pinout:

Pin Wire Color Description
1 Brown Ground (GND)
2 Red Power Supply (VCC)
3 Orange Signal (PWM Input)

Usage Instructions

Connecting the SG90 Servo Motor

  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 500 mA) 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 pulse width between 500 µs (0°) and 2400 µs (180°) to control the servo's position.

Example: Using the SG90 Servo Motor with Arduino UNO

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

#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
  delay(1000);       // Wait for 1 second

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

Best Practices

  • Avoid stalling the servo for extended periods, as this can cause overheating and damage.
  • Use a separate power supply for the servo if your circuit includes multiple components to prevent voltage drops.
  • Ensure the PWM signal is stable and within the specified range to avoid erratic behavior.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Servo Not Moving:

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check the connections and ensure the power supply provides at least 500 mA.
  2. Erratic Movement:

    • Cause: Unstable PWM signal or electrical noise.
    • Solution: Use a decoupling capacitor (e.g., 100 µF) across the power supply and ensure the PWM signal is generated correctly.
  3. Overheating:

    • Cause: Prolonged stalling or excessive load.
    • Solution: Reduce the load on the servo and avoid holding it in a stalled position.
  4. Limited Range of Motion:

    • Cause: PWM signal out of range.
    • Solution: Ensure the PWM pulse width is between 500 µs and 2400 µs.

FAQs

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

Q: Can I power the SG90 directly from an Arduino?
A: While it is possible, it is not recommended for prolonged use, as the Arduino's 5V pin may not provide sufficient current. Use an external power supply for better performance.

Q: How do I control multiple SG90 servos with an Arduino?
A: You can use multiple PWM-capable pins on the Arduino or a dedicated servo driver board to control multiple servos simultaneously.

By following this documentation, you can effectively integrate the SG90 Servo Motor into your projects and troubleshoot common issues with ease.