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, manufactured by AC (Part ID: servo motor), is a small and lightweight servo motor widely used in robotics, hobby projects, and other applications requiring precise angular movement. This servo motor is controlled via Pulse Width Modulation (PWM) signals, making it easy to interface with microcontrollers such as Arduino. Its compact size and affordability make it a popular choice for beginners and professionals alike.

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

Common Applications

  • Robotic arms and grippers
  • RC (Radio-Controlled) vehicles and planes
  • Pan-tilt camera systems
  • Automated mechanisms in hobby projects
  • Educational electronics kits

Technical Specifications

The SG90 Servo Motor is designed for low-power applications and offers reliable performance in a compact form factor. Below are its key technical details:

Parameter Specification
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
Angle Range 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 for power, ground, and signal. Below is the pinout description:

Pin Wire Color Description
1 Brown Ground (GND)
2 Red Power (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 (e.g., Arduino 5V pin or an external power supply).
  2. Ground: Connect the brown wire to the ground (GND) of your circuit.
  3. Signal: Connect the orange wire to a PWM-capable pin on your microcontroller (e.g., Arduino pin 9).

Important Considerations

  • Power Supply: Ensure the power supply can provide sufficient current (at least 500 mA) to avoid erratic behavior.
  • PWM Signal: Use a PWM signal with a frequency of 50 Hz (20 ms period). The pulse width determines the angle:
    • 500 µs: 0° position
    • 1500 µs: 90° position (center)
    • 2400 µs: 180° position
  • Avoid Overloading: Do not exceed the torque rating to prevent damage to the motor.

Example Code for Arduino UNO

Below is an example of how to control the SG90 Servo Motor using an Arduino UNO:

#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

  • Use a dedicated power supply for the servo motor if multiple servos are used in a project.
  • Avoid abrupt changes in angle to reduce wear on the motor.
  • Use proper decoupling capacitors near the power supply to minimize noise.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Servo Motor Not Moving

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

    • Cause: Noise in the power supply or incorrect PWM signal.
    • Solution: Use a stable power source and verify the PWM signal frequency is 50 Hz.
  3. Servo Overheating

    • Cause: Overloading or continuous operation at high torque.
    • Solution: Reduce the load on the servo and allow it to cool down periodically.
  4. Limited Range of Motion

    • Cause: Incorrect PWM pulse width or mechanical obstruction.
    • Solution: Verify the PWM pulse width is within the 500 µs to 2400 µs range and check for physical obstructions.

FAQs

Q: Can I power the SG90 Servo Motor directly from the Arduino?
A: Yes, but only for a single servo. For multiple servos, use an external power supply to avoid overloading the Arduino's voltage regulator.

Q: What is the maximum angle the SG90 can rotate?
A: The SG90 can rotate up to 180°, controlled by the PWM signal.

Q: Can I use the SG90 Servo Motor with a Raspberry Pi?
A: Yes, but you will need to generate a 50 Hz PWM signal using a library like RPi.GPIO or an external PWM controller.

Q: How do I know if my servo is damaged?
A: If the servo does not respond to PWM signals or makes unusual noises, it may be damaged. Check the wiring and power supply before concluding it is faulty.

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