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

How to Use Tower Pro SG90 servo: Examples, Pinouts, and Specs

Image of Tower Pro SG90 servo
Cirkit Designer LogoDesign with Tower Pro SG90 servo in Cirkit Designer

Introduction

The Tower Pro SG90 is a small, lightweight servo motor widely used in hobbyist projects for precise control of angular position. It is particularly popular in robotics, RC vehicles, and various DIY electronics projects due to its affordability, ease of use, and reliable performance. The SG90 operates on a voltage range of 4.8V to 6V and provides a torque of up to 1.8 kg-cm, making it suitable for a variety of applications that require precise movement and positioning.

Explore Projects Built with Tower Pro SG90 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 UNO Controlled Servo Motor with Precise Angle Control
Image of Servo_Controll_Using_Arduino: A project utilizing Tower Pro SG90 servo 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
Itsy Bitsy M0 Express Controlled Multi-Servo System
Image of Crab Robot Circuit: A project utilizing Tower Pro SG90 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
Arduino UNO Controlled Servo Motor Sequence
Image of Servo : A project utilizing Tower Pro SG90 servo 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
Arduino UNO Controlled Dual SG90 Servo Circuit
Image of Servo Wiring erm, tutorial?: A project utilizing Tower Pro SG90 servo in a practical application
This circuit consists of an Arduino UNO microcontroller connected to two Tower Pro SG90 servos. The servos are powered by the Arduino's 5V output and share a common ground with the Arduino. The signal pins of the servos are controlled by digital pins D2 and D3 on the Arduino, allowing for independent servo actuation through programmed instructions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Tower Pro SG90 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 Servo_Controll_Using_Arduino: A project utilizing Tower Pro SG90 servo 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 Crab Robot Circuit: A project utilizing Tower Pro SG90 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 Servo : A project utilizing Tower Pro SG90 servo 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 Servo Wiring erm, tutorial?: A project utilizing Tower Pro SG90 servo in a practical application
Arduino UNO Controlled Dual SG90 Servo Circuit
This circuit consists of an Arduino UNO microcontroller connected to two Tower Pro SG90 servos. The servos are powered by the Arduino's 5V output and share a common ground with the Arduino. The signal pins of the servos are controlled by digital pins D2 and D3 on the Arduino, allowing for independent servo actuation through programmed instructions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

Parameter Value
Operating Voltage 4.8V to 6V
Torque 1.8 kg-cm (at 4.8V)
Speed 0.1 sec/60 degrees (at 4.8V)
Weight 9g
Dimensions 22.2 x 11.8 x 31 mm
Control Signal PWM (Pulse Width Modulation)
Rotation Range 0 to 180 degrees

Pin Configuration and Descriptions

Pin Number Pin Name Description
1 GND Ground
2 VCC Power supply (4.8V to 6V)
3 Signal PWM control signal

Usage Instructions

How to Use the Component in a Circuit

  1. Power Supply: Connect the VCC pin to a 5V power supply and the GND pin to the ground of your circuit.
  2. Control Signal: Connect the Signal pin to a PWM-capable output pin of your microcontroller (e.g., Arduino).

Example Circuit with Arduino UNO

Arduino UNO          SG90 Servo
-----------          ----------
5V ----------------> VCC
GND ----------------> GND
Pin 9 --------------> Signal

Example Code for Arduino UNO

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

Servo myServo;  // Create a Servo object

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

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

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

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

Important Considerations and Best Practices

  • Power Supply: Ensure that the power supply can provide sufficient current for the servo motor. A typical SG90 servo can draw up to 500mA under load.
  • PWM Signal: Use a PWM signal with a frequency of 50Hz (20ms period). The pulse width should vary between 1ms (0 degrees) and 2ms (180 degrees).
  • Mechanical Limits: Avoid forcing the servo beyond its mechanical limits (0 to 180 degrees) to prevent damage.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Servo Not Moving:

    • Check Connections: Ensure all connections are secure and correct.
    • Power Supply: Verify that the power supply is within the specified voltage range (4.8V to 6V).
    • PWM Signal: Ensure the PWM signal is being correctly generated by the microcontroller.
  2. Servo Jittering:

    • Power Supply: Ensure a stable power supply. Noise or insufficient current can cause jittering.
    • Signal Interference: Check for any sources of electrical noise that might interfere with the PWM signal.
  3. Limited Range of Motion:

    • Code: Verify that the code is correctly setting the desired angles.
    • Mechanical Obstruction: Ensure there are no physical obstructions preventing the servo from moving through its full range.

FAQs

Q: Can I use the SG90 servo with a 3.3V microcontroller? A: The SG90 servo requires a power supply of 4.8V to 6V. However, the control signal can be driven by a 3.3V microcontroller if the power supply to the servo is within the specified range.

Q: How do I increase the torque of the SG90 servo? A: The torque of the SG90 servo is fixed by its design. To achieve higher torque, consider using a different servo model with higher torque specifications.

Q: Can I control multiple SG90 servos with a single Arduino? A: Yes, you can control multiple SG90 servos with a single Arduino by using multiple PWM-capable pins. The Servo library supports up to 12 servos on most Arduino boards.


This documentation provides a comprehensive guide to using the Tower Pro SG90 servo motor, covering its technical specifications, usage instructions, and troubleshooting tips. Whether you are a beginner or an experienced user, this guide will help you effectively integrate the SG90 servo into your projects.