Lynxmotion Smart Servo (LSS) control with Spektrum RC Controller?

I’m working on a robot hobby project and the Lynxmotion Smart Servo looks like a perfect solution, just wasn’t clear on these questions:

  1. Can I use a RC system and a receiver like a Spektrum DXe to control the servos?
  2. Can these be daisy chained in a set-up per the above?
  3. If I want to control the angle and rate, can this be programmed via the software or only via the RC system? I would not require or need multi-turn, just set angles for each joint.


Hi Insoc,

To clarify, the LSS can work either in Smart aspect via serial OR radio controlled (RC).
However it cannot do both at the same time.

Daisy chain is a function that will only be available in Serial / Smart mode.
One could daisy chain the “power” to all the servos however but a RC signal will be required for each servos.

  1. You can use about any RC controller to make the LSS work in RC mode.
  2. As explained above, in RC mode it cannot be done since you need a RC signal to each servos.
  3. The Angle and Rate in RC mode is done by the Transmitter manually.

Hope this explain a few things. You can see which commands (first sent via serial) are retained affect changing to RC mode here (“RC” column under “Command List”:


1 Like


Thanks for the info.

So I found another solution for a RC controller from Radiolink that does 3 modes PMM, PPM and S-BUS

Would I be able to utilize the S-BUS mode with this set-up?

Also instead of using a battery, can I power the servos through the rX with a 12V nominal wall wart power supply?

1 Like

Hi Insoc,

The LSS will not take PMM, PPM, or S-BUS directly.
At the moment the only way to control it is by sending a direct PWM (RC) to the servo.

One could use such PPM receiver and connect to, let’s say, an Arduino microcontroller.
A piece of code could decode the PPM (we have a library for that) and then split and send the signals to the servos in Smart mode so daisy-chained.

I found this idea quite interesting and went ahead in coding a simple solution that can take the PPM input and convert it to a serial control of the LSS’s. Please forgive my workspace…

I’ve already added this example code to the “Arduino-PPM” library on Arduino.


1 Like


Thanks, that something I may attempt to try.

I’m actually thinking of using the Radiolink set-up. I do not see a power connector to your rx, how are you powering the set-up? Are you using just one of the LSS power hub? What is the output 12V nominal?

Can I use the LSS - Adapter Board, connected to the LSS servos in series, power via a external power pack and use a remote control similar to your set-up?

Hi Insoc,

I’ve updated our Arduino PPM library to include that new example.

In the setup I put together for this video, the LSS-2IO Arduino Compatible board was used and will supply a regulated 5VDC to the RC Receiver.
The power source is 12VDC for the LSS and can be hooked up different ways.

The LSS’s servos are supplied with one Serial cable and one RC cable, one could use the RC cable to supply voltage.
It can be used with the LSS-HUB which has a barrel connector for a wall adapter (12VDC and sufficient current).

I used the LSS-Adapter with our XT60 wall adapter but that’s just more convenient for me.

It looks somewhat like that:

You can use the LSS-Adapter to connect to a battery pack, yes. (12VDC)

Note: The LSS’s in serial mode require to have an ID changed for each servos. This is done with a serial adapter (or the LSS-2IO in the correct switch mode)

Thanks again, this is great!

I realize now the thought I had will not work, just using the LSS- Adapter Board (Type-C), since there is no I/O for the PPM pins on the receiver. I like the XT60 Power adapter and thought that would be better for my project vs a battery pack.

Still a little confused, but is that correct?

Correct, the LSS Adapter is a serial adapter and power distribution board for multiple LSS’s.
If money is not an issue, you can buy both the LSS-Adapter and connect an LSS-2IO board, that’s what I’m using in my example.

Thanks for the info, I’m working with the servos now and am using the LSS Config via USB-C, is there a tutorial on how to set-up the servos? I have the LSS adapter board plugged in to a 12V power supply, the servo flashes green then red, the nothing. Just wondering how to assign ID# for starters and be able to set-up the servos.


Hope this helps: LSS - Configuration Software - XWiki

In the Configurations section, you’ll see you can assign the ID (and whatever other changes) then press Update to write to the servo.

The color sequence you see is standard:

We also have a dedicated tutorial on IDs specifically here:

Make sure the switch on the LSS-Adapter is set to USB and that only one LSS is connected for the IDs assignment.
Otherwise they will all answer to the same “0” ID.

Thanks to both of you, this is great!

Since I’m planning on using the PPM mode as discussed with a RC controller, rates would still be controlled by the RC controller correct?

I see for my previous question, each servo can be set-up in the LSS Config, since serial mode is selected.

I figured out some issues I had and was able to get the set-up to work.

I think this is the right Rx to 2IO connection since it’s working, just wanted to validate.

Hi @Insoc,

We have some issues with notification emails for “watching” topics and didn’t see your question here.
I’m also moving your other question here to keep everything at the same place.

Using the LSS config software, I set ID’s for 3 servos, but when I connect and scan, it only finds one of them. Baud rates for all are default, they are connected via serial cables.

  • The LSS-Config should see all 3 servos if they are on different ID’s.
  • Can you take a picture of your setup ?
  • Have you tried to connect only one servos and scan again ?
  • Make sure not to have your LSS-2IO connected to the Bus while doing the setup with the LSS-Config. (if using the LSS-Adapter)

Since I’m planning on using the PPM mode as discussed with a RC controller, rates would still be controlled by the RC controller correct?

  • What do you mean by “rates” exactly ?
  • The LSS-2IO will get the RC-PPM signal, read and process it into a Serial command sent to the servos.

I think this is the right Rx to 2IO connection since it’s working, just wanted to validate.

  • In the example I created the correct pin is A3, you are connected at the right spot.
  // Start the PPM function on PIN A3
  ppm.begin(A3, false);
  • The Receiver need to be connected to CH2 and set to PPM by double press on the receiver button (while powered) and the LED will turn to a Purpleish color.

All the best,


I copied your setup with the hardware, I also noticed I need to turn off or disconnect the Rx for LSS config to scan and find a servo.

All servos are connected in serial mode, assigned IDs 1-3. It only finds ID 3 each time, which is the last servo in the chain.

As I noted in another thread, the RC PPM mode works but maybe I missed your note on whether or not I can leverage the saved servo settings via LSS config with this option? Is that possible? Right now the dead band for one joystick is too sensitive, say you try to pan but the roll or tilt also is very jerky when moved.

When I move one servo in LSS config, adjusting the speed and etc, the end result is what I desire.

Thank you for your help!

So the 2IO is disconnected. Only 12V power and USB-C then the serial cables (daisy chained) to each servo.

When I scan the servos (there are only 3), it only finds the last one (#3). Baud is the default 115200 for each servo.

The other problem I’m having with the RC setup via PPM, when I power on the system the servos crash and do not go to their set locations.

It does indeed find the servos plugged in individually.

  • You mean disconnecting the LSS-2IO ?
  • So 3 servos connected to the LSS-Adapter (and only the servos connected) with Power and USB then Scan ?
  • Maybe re-confirm that your servos are set to the proper ID by testing them one by one.
  • So you got the system working, the LSS-2IO with LSS Servos controlled by the RC Transmitter/Receiver ?
  • The deadband can be changed in the code (HERE) and set to “10” by default.

Note: The servo will be more sensitive if it’s set for a higher angular range as it’s using the signal from the RC and dividing it by the amount of degrees.

  • The example disable the internal “Motion Controller” for the servo which disable the speed limitation.
  • It is possible to use it with the “Motion Controller” enabled but the example spit position very fast and it makes the movement erratic.

Possible solution

  • Limit the speed in LSS-Config (Ex: 10rpm)
  • Adjust the deadband (Ex: 25) (HERE)
  • Comment the “EM0” configuration (HERE)

Note: The highest the RPM the more “jerking” you will have.


[quote=“dialfonzo, post:18, topic:90910”]

  • So 3 servos connected to the LSS-Adapter (and only the servos connected) with Power and USB then Scan ?
  • Maybe re-confirm that your

Correct, I checked each one individually and they are set to the correct IDs, 1, 2 & 3.

I will try this and your other solutions, thank you!

Would you be able to do a little video showing that ?

I’ll see what I can do, the servo option is not working for me as the speeds are too high.