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

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

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

Introduction

The MG90S is a small, lightweight servo motor commonly used in robotics and hobby projects. It features a metal gear for improved durability and provides precise control of angular position, making it ideal for applications requiring movement and positioning. This servo motor is widely appreciated for its reliability, compact size, and ease of use.

Explore Projects Built with Servo MG90S

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-Based Smart Lock System with Servo Control and GSM Connectivity
Image of RM Circuit Diagaram: A project utilizing Servo MG90S in a practical application
This circuit is a control system utilizing an Arduino Mega 2560 to manage multiple MG90S servos, an LCD display, a DS3231 RTC module, a SIM900A GSM module, and an ESP32 for communication. It also includes a relay module to control a 12V solenoid lock, an IR sensor for input, and a Li-ion battery for power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
GPS-Enabled Telemetry Drone with Speedybee F405 WING and Brushless Motor
Image of Pharmadrone Wiring: A project utilizing Servo MG90S in a practical application
This circuit is designed for a remote-controlled vehicle or drone, featuring a flight controller that manages a brushless motor, servomotors for actuation, telemetry for data communication, and a GPS module for positioning. It is powered by a lipo battery and includes a receiver for remote control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU-Based Sensor Monitoring System
Image of Smart Baby Cradle: A project utilizing Servo MG90S in a practical application
This circuit is designed around an ESP8266 NodeMCU microcontroller, which interfaces with a variety of sensors and a servo motor. It includes a PIR motion sensor to detect movement, a sound sensor for audio detection, and a water level sensor for monitoring liquid levels. The MG90S servo motor is controlled by the microcontroller, and the entire system is powered by a battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Robotic Arm with Joystick and Push Button Interface
Image of ppp: A project utilizing Servo MG90S in a practical application
This is a servo control system featuring an Arduino UNO that processes input from a dual-axis joystick and push switches to operate multiple MG996R servo motors. It is designed for precise multi-axis control, potentially for applications like robotics or remote-controlled mechanisms.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Servo MG90S

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 RM Circuit Diagaram: A project utilizing Servo MG90S in a practical application
Arduino Mega 2560-Based Smart Lock System with Servo Control and GSM Connectivity
This circuit is a control system utilizing an Arduino Mega 2560 to manage multiple MG90S servos, an LCD display, a DS3231 RTC module, a SIM900A GSM module, and an ESP32 for communication. It also includes a relay module to control a 12V solenoid lock, an IR sensor for input, and a Li-ion battery for power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Pharmadrone Wiring: A project utilizing Servo MG90S in a practical application
GPS-Enabled Telemetry Drone with Speedybee F405 WING and Brushless Motor
This circuit is designed for a remote-controlled vehicle or drone, featuring a flight controller that manages a brushless motor, servomotors for actuation, telemetry for data communication, and a GPS module for positioning. It is powered by a lipo battery and includes a receiver for remote control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Smart Baby Cradle: A project utilizing Servo MG90S in a practical application
ESP8266 NodeMCU-Based Sensor Monitoring System
This circuit is designed around an ESP8266 NodeMCU microcontroller, which interfaces with a variety of sensors and a servo motor. It includes a PIR motion sensor to detect movement, a sound sensor for audio detection, and a water level sensor for monitoring liquid levels. The MG90S servo motor is controlled by the microcontroller, and the entire system is powered by a battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ppp: A project utilizing Servo MG90S in a practical application
Arduino-Controlled Robotic Arm with Joystick and Push Button Interface
This is a servo control system featuring an Arduino UNO that processes input from a dual-axis joystick and push switches to operate multiple MG996R servo motors. It is designed for precise multi-axis control, potentially for applications like robotics or remote-controlled mechanisms.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotic arms and grippers
  • RC vehicles (cars, boats, planes)
  • Pan-tilt camera systems
  • Automated mechanisms and animatronics
  • Educational and DIY electronics projects

Technical Specifications

The MG90S servo motor is designed to deliver high 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 (4.8V), 2.2 kg·cm (6.0V)
Operating Speed 0.1 sec/60° (4.8V), 0.08 sec/60° (6.0V)
Gear Type Metal
Weight 13.4 g
Dimensions 22.8 × 12.2 × 28.5 mm
Control Signal PWM (Pulse Width Modulation)
PWM Pulse Range 500 µs to 2500 µs
Rotation Angle 0° to 180°
Connector Type 3-pin female header (Dupont)

Pin Configuration

The MG90S servo motor has a 3-wire connector with the following pinout:

Wire Color Pin Function Description
Brown Ground (GND) Connect to the ground of the power supply or microcontroller.
Red Power (VCC) Connect to a 4.8V–6.0V power source.
Orange Signal (PWM Input) Receives the PWM signal for position control.

Usage Instructions

Connecting the MG90S Servo Motor

  1. Power Supply: Ensure the servo is powered by a stable 4.8V–6.0V source. For best performance, use an external power supply if the servo draws more current than your microcontroller can provide.
  2. Wiring:
    • Connect the brown wire to the ground (GND) pin of your microcontroller or power supply.
    • Connect the red wire to the 5V or 6V power source.
    • Connect the orange wire to a PWM-capable pin on your microcontroller.

Controlling the Servo with Arduino UNO

The MG90S can be controlled using the Arduino Servo library. Below is an example code to rotate the servo to specific angles:

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

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

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

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 Overloading: Do not exceed the torque rating of the servo to prevent damage to the motor or gears.
  • Use Proper Power Supply: If using multiple servos, ensure the power supply can handle the combined current draw.
  • PWM Signal: Ensure the PWM signal is within the specified range (500 µs to 2500 µs) to avoid erratic behavior.
  • Mechanical Limits: Avoid forcing the servo beyond its physical rotation limits (0° to 180°).

Troubleshooting and FAQs

Common Issues and Solutions

  1. Servo Not Moving:

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check the wiring and ensure the power supply provides adequate voltage and current.
  2. Erratic Movement:

    • Cause: Noisy or unstable PWM signal.
    • Solution: Use a clean PWM signal from a microcontroller or servo controller.
  3. Overheating:

    • Cause: Prolonged operation under high torque or stalled conditions.
    • Solution: Avoid stalling the servo and ensure it operates within its torque limits.
  4. Limited Rotation:

    • Cause: Servo is designed for 180° rotation.
    • Solution: This is normal behavior. If continuous rotation is needed, use a continuous rotation servo.

FAQs

Q: Can the MG90S be powered directly from an Arduino UNO?
A: While the MG90S can be powered from the Arduino's 5V pin, it is recommended to use an external power supply for reliable operation, especially if multiple servos are used.

Q: What happens if I send a PWM signal outside the specified range?
A: Sending a PWM signal outside the 500 µs to 2500 µs range may cause the servo to behave unpredictably or stop responding.

Q: Can the MG90S rotate more than 180°?
A: No, the MG90S is designed for a maximum rotation angle of 180°. For continuous rotation, consider using a different type of servo.

Q: How much current does the MG90S draw?
A: The current draw depends on the load. Under no load, it typically draws around 10–100 mA, but under high torque, it can draw up to 700 mA.

By following this documentation, you can effectively integrate the MG90S servo motor into your projects and troubleshoot common issues with ease.