Yukon Serial Servo Module with Robotis Dynamixels

I have a Yukon and Serial Servo Module, and am wondering if anyone has got the Robotis Dynamixel TTL servos working with it.

I have tried with both AX and XL series servos and the LX 16A is supposedly Dynamixel compatible but with no joy. The closest I have got to communications it when I use the Servo Detect example, I get an error through the look saying the that a servo has reported its ID as None. I am guessing that’s the Dynamixel responding with an invalid packet because its address is held in another structure, but that is a guess.

Any thoughts would be appreciated. Thanks,

Carl

Hi @CarlC,

LX16A servos are electrically compatible with Dynamixels, and both use half-duplex UART, but the protocol is different between the two, which is why you are not getting a response from your servos.

It’s been on my personal list for a while to add Dynamixel support as I have a bunch of AX and XL servos at home I’d like to use one day, but sadly I have yet to have the chance and am unlikely to in the near future.

If you are up for adding support yourself (and raising a pull request please), then you’d need to make a file similar to: yukon/lib/pimoroni_yukon/devices/lx_servo.py at main · pimoroni/yukon · GitHub
(called dynamixel_servo.py for example) then implement a function for each of the Dynamixel protocol’s supported functions. Note there is a v1.0 protocol the AX servos use (DYNAMIXEL Protocol 1.0), and a v2.0 protocol the XL servos use (DYNAMIXEL Protocol 2.0), though I believe those can be switched to v1.0 with some magic command.

I imagine that’s not the answer you were looking for, but I hope it helps you anyway.

Thanks for your response. I haven’t written any Dynamixel interfaces for years (was a Bioloid kit beta tester and wrote a VB interface) but hey, a challenge is a challenge. Let me see if I can do something, just don’t hold your breath lol.

1 Like