The Pololu micro serial servo controller (SSC) is a very compact solution for controlling up to eight RC servos from a computer or microcontroller. Each servo speed and range can be controlled independently and multiple units can be daisy-chained on one serial line to control up to 128 servos. Three status LEDs and an integrated level converter for RS-232 applications get you up and running quickly. The micro serial servo controller is dwarfed by even a standard servo, but it can control any standard RC servos, including giant 1/4-scale servos.
This servo controller supports two separate communication protocols. One protocol is compatible with our other serial servo controllers and our serial motor controllers, and it offers individual range and speed control for each servo. This servo controller is also compatible with the Scott Edwards MiniSSC II servo controller and any software written for it.
The back side of the board has all of the ports labeled, and two mounting holes allow you to secure the controller to your project. The logic supply and the servo supply can be tied together for single-battery operation, or the on-board voltage regulator allows the logic supply to be as high as 16V.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
This skill concerns mechanical and robotics knowledge. You may need to know how mechanical parts interact, how motors work, or how to use motor drivers and controllers.
Skill Level: Competent - You may need an understanding of servo motors and how to drive them. Additionally, you may need some fundamental understanding of motor controllers.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 1 ratings:
3 of 3 found this helpful:
This is a handy little board for running a bunch of servos, but it doesn't fail gracefully. One wrong byte over the serial port, the red LED comes on, and the entire device stops working (until you reset it).
Like the user guide says, do not use this device for anything where failure could lead to damage or injury.
Great board for ANALOG servos. Fast response to moving multiple servos at once. HOWEVER, I tested this board with various Digital servos and it did not work--acts all buggy. If you have found differently let me know.
Digital Servos: Please ignore or remove my comment. I spoke too soon as I was using an 800mA power supply for the test and digital servos probably use a bit more current than analog. Will test this out with a new power supply. My apologies...
There are thousands of these out there being used with all kinds of servos, including digital servos. Your problem is probably specific to your particular servos or your power setup. Did you see the reply you got when you posted to the Pololu forum? (http://forum.pololu.com/viewtopic.php?f=16&t=1522)
I use this board all the time in my Arduino projects, this is a great controller board!
Finally found good Arduino code examples - http://psurobotics.org/wiki/index.php?title=Pololu_Micro_Serial_Servo_Controller - Out of curiousity why does Sparkfun have links to a Basic Stamp example, a .NET example, but no Arduino examples. Strange that...to my mind anyway.
Here is some .NET code if anyone still uses this.. http://colinkarpfinger.com/pololu/PololuServoExample.zip
We don't always have access to available Arduino code-which is why we appreciate customer input like yours! Thanks for posting this link.
http://psurobotics.org/wiki/index.php?title=Pololu_Micro_Serial_Servo_Controller is offline, does anyone have an archive of the good Arduino Code examples? Or maybe other examples?
There's an Arduino API available on the Pololu site here.
Toni - I am starting to get more into Arduino and electronics in general and it isn't clear to me if the RS-232 protocol for this serial servo controller will work over longer distances of 300ft from the Arduino. I understand I may need to get a max3232 based adapter (ttl to rs232) for the Arduino, maybe lower the baud rate and use high quality copper (cat5e cable), but are there any other precautions or resources you may suggest. Or is this not even possible with this Polulu micro serial servo controller?
Generally when you start looking at distances like that, you want to look at a wireless solution. It will negate the effects of cable degradation of your signal and will allow you to keep a power supply closer to your servos, which can prevent any weird power issues as well. Most cheap wireless solutions will work over TTL, so you would still probably need the converter, depending on what option you went with.
Thank you! Arduino example sketch rocks!
This board rocks!!!!!!!! very simple to use and it has many features such as controlling the servo speed, directions and more!
Hi All,
I've been working with this board all night using an Arduino UNO R3. I simply cannot get it to respond to a basic servo program. When I set the baud rate to 2400 it says the baud is too low, and when I set it to 9600 it says the rate is too high. Anyone else run into this problem?
-Matt
http://www.youtube.com/watch?v=MTBO52oNVaE
I use a combination of this servo controller plus a couple xbees as a controller for my airplane and my quadcopter.
Here is the program I wrote using Visual C# 2010 Express and the SlimDX SDK to pull data from a joystick, modify it, and send it out over a serial port.
https://docs.google.com/open?id=0B8zS64hZVQXldXlaNGY2RFd3ejg
Here is a link to a thread I started about auto-resetting the controller after a fatal error. It also has a diagram of my airplane setup using only one battery to power everything.
http://forum.pololu.com/viewtopic.php?f=16&t=4998
Your .NET example link is broken. Here is a link to a simple servo control program I made using Visual C# 2010 Express.
https://docs.google.com/open?id=0B8zS64hZVQXldW9XLXY2bGR5WUk
Is this something I really need in addition to thee arduino uno in order to power one or maybe 2 servos at most based on input from sensors, (flex and force). Please help me on this. Thank you
So far, I've only done projects involving one servo. You can get by without this controller with one, probably two servos. Just give the servos power (the 5v source from the arduino works fine for one servo, not sure about two), a ground, and the Servo.h header file makes the rest pretty easy. If you're working with high torque servos that need to have a lot of power, you'll probably need this, though.. or maybe an external power supply as long as the servos and arduino on the same ground. Hope this helps!
If I sent a command string to move a servo, for example this string of values:
128 1 4 0 22 0
to move servo zero to a roughly neutral position, do I need to send the command string multiple times for the servo to hold position?
If I send it once, the servo moves a little bit to the target position, and sending the string multiple times moves the servo progressively closer till the servo reaches position and the yellow LED on the controller board extinguishes.
I'm using the Pololu protocol and I've set the servo speed to maximum.
Edit: No worries, sussed it :-)
The servo was drawing too much power from the battery as the motor started to move, so the current would dip too low and the controller would reset.
Also here is a thread with Arduino\Wiring code samples: http://forum.pololu.com/viewtopic.php?t=745