Robotis OpenCM9.04

The OpenCM9.04-C is the same as the OpenCM9.04-B except for the two TTL connectors (used for the AX series) has been replaced by two XL-Type TTL connectors (used for the XL-320). Both versions C and B are compatible with this firmware to connect with EZ-Builder. This controller is also used in the Robotis Bioloid Mini that can be controlled by EZ-Builder with this firmware.

Firmware Source Code

Controller Specs

OpenCM9.04 is an open-source controller that runs on a 32bit ARM Cortex-M3. The 3-Pin connector(XL-type) is used to control DYNAMIXEL XL-320 with TTL communicatio in EZ-Builder using the Dynamixel plugin. For AX & MX series molex connectors, the OpenCM Expansion Board is needed

Arduino IDE Configuration

The suggested IDE for programming the OpenCM9.04 is the official Arduino IDE. The tutorial link below will recommend downloading and installing the Arduino IDE. However, you will also need to install the Robotis OpenCM libraries and tools into the IDE.

The OpenCM9.04 can be programmed with the EZ-B firmware for a variety of capabilities when connected to EZ-Builder. The tutorial to program the EZ-B firmware can be found HERE. This hardware was added to EZ-Builder in this beta release and newer.


Most Arduino's connect to EZ-Builder via 9600 baud. This controller has the technical power to connect at a much higher rate. The firmware is set for 921,600 BAUD, which is very quick! When following the connection tutorial, ensure you specify the correct baud rate for this firmware.


The ports on the OpenCM perform different features based on their usage. The diagram above demonstrates how the ports are connected to EZ-Builder. The Ax ports can be either Analog Input or Digital I/O. The Ax also function as Dx ports. The UART 0, 1, & 2 are connected to UART 1, 2 & 3, respectively.

EZ-Builder Code Example

For example, you can flash the LED because it is on port D14 in EZ-Builder with this example EZ-Script code. Try it and have fun :)


Set(d14, true)


Set(d14, false)