ServoMaster: Observations on Mini SSC II Servo Controller
Foreword
I don't have this controller, and all the code was written based on the protocol specification published at Scott Edwards Electronics, Inc. site and in the Pololu servo controller user manual. It is possible that I've made a mistake somewhere - if so, I'd appreciate if you could fix the code and send me the patch - I mean, I don't think there'd be many mistakes in 135 lines of documented code. If you want to donate the hardware - well, the better.
Summary
Mini SSC II is one of the oldest controllers available on the market. It doesn't support any of more advanced features available from later controllers, but I guess it's still pretty popular due to the fact that it's been out there forever.
Good Things
- Simple protocol - a driver takes 10 minutes to write;
- Modest protocol overhead of 33% (more, than FT639, less than Pololu) - this matters since it only supports 2400 or 9600 baud;
- Stackable. You can connect multiple controllers to the same serial line, provided you've configured the servo numbers beforehand, all the way to 254 (however, you'd have to order a special firmware version if you want to have more than 15 servos).
Bad Things
Two power sources required - this was a turnoff for me back in 2001, when I was considering my first servo controller.
Note on Stacked Configurations
According to documentation, Mini SSC II controllers can be stacked (multiple controllers connected to the same serial port).
Servomaster currently doesn't support sparse servo arrays, so this feature is not explicitly supported. This is due to the fact that none of servo controllers supported report back what servos are connected and what aren't.
However, it is possible to support all the servos on all the controllers connected - all you have to do is change the value returned by getServoCount() in the implementation class.
If you need this feature, let us know - it's trivial to implement.
Conclusion
Since I've never dealt with this hardware myself, there will be no conclusion. However, I'm open to publishing other's feedback, should someone volunteer to contribute it.