Parallax Feedback 360° High Speed Servo


1342 in stock

Quantity Discounts

Quantity Price
1 - 9 $27.99
10 - 19 $26.60
20+ $25.20

Product Description

The Parallax Feedback 360° High Speed Servo provides the functionality of a light-duty standard servo, continuous rotation servo, high-speed servo, and encoder in one convenient package. This is the servo on the ActivityBot 360° Robot.

Like most continuous rotation servos, the Feedback 360° is controlled by a 50 Hz pulse-width-modulation signal.  What sets it apart is a return signal line from an internal Hall effect sensor system that provides digital angular position feedback.

Utilizing this feedback signal, your application can cause the servo to turn to and hold any angle, much like a standard servo but with an unlimited range of motion.  Or, rotate the servo continuously at a controlled, verifiable speed—up to 120 RPM—as a robot drive motor.  Control signal response is nicely linear across the speed control range.


  • Bidirectional, continuous, feedback-controllable rotation from -120 to 120 RPM
  • PWM positional feedback across entire angular range
  • Internal Hall effect position sensor, which is not subject to wear or sensor deadband as are potentiometer-style feedback systems
  • No need to manually “center” the servo
  • 3-pin ground-power-signal cable plugs onto the Activity Board’s 3-pin header
  • Separate single wire with female connector supplies feedback to a separate I/O pin
  • Fits our Small Robot Wheel and Tire and Servo Wheels

Application Ideas:

  • Robot drive motors
  • Small-scale animatronics
  • Interactive artwork


  • RPM: +/-120 w/feedback control, 140 max (+/- 10) @ 6 V, no load
  • Gears: POM
  • Case: Nylon & fiberglass
  • Spline: 25-tooth, 5.96 mm OD
  • Peak stall torque @ 6 V: 2.2 kg-cm (30.5 oz-in)
  • Voltage requirements: 6 VDC typical, 5–8.4 VDC max range*
  • Current requirements: 15 mA (+/- 10) idle, 150 mA (+/- 40) no-load, 1200 mA stalled
  • Control signal: PWM,  3–5 V 50 Hz,  1280–1720 µs
  • Control signal zero-speed deadband:  1480–1520 µs (+/- 10)
  • Feedback sensor: Hall effect
  • Feedback signal: PWM, 3.3V,  910 Hz, 2.7–97.1% duty cycle
  • Product weight: 1.4 oz ( 40 g)
  • Cable length: ~ 9.8 in (250 mm)
  • Dimensions: approx. 2.15 x 1.46 x 0.79 in (50.4 x 37.2 x 20 mm)
  • Mounting hole spacing: 10 x 49.5 mm on center
  • Operating temperature range: 5 to 158 °F (-15 to +70 °C)

*5 VDC is absolute minimum required for no-load angular position control.  5.8 to 8 VDC is recommended for continuous rotation speed control.

Additional Information

Weight 0.095 lbs
Dimensions 1 × 1 × 1 in


Notify of
Newest Most Voted
Inline Feedbacks
View all comments

I’m using the Parallax Feedback 360 with a Raspberry Pi 4B. Connecting the control and feedback wires directly to GPIO pins on the Pi. The Red and Black wires are connected to an external +5VDC source (ground common with Pi ground). I’m trying to move the servo a small distance (<1/60th of a rotation), then measure the position via the feedback pulse. How few control pulses can I send to get minimal but consistent movement? It seems like when I send 1 pulse or 2 pulses the servo moves different amounts with different invocations.

Andy Lindsay (Parallax)

If you were using a Propeller Microcontroller like the Activity Board or FLiP, there are Propeller C with SimpleIDE control examples in this Feedback 360 Servo’s Downloads section. You can also program it with BlocklyProp; and info on the Feedback 360 blocks are in the Servo block reference. There are also many application examples with the ActivityBot robot -in both C and BlocklyProp.

About the Raspberry Pi, I haven’t been able to find anything that’s not a from-scratch coding approach. If you find something good, or develop and post it, please let us know. In the meantime, here are the details about what it would entail:

The feedback 360 servo is designed to be controlled through a control system. Every 50th of a second, a control pulse is sent. Each pulse has to last a certain duration to set the motor speed/direction. Between each control pulse, the feedback pulses from the servo are monitored to find motor angle. Then, control system calculations determine speed/direction adjustments for the next control pulse.

General info about Feedback 360 servo control from scratch with a microcontroller can be found on pages 2 through 7 of the Parallax Feedback 360° High-Speed Servo (#900-00360) PDF document. It’s part of the Parallax Feedback 360° High Speed Servo – downloads (see downloads tab). The coding approaches can probably be applied to the Pi as well. Here is a summary:

Microsecond level precision is needed for both control pulses and feedback pulses. Control pulses should have rising edges every 20,000 us, with durations ranging from 1275 us (full speed cw) to 1500 us (stop) to 1725 us (full speed ccw). Microsecond feedback pulse measurements have to be supplied to a duty cycle calculation of dc = tPulse / tCycle. In other words, the ratio of feedback pulse width to pulse period is what indicates the angle: from 0 at 2.9% to almost 360 at 97.1%.

The Propeller Microcontroller has libraries for this, and it can also be programmed to communicate serially with the Raspberry Pi over USB. More generally, pairing the Propeller with the Raspberry Pi works well because the Propeller provides precise signaling for motors and sensors and the Pi can be free to excel with its computing power. This in mind, another approach would be to use either BlocklyProp or SimpleIDE to set up servo control with a Propeller. Then add serial communication between the Pi and the Propeller. The Pi issues the orders, and the Propeller executes them.


Thanks for the reply. I’m coding from scratch directly with C++ from the GPIO pins on the Raspberry Pi 4B, using the BCM2835 library. I want the servo to move very slowly and with minimal increments (think clock hands). When I send a single 1480 microsecond pulse on the control line, results are unpredictable. If I send two pulses at 1480 microseconds with a period of 20000 microseconds, the servo moves but the movement varies with each invocation. The measured feedback pulse variation from these different movements is between 5 and 12 microseconds for each tick. At 12 microseconds per tick the most precision I can get is ((1/910)*(0.971-0.029))/12 = 86 increments in a full 360 degree rotation. It would be nice to get something closer to 360 increments. Any way to make the servo go slower and/or less distance?

Andy Lindsay (Parallax)

John, I’m sorry I missed your reply. Please email to be sure to get our attention.

Are you applying 1500 us pulses the rest of the time? If yes, then good. If not, make sure the two 1480 us pulses come between a long series of 1500 us pulses.

I would recommend writing a test that sweeps the pulses from 1470 to 1530 to find the pulse width where the servo actually starts to move. It might be 1490 instead of 1480. Also, a feedback system should detect overshoot and push the servo back to the desired angle.

Would love your thoughts, please comment.x
New Parallax Website!

We have a brand new website to bring you all the latest and greatest Parallax has to offer. Not to worry, our old site is still available and can be accessed at!