DJs OpenCM 9.04 Firmware (Cracked Egg)

Robotis OpenCM 9.04
Hardware Platform
Robotis OpenCM 9.04

This firmware is to be installed on the OpenCM 9.04 from Robotis to connect with Synthiam's EZ-Builder. Follow the directions below to install and get running.

Setup Video Walk-through
In this video, DJ demonstrates how to connect and control dynamixel AX-12 servos with the Open CM 9.04 in EZ-Builder using the Dynamixel plugin. There are step instructions below that define each step. The TTL servo ports of the Open CM 9.04 are UART #0 on the Dynamixel plugin. Ensure the plugin has the UART #0 selected for the TTL servo ports to work.




Setup Steps
1) Download and install EZ-Builder
2) Follow the instructions from Robotis to install Arduino IDE tools.
3) Download this firmware file
4) Tutorial to compile and upload the firmware

If using Dynamixel servos, install the Dynamixel servo Control into EZ-Builder. Set the Dynamixel plugin to use UART #0 for the Open CM 9.04.

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.

Connectivity
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.

Ports
User-inserted image



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.


About this version
Version Information
- Fix for reading servo positions, pinging and scanning
Supported Capabilities
  • ADC with 10 bit resolution
    The ADC captures analog voltage at 10 bit resolution. This means the native value will be an 8 bit (0-1023) from the controller. However, within EZ-Builder the resolution will be scaled to 12 bit for appropiate commands.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • I2C Master
    The controller supports the EZ-Builder I2C commands for Master mode.
  • Native USB Connectivity from EZ-Builder
    Controller has a native USB hardware and software driver which connects directly to your computer without additional hardware.
  • PWM Duty on digital ports
    Digital ports can output a PWM between 0% and 100%.
  • PWM servos on digital ports
    The controller supports PWM Servos on digital ports. These are also called Hobby servos.
  • PWM servos on digital ports can release their position
    PWM servo driver on digital ports support the feature to release their holding position.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.

About this version
Version Information
- Scanning servos fix
- first i2c attempt with Wire library. I just found out the Wire library on OpenCM is actually software, so that won't do. It doesn't seem to work correctly. I'll have to find a hardware alternative, but haven't been able to find any examples
Click to show supported capabilities
Supported Capabilities
  • ADC with 10 bit resolution
    The ADC captures analog voltage at 10 bit resolution. This means the native value will be an 8 bit (0-1023) from the controller. However, within EZ-Builder the resolution will be scaled to 12 bit for appropiate commands.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • I2C Master
    The controller supports the EZ-Builder I2C commands for Master mode.
  • Native USB Connectivity from EZ-Builder
    Controller has a native USB hardware and software driver which connects directly to your computer without additional hardware.
  • PWM Duty on digital ports
    Digital ports can output a PWM between 0% and 100%.
  • PWM servos on digital ports
    The controller supports PWM Servos on digital ports. These are also called Hobby servos.
  • PWM servos on digital ports can release their position
    PWM servo driver on digital ports support the feature to release their holding position.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.