User Tools

Site Tools


This is an old revision of the document!


Q: USB2AX: What's that and why would I need one?

R: All is explained here :-)

Q: Servos: which ones are compatible with the USB2AX?

R: See here!

Q: USB2Dynamixel: how does it compare to the USB2AX?

R: The USB2Dynamixel is Robotis' version of an USB interface to talk with the Dynamixels. In most cases, you can replace it with the USB2AX without changing anything to the rest of your setup (hardware and software).

The USB2AX is a lot smaller (16x36mm instead of 35x90mm), less expensive, has lower USB latency, and does not need proprietary drivers. The USB2AX also has advanced functionalities: the sync_read instruction to read a lot of information very fast, and extension ports (GPIO/SPI). It can also survive a short-circuit between the 12V and DATA wires indefinitely while this would damage the USB2Dynamixel. As an added bonus, the USB2AX is open source so you can learn, modify, remake and even sell your own version.

On the other hand, the USB2AX can only talk to AX and MX-T servos, not to the RX, EX or MX-R ones. Since the release of the MX line of Dynamixel, it is no longer a big problem as you can get all servo sizes with the same 3 pin connector.
The USB2AX does not have the RS232 port and therefore can not be used to program the older CM-5 and CM-510 controllers. This problem is no longer relevant since the newer controllers (CM-530, CM-900) use an USB cable instead of the old custom “DB9 to Jack 3.5mm” cable.

Q: Dynamixel SDK: how do I use it with the USB2AX?

R: The Dynamixel SDK provided by Robotis is a software library that makes it easy to control Dynamixel servos from a C++ application. While the Windows version should work out of the box, the Linux version does not: you have to replace the dxl_hal.c file with this one before you compile the library.

If you need to switch back to the USB2Dynamixel, you will have to change back the file to the original one, and recompile the library, then your application.

What's going on? The Dynamixel SDK assumes the interface is FTDI-based, and thus searches a device named ttyUSBx, while the USB2AX uses the integrated CDC/ACM driver - which names the device ttyACMx. The second problem is that after opening the device, the Dynamixel SDK tries to set parameters which do not exist in the CDC/ACM driver.

Q: How to power the servos?


Q: How open is the project?

R: Nearly as open as can be! You can get the sources for the firmware, the Eagle Files for the PCB, the Bill of Material, and all possible information on the project. The license used allow you to do nearly anything as long as you give proper credit. Software is similar to a BSD (open a source file for details), hardware is OSHW 1.0 and documentation is CC-BY-SA-3.0.
I learned a lot thanks to other's people Open Source projects, so this is my little contribution :-).

product/usb2ax/faq.1364783730.txt.gz · Last modified: 2013/04/01 04:35 by xevel