New Part Day: Lynxmotion Smart Servos

Anyone who shops for robotics kits would have come across a few designed by Lynxmotion. They’ve been helping people build robots since 1995, from robot arm kits to hexapod chassis and everything in between. We would expect these people know their motors, so when they launched their own line of servo motors called Lynxmotion Smart Servos (LSS), it is worth spending a bit of time to look over what they offer.

While these new devices have a PWM mode compatible with classic remote control servos, unleashing their full power requires bidirectional communication over a serial bus. We’ve previously given an overview of three serial bus servos already on the market for comparison. A quick look at the $68-$100 price tags listed on Lynxmotion’s parent company RobotShop made it clear they do not intend to compete on price, so what interesting features do these new kids on the block have?

Digging into product documentation found some great details. Acceleration and deceleration rates are adjustable, which can help with smoother robot movement. There’s also an adjustable level of “stiffness” that adds some “give” (compliance) so a robot won’t have to be as stiff as… well, a robot!

Mechanically, the most interesting internal component is the magnetic position sensor. They are far more precise than potentiometers, but more importantly, they allow positioning anywhere within full 360 degrees. Many other serial bus servos are constrained to positions within an arc less than 360 degrees leaving a blind spot.

An interesting quirk of the LSS offerings is that the serial communication protocol uses human-readable text characters, so sending a number 255 means transmitting a three byte string ‘2’, ‘5’, and ‘5’ instead of single byte 0xFF. This would make debugging our custom robot code far easier, at the cost of reduced bandwidth efficiency and loss of checksum for detecting communication errors. It’s a trade-off that some robot builders would be happy to make, but others might not.

Externally, these servos have bountiful mounting options including some we didn’t know to ask for. Historically Lynxmotion kits have used a wide variety of servo mounting brackets, so they are motivated to make mechanical integration easy. The most novel offering is the ability to bolt external gears to the servo body. A set of 1:3 gears allow for gearing the servo up or down, or you can use a set of 1:1 gears for a compact gripper.

As you’d expect of servos in this price range, they all have metal gears, but they also have the ability to power the motor directly from a battery pack (a 3 cell lithium polymer is recommended). There are additional features, like an RGB LED for visual feedback, which we didn’t cover here so dig into the documentation for more. We look forward to seeing how these interesting little actuators perform in future robotics projects.

33 thoughts on “New Part Day: Lynxmotion Smart Servos

  1. Agreed. It feels like they are targeting the upper class newcomer makers who are looking for an easy to use servo. Smarts? RGBLED? Human readable serial? I’ll pass. Looks cool but probably won’t do well in the market.

    1. Well, yes and no.. The price is an important factor but not the only one. Actually, for the the specs and features these servos have and compared to the other smart servos on the market, the price is acceptable.Personally, I prefer pay more for the servos and build a performant robotic platform than using cheap servos and having a robot that crashes all the time. Pretty interesting smart servos, looking forward to see them on a platform..
      BTW, I also find your name very disrespectful

  2. You can also get about 20 Dacia Sanderos for the price of a semi truck, but replacing the dacias every time they get crushed under a container is not really efficient.

  3. Not all servos are used in frivolous applications. Some are used in professional environments where the cost of failure far exceeds the relatively insignificant cost of even the highest priced servo.

    1. The receiver does, but servos still use PWM. PPM combines the different PWM-Channels into one serial one.
      Which is great for flight controllers because of the massive reduces pin count necessary to read the channels.
      But ESCs and servos use PWM.

    2. I must be damn old. Last time I’ve played around with servos and classic remote controls, they were controlled with 1ms to 2ms wide pulse that was repeating every 20ms.

    1. Take a xanax man and don’t assume everything is immediately negative just because you are. They deleted a comment that violated the rules and the replies went with it, not some grand conspiracy or anything.

  4. Based on the fact that I can see this comment, and that sponsored content without disclosing it is sponsored is against FTC regulations and has some fairly harsh penalties…I’m going to hazard a guess that no, this is not a paid article.

    1. I can confirm I received no compensation from Lynxmotion, RobotShop, or affiliated companies for this writeup. I’m just a fan of serial bus servos and thought other robot hackers would appreciate learning about them.

  5. It’s hard to imagine many people know enough about serial to want a serial servo, but little enough to need it to be in ACII format for them to view the packets.

    1. While I don’t have hard numbers, I do believe there’s more of them than you might think. For starters: these servos should go well with an Arduino, and that is a big group of users. Open up the Serial Monitor in an Arduino IDE and we can see the chatter go by. The servos ignore messages not in the correct format, so we could even intermix servo control stream with unrelated serial debug messages common to Arduino sketches.

      1. On what you mention concerning the Serial Monitor in the Arduino IDE, this is exactly what is done in the official LSS Arduino library in the “LSS Query” example!
        You can find the example here: https://github.com/Lynxmotion/LSS_Library_Arduino/blob/master/LSS/examples/LSS_Query/LSS_Query.ino
        Of course, if you that is inconvenient for some reason you could also use SoftwareSerial with the LSS library (it supports it directly too).

    1. Full agreement this is not flying economy class, and this was clearly stated in the article. Lynxmotion has decided there are enough people out there who would be willing to pay a premium for these features, now it’s up to the market to vote with their dollars.

  6. Pretty much a servo motor with gearbox and integrated single axis motion controller stuffed into a classic hobbyist “servo” shell. That is a lot to put in a small package. The only other way to do this same thing is to get a motor with an integral encoder, attach to a gearbox, and have a central multi-motor motion controller. Those options are available but definitely not in this convenient packaging. And might not be less expensive, either. But they would allow you flexibility in motor sizes. I think the pricing is not too bad considering the work you are bypassing if you need the features it offers.

  7. I would love to see some kind of 1 or 2 wire buss system like i2c that you can sting as many servo’s on to, give them an identity on startup then fire off i2c commands to them with the ability to also interrogate them as to what their position is and possibly force.

    Send a command to the servo possibly in the same manner as you do with GGode on a CNC.
    Send a command like… (ServoID,command,position,speed) to tell it to get to a position and when its there it puts a response on the communication line saying its done.
    and if you want to know what the servo is doing poll it with something like (ServoID, status) and that returns the information about what the servo is doing, what position it is in, force or error’s encountered etc..

    The smarts in the servo can then look after itself and your controller just needs to be set up in a way to send commands and watch for errors.

  8. I don’t think that “reduced bandwidth efficiency” is much of a problem. At the default (slow) baud rate, given a 10bytes command sequence, you have an update rate of about 100Hz. That’s about twice as fast as a traditional servo. And baud rates up to 500kbps are supported (50x faster than 9600)

    1. Hey Bill! Thanks for the good details here. Indeed, even at the lower baud rates you can easily update many servos quite quickly. And since the servos take care of moving between end-points using set acceleration/deceleration and time/speed parameters, you do not need to send commands continuously at high speed to produce a motion manually (like what is done with regular RC servomotors).
      Further, since our beta testers were also a bit concerned communication speed we did extensive electrical & protocol testing with up-to 36 servomotors @ 500 kbps to ensure no issues in communication (i.e.: reliable use) with the LSS Adapter (USB LSS board). More servomotors or a higher baud rate can be used (or both!), but you may see some small packet loss then.

Leave a Reply to A. NealCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.