SHOP News & Articles Contact Impressum

Choice of motor drivers / controllers for Dynamixel Servos and stepper motors

Hello all,

for my robotics project I am looking for a simple and elegant way to control 4 Dynamixel servos (2x XL430, 2x XL330) and 3 stepper motors (1x bipolar, 2x unipolar). The two unipolar motors, I would like to operate bipolar to exploit their maximum torque. As control unit I would like to use a Raspberry Pi.

I am having a hard time choosing suitable stepper motor drivers. The stepper motors are the following:

For the control of the Dynamixel servos, the OpenCM9.04-A controller board has already been recommended to me. Do you agree with this? What are the tasks of this controller board?

How do I connect all the elements?


Hi Felix,

thanks for opening a topic.

Please find a sketch how to wire the components below:

The simple stepper driver will be connected nearly every time the same. You have just two wires: DIR & STEP the direction pin will be set high or low to define the direction of rotation and the clock speed of the STEP pin defines the speed. Just need to mention you have to check the resolution of the motor.

The following nanotec motor: ST4118D1804-A - Schrittmotor – NEMA 17 |… has a resolution of 1,8°/STEP so a full turn are 200 steps. In case of using a 0,9°/STEP Motor a full turn are 400 steps.

Concerning the DYNAMIXEL its much more easy you can build a daisy chain like below:

You just need to know you’ve set every DYNAMIXEL an individual ID becasue from factory every motor has ID 1

1 Like

Hi there,

thanks for this nice explanation! That already made things a little clearer. But there is still a lot to figure out :wink: And I already apologize for questions that seem to be very basic… I’m a bloody beginner in the field of electricity.

Questions about the first sketch:

  1. I guess the black motor next to the OpenCM board symbolizes a dynamixel servo?
  2. The wires going to the left from the stepper driver symbolize the stepper which is not illustrated?
  3. Does this circuit illustrate a way to combine all the steppers and dynamixel servos in one circuit?
  4. The “Yungtong 1000” part on the bottom symbolizes the power supply? Is one power supply enough to energize all the parts presented including RP, Stepper + driver, Dynamixel etc.? If so, how would I have to dimension the power supply for such a circuit? In addition, there is a RP camera supposed to be connected to the RP.
  5. By “two wires: DIR & STEP” you mean obviously the connection between the stepper driver and the OpenCM board? The steppers themselves have 4 or 6 wires depending on the model (unipolar / bipolar).
  6. Talking about unipolar and bipolar stepper models: Since my unipolar steppers have 6 wires, how would I connect them to the digital stepper driver with only 4 connectors for the phases/windings?

Questions about the second sketch:

  1. This is obviously a circuit for driving the Dynamixel servos only. And I kind of get it. So how would I properly combine this circuit with the one from the first sketch so that all the motors can be controlled by the RP? Would I then still need the U2D2 module at all?

Looking forward to your reply. Cheers

Dear Felix,

thanks for your message and excuse me for our late reply.

  1. Yes its symbolize a DNYMIXEL (AX-12A)
  2. The Stepper motor will be connected at A- A+ B- B+ on the DM332T
  3. Yes right
  4. Yes its a lithium battery for powering the OpenCM Controllerboard and DNYMIXEL Actuator. Don’t wonder about the shematic - You can use a constant power supply or antyhing as well, but I just had this image with the battery :slight_smile:
  5. Yes DIR & STEP are just the connection between the Controllerboard (MCU) and the stepper Driver. You just need to talk care of the driver in case of using Unipolar and Bipolar Stepper
  6. Most probably need different drivers.
  7. Excuse me for the confusion. This image should just show how to connect and control several DYNAMIXEL’s at one Bus/Controllerboard. For controlling the DYNAMIXEL’s with RPI I would recommend the OpenCM as in the picture above.

If you have any further questions or suggestions, please don’t hesitate to post any further questions! We will priorize it and answer asap! Excuse me for the delay.

1 Like

Dear support team,

thanks for the answers. I have other questions since I talked to the Robotis tech support about the same topics. They recommended rather the U2D2 module to connect the Dynamixels with the RP. They say that the OpenCM9.04 board is a better solution when using an Arduino.

  1. What do you think about that statement?
  2. What is the exact function of the OpenCM9.04 board?
  3. When using the U2D2 I’d have to connect the stepper drivers directly to the RP? Would this also work through the same two ports DIR and PUL exclusively? Or would an additional GND connection have to be provided there for each of the stepper drivers?

Dear Felix,

  1. Yes the U2D2 is perfectly while using ROS but as mentioned previously you would like to code static movements and don’t using ROS and for doing so it would be very complicated with U2D2.
    But you have to order an U2D2 as well, because you have to set the ID and Baudrate of each DYNAMIXEL to create a Daisy Chain.
  2. Creating a connection between Stepper Driver/DYNAMIXEL & RPI
  3. Yes you could add the Stepper Driver to the GPIO’s of the RPI as well. You need DIR, STEP & GND
Footer With Address And Phones