Dynamixel Servos with Arduino

Dynamixel servos are a bit (or a lot!) different from normal servos- instead of a PWM signal beign sent to each servo on it’s own signal wire, dynamixels use a serial communication prootocl which allows the servos to share a single signal line and each servo can be addresses over the line. The serial protocol allows setting all kinds of things on the servo, instead of just simply telling it to “move to this position” – such as adjustable speed and torque settings, full rotation mode, and can even feed back position and torque loads to the controller. 

Arduino boards can very easily support traditional PWM servo control, but these “digital servos” are a bit of a different animal. Can an arduino control a dynamixel? 

update: Since writing the draft of this post, I’ve found an arduino shield that directly addresses this issue – see this page for details: http://www.dfrobot.com/index.php?route=product/product&product_id=958

Are there software-only ways to control the dynamixels? I’m still researching this but there seem to be some, but I haven’t tested them yet and I suspect they’r ekinda kludgy.. here’s a few resources I’ve found:

The Arduino/Dynamixel Resource Page

The “dynamixel_serial.zip” file included with this project: https://code.google.com/archive/p/slide-33/downloads

And a nice collection of resources here: http://www.funnyrobotics.com/2011/04/arduino-with-dynamixel-ax-12-servo-from.html

And even some code on pastebin… weird! http://pastebin.com/U8e3jaAa

More to come…