

The Adafruit Feedback Servo (Large) (Manufacturer Part ID: 1404) is a high-torque servo motor with built-in feedback capabilities. This feature allows users to monitor the servo's position in real-time, enabling precise control of position and speed. It is ideal for applications requiring accurate motion control, such as robotics, automation systems, and animatronics.








Below are the key technical details for the Adafruit Feedback Servo (Large):
| Specification | Value |
|---|---|
| Operating Voltage | 4.8V to 6.0V |
| Stall Torque | 4.5 kg·cm (at 4.8V), 5.5 kg·cm (at 6.0V) |
| Operating Speed | 0.20 sec/60° (at 4.8V), 0.16 sec/60° (at 6.0V) |
| Feedback Type | Analog voltage proportional to position |
| Control Signal | PWM (Pulse Width Modulation) |
| PWM Pulse Range | 500 µs to 2500 µs |
| Dimensions | 40.8 mm x 20.1 mm x 38 mm |
| Weight | 41 g |
| Connector Type | 3-pin standard servo connector + feedback wire |
The Adafruit Feedback Servo has a standard 3-pin servo connector for control and power, along with an additional feedback wire. The pinout is as follows:
| Pin | Wire Color | Description |
|---|---|---|
| 1 | Brown | Ground (GND) |
| 2 | Red | Power (VCC) |
| 3 | Orange | PWM Signal Input |
| Wire Color | Description |
|---|---|
| Yellow | Analog feedback signal (position output) |
Below is an example of how to connect the Adafruit Feedback Servo to an Arduino UNO:
The following Arduino code demonstrates how to control the servo and read its position feedback:
#include <Servo.h> // Include the Servo library
Servo myServo; // Create a Servo object
const int feedbackPin = A0; // Analog pin for feedback signal
const int servoPin = 9; // PWM pin for servo control
void setup() {
Serial.begin(9600); // Initialize serial communication
myServo.attach(servoPin); // Attach the servo to the PWM pin
}
void loop() {
// Move the servo to 0 degrees
myServo.write(0);
delay(1000); // Wait for the servo to reach the position
// Read and print the feedback voltage
int feedbackValue = analogRead(feedbackPin);
float position = map(feedbackValue, 0, 1023, 0, 180); // Map feedback to degrees
Serial.print("Servo Position: ");
Serial.print(position);
Serial.println(" degrees");
// Move the servo to 90 degrees
myServo.write(90);
delay(1000);
// Move the servo to 180 degrees
myServo.write(180);
delay(1000);
}
Servo Not Moving
Erratic Movement
Feedback Signal Not Working
Overheating
Q: Can I use this servo with a Raspberry Pi?
A: Yes, but you will need a PWM driver (e.g., Adafruit PCA9685) since the Raspberry Pi's GPIO pins do not provide hardware PWM suitable for servos.
Q: What is the purpose of the feedback wire?
A: The feedback wire provides an analog voltage proportional to the servo's position, allowing for closed-loop control or position monitoring.
Q: Can I power the servo directly from the Arduino?
A: While possible for light loads, it is recommended to use an external power supply to avoid overloading the Arduino's voltage regulator.
Q: What is the maximum rotation angle of this servo?
A: The servo typically rotates 180°, but this may vary slightly depending on the PWM signal range.
This concludes the documentation for the Adafruit Feedback Servo (Large). For further assistance, refer to the Adafruit website or community forums.