MG90S Mini Servo

View on Amazon
Overview
About MG90S Mini Servo
The MG90S is a metal-gear micro servo motor widely used in robotics, RC models, and DIY electronics. With its higher torque and durability, it outperforms plastic-gear alternatives like the SG90.
⚡ Key Features
- Operating Voltage: 4.8V - 6V
- Torque: Up to 2.2 kg·cm at 4.8V
- Angular Range: 0° to 180° (PWM controlled)
- Pulse Width: 1ms (0°), 1.5ms (90°), 2ms (180°)
- Weight: ~13.4g
- Size: 22.8mm x 12.2mm x 31mm
- Metal Gears: Provides better strength and longevity compared to nylon-geared servos.
Looking for servo motor options for your ESP32-based projects? Check out this guide on top servo motors for ESP32.
Get Your MG90S
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
MG90S Specifications
Complete technical specification details for MG90S Mini Servo
📊 Technical Parameters
MG90S Pinout
The MG90S is a 3-wire servo motor with GND (brown), +5V (red), and DATA (orange) wires.
Visual Pinout Diagram

Pin Types
Quick Tips
Object],[object Object]
Object]
gears for better durability
Pin Descriptions
| Pin Name | Type | Description | Notes |
|---|---|---|---|
1 GND | Power | Ground connection. Connect to ESP32 GND or external power supply ground. | Completes the electrical circuit. |
2 +5V | Power | Power supply input (4.8V-6V). Can be powered from ESP32 5V pin for light loads. | Use external power supply for multiple servos or heavy loads. |
3 DATA | PWM | PWM control signal. Pulse width: 1ms (0°), 1.5ms (90°), 2ms (180°). | Connect to a PWM-capable GPIO pin (e.g., GPIO 18). |
Wiring MG90S to ESP32
To control the MG90S servo with an ESP32, connect the brown wire to GND, red wire to 5V power, and orange wire to a PWM GPIO pin.
Visual Wiring Diagram

Connection Status
Protocol
Pin Connections
| MG90S Pin | Connection | ESP32 Pin | Description |
|---|---|---|---|
1 GND (brown) Required | GND | Ground connection for both power and signal reference. | |
2 +5V (red) Required | 5V or External Supply | Power supply (4.8V-6V). Use external supply for multiple servos. | |
3 DATA (orange) Required | GPIO 18 | PWM control signal (50Hz, 1-2ms pulse width). |
Object]
Object]
multiple servos, use external 5V power supply with shared GND
100µF capacitor across power supply to reduce noise
MG90S Troubleshooting
Common issues and solutions to help you get your sensor working
Common Issues
Issue: The MG90S servo rotates 360 degrees continuously rather than moving to a specified position.
Possible causes include using a continuous rotation version of the servo or incorrect pulse width modulation (PWM) signals.
Solution: Verify whether the servo is a standard positional model or a continuous rotation variant. Standard MG90S servos are designed for approximately 180-degree rotation. If the servo rotates continuously, it may be a continuous rotation model, which interprets PWM signals differently. Ensure that the PWM signals correspond to the servo's specifications, typically with pulse widths between 1ms and 2ms for standard servos.
Issue: The MG90S servo does not achieve its full expected rotation range, moving less than 180 degrees.
Possible causes include incorrect PWM signal parameters or mechanical limitations.
Solution: Adjust the PWM signal to ensure it falls within the servo's required pulse width range. For the MG90S, pulse widths typically range from 0.8ms to 2.1ms to achieve the full rotation. Verify that there are no mechanical obstructions preventing movement.
⚡ Servo Jittering or Twitching
Issue: The MG90S servo exhibits jittery or twitchy movements during operation.
Possible causes include electrical noise, insufficient power supply, or signal interference.
Solution: Ensure a stable and adequate power supply to the servo, as voltage fluctuations can cause erratic behavior. Implement proper grounding and consider adding decoupling capacitors to filter out electrical noise. Check for any sources of signal interference and ensure that control signals are clean and within the appropriate voltage levels.
Issue: The MG90S servo does not respond to input control signals, remaining stationary.
Possible causes include incorrect wiring, faulty connections, or incompatible signal voltage levels.
Solution: Double-check all wiring connections to ensure they are correct and secure. Verify that the control signal wire is connected to a PWM-capable pin on the microcontroller. Ensure that the signal voltage levels are compatible with the servo's requirements, typically 3.3V or 5V depending on the microcontroller and servo specifications.
Debugging Tips
Use the Serial Monitor to check for error messages and verify the sensor's output. Add debug prints in your code to track the sensor's state.
Use a multimeter to verify voltage levels and check for continuity in your connections. Ensure the power supply is stable and within the sensor's requirements.
Additional Resources
MG90S Programming Examples
Ready-to-use code examples for different platforms and frameworks
Wrapping Up MG90S
The ESP32 MG90S Mini Servo is a powerful servo sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.
Best Practices
For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.
Safety First
Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.
Ready to Start Building?
Now that you have all the information you need, it's time to integrate the MG90S into your ESP32 project and bring your ideas to life!








