Edit on GitHub


ROBOTIS ENGINEER is the next generation robot that adopts AI technology based on smart devices.

Parts List

CM-550 Controller


Item Specifications
Weight 58.8 [g]
MCU ARM Cortex-M4 (168 [MHz], 32 [Bit])
Operating Voltage Battery : 6.5 ~ 15 [V], Recommended 11.1 [V] (Li-PO 3cell)
SMPS : 6.5 ~ 15 [V], Recommended 12.0 [V]
Micro USB : 4.75 ~ 5.25 [V], Recommended 5.0 [V]
Current Consumption Standby : 50 [mA]
Port 1 ~ 2 I/O Max : 0.5 [A]
Port 3 ~ 5 I/O Max : 0.02 [A]
Total : 10 [A] (Fuse)
Operating Temperature -5 ~ 70 [°C]
Communication Module BLE Slave Module
Internal I/O Devices Buttons : 2 (MODE, START)
Mic (Sound Detection) : 1
Buzzer : 1
Voltage Sensor : 1
Gyro Accelerometer : 1
Temperature Sensor : 1
External I/O Devices ROBOTIS 5 Pin Port : 5 (SM-10 / IR Array / TMS-10 : Use Port 1 or 2)
X series DYNAMIXEL Ports : 6

CM-550 Layout

CAUTION : The USB port on CM-550 is designed to be connected with the PC. Please do NOT connect other USB devices, or it may cause damage to the controller.

See the more detail of CM-550 e-Manual


2XL430-W250 is a ground breaking DYNAMIXEL that allows to control 2 axis(2 DOF) with a single module. In order to control 2 axis at the same time, each axle is assigned with different ID while sharing an identical Baudrate. Since the Control Table for each axle is separated except the Baudrate, 2XL can be applied in various applications.

The usage is identical to other DYNAMIXEL’s, but be aware that Firmware Recovery will reset both axis to factory settings.

2XL430-W250 eManual


Safety Precautions

  1. Read this manual carefully before getting started.
  2. Only use provided tools in the kit.
  3. Keep the robot away from the face and body when the robot is operating.
  4. Be careful for getting fingers or part of the body stuck in the robot joints.
  5. Do not operate or store the robot under the direct sunlight.
  6. Do not operate or store the robot near water or heat source.
  7. Do not tamper or disassemble components.
  8. Keep the robot and parts away from infants or younger children.
  9. Do not impact or poke the robot with sharp objects.

Precautions on Use

  1. Use provided screwdriver(PH 1) in the kit for tightening screws.
  2. Do not apply excessive force on screws and parts when assembling.
  3. Operate the robot on the floor to avoid any damages from falling.
  4. Accidental damages from falling is not covered by warranty.
  5. DYNAMIXEL internal gears and robot joints are expendables. Excessive use or long term use may develop the backlash.
  6. The robot in a rapid motion (i.e, a combat motion) consumes a lot of current momentarily and may cause the unexpected Power off due to the lack of provided power from its power source. In this case, please use a battery or SMPS with an high ampere (A) to prevent from the unexpected power off.

Precautions on Battery

  1. The battery must be disconnected from the robot when not used or charged with the designated charger.
  2. Do not disassemble or impact the battery or charger.
  3. Do not heat the battery and avoid contact with fire and liquids.
  4. Do not place battery in the microwave, laundry machine, refrigerator, or dryer.
  5. Do not use damaged batteries (deformed, swollen, external damages).
  6. Do not short the battery.
  7. Do not reverse the polarity of the battery when charging.
  8. Do not charge the battery when it is hot. Let the battery cools down to the room temperature before charging
  9. Do not store the battery in hot or humid place.
  10. Do not charge multiple batteries with the charger at the same time.
  11. Do not connect the battery to the charger when the charger is not connected to the power source.

Assembly Precautions


CAUTION : Please use the designated screw driver(PH 1) when assembling bolts.


Check DYNAMIXEL Horn Position


  • The marking on the housing should match to the horn marking when properly centered.
  • In order to align the horn to the center, use PH 1 screw driver to rotate the horn screw to clockwise. Be aware of rotating the screw to counter clockwise as it will release the screw.

Rivet Assembly

6mm Rivet

CAUTION : When reusing rivets, the pin hole must be inserted first. Used rivet will not be separated into pin and pinhole.

12mm Rivet

Cable Assemlby


Both connectors are linked to supply power and communication to the module. Please use any connector for easier assembly.

Wiring through Idler Cap

Through hole wiring method helps to increase the durability of cable and to simplify cable assembly.
It is not a mandatory and it may require more time to replace the cable afterward.

Quick Start

App Installation

NOTE: R+Task 3.0 does not support Python Code Download on smart devices. Please download your code using R+Task 3.0 on a PC.

Download Examples

Example Task Files Motion Files
Complete Example 01_ENG1_TOTAL_EN.tsk3 01_ENG1_TOTAL_EN.mtn3
Dr.R 02_ENG1_DR_R_EN.tsk3 02_ENG1_DR_R_EN.mtn3
MAX-E1 03_ENG1_MAX_E1_EN.tsk3 03_ENG1_MAX_E1_EN.mtn3
SPI 04_ENG1_SPI_EN.tsk3 04_ENG1_SPI_EN.mtn3

Download from PC

  1. How to Connect CM-550 Controller to PC
  2. How to Download Task Example via PC
  3. How to Download Motion Example via PC

Download from Smart Device

NOTE : Connect CM-550 with your smart device via bluetooth. See Pairing Bluetooth.

  1. How to Connect CM-550 Controller to Mobile
  2. How to Download Task Example via Mobile
  3. How to Download Motion Example via Mobile

Run Examples

Launch the R+ ENGINEER app and select the assembled robot example to operate the robot.

CAUTION : Selecting wrong example may result in malfunction of the robot.

Select the menu button on the top right corner of the app for app configuration.

Connect to Robot : Select Bluetooth device to connect.
Reset Example : Reset selected examples.
Range of Gesture Error Setting : Configure the error margin of the gesture.
Display Example Image on Gallery : Show example images in the smart device gallery.
Scanning Media : Refresh the smart device files/folders when not detected from PC.
Version Information : Display the current app version.

Pairing Bluetooth

  1. Turn on the CM-550 controller with power switch.

  2. Press the MODE button until green light flashes.

    NOTE : The MODE button flashes in green when the controller is ready to run the task program.

  3. Press the START button.

    NOTE : While the MODE button flashes in green, pressing START button will run the task program.

  4. Launch the ROBOTIS ENGINEER app from the smart device and press the Bluetooth icon.

  5. Find the BLE MAC address of the CM-550 controller.

  6. Enter the last two characters of BLE MAC address in the left box and press Search icon.

  7. Select the BLE MAC address from the search list.



Selecting Dr.R example from R+ Engineer app will display robot face on the screen. Touch robot or trigger events to change the emotion of the robot with facial expressions, motions and speeches.

Select Mode

Press the Mode button to display supported modes and options.

Mode Menu
Icon Mode Description
DEMO : Emotion Recognition
This default demo mode expresses Dr.R’s emotion on the smart device screen.
Touch the robot or smart device will affect to Dr.R’s emotion and behavior.
FACE : Face Recognition
The robot detects and tracks the face with the camera of the smart device.
AR technology will overlay an image on the detected face.
OBJECT : Object Recognition
The robot recognizes machine learned objects with the smart device camera.
Dr.R can distinguish 12 different objects including banana, pen, car key, wallet, paper money etc.
VOICE : Voice Recognition
The robot recognizes registered voice commands.
Commands such as mode change, option menu execution, and termination are registered.
CLAP : Clap Detection
The robot detects clapping sound with the controller microphone.
Dr.R will clap as many as perceived claps.
Option Menu
Icon Option Description
This feature inspects each joint of the robot.
OFFSET : Motion Offset
This feature calibrates the offset position of each joint for proper motions.

NOTE : The Option Menu is available in all examples. Please refer to Setting Up the Robot for more details.


Remote Controller Screen

Control Modes : Select Normal / Fight / Soccer mode for MAX-E1.
Control Buttons : Control robot’s motion speed and moving directions.
Motion Buttons : Registered motions of MAX-E1 can be played.
Torque Button : DYNAMIXEL Torque On/Off switch.
Menu Button : Open additional menu for MAX-E1.

Mode Menu

Icon Mode Description
REMOTE : Use smart device as a remote controller.
GESTURE : Use registered gestures in the smart device to control the robot.
CLAP : The robot detects clapping sound and MAX-E1 will clap as many as perceived claps.


Remote Controller Screen

Control Buttons : Control robot’s motion speed and moving directions.
Motion Buttons : Registered motions of SPI can be played.
Torque Button : DYNAMIXEL Torque On/Off switch.
Menu Button : Open additional menu for SPI.

Mode Menu

Icon Mode Description
REMOTE : Use smart device as a remote controller.
MUSIC : SPI and smart device play music together.
CLAP : The robot detects clapping sound and SPI will clap as many as perceived claps.

Setting Up the Robot

Check DYNAMIXEL Assembly

This function checks DYNAMIXEL ID and status of the ROBOTIS ENGINEER Kit.

  1. Launch the robot example from the main screen, and select MOTOR from the option menu.

  2. Select the joint ID from the screen. Check if the selected joint flinches while LED is turned on.


This function is used to adjust the pose of robot by calibrating offset values of DYNAMIXEL used in the ROBOTIS ENGINEERING KIT. Configured offset value will be saved in each DYNAMIXEL’s.
Please perform offset adjustment with a thorough understanding as it may cause unstable motions or hardware damages when improperly configured.

  1. Launch the robot example from the main screen, and select OFFSET from the option menu.

  2. Select the joint ID to adjust offset from the screen and adjust menu will appear.

    • + / - : Increase / Decrease the offset value.
    • Torque On / Off : Toggle the torque of the selected joint.
    • OK / CANCEL : Save / Cancel the changes in offset value.
  3. Select OK to save the offset value. The confirmation message will appear.
    Select OK once again to save the offset value to robot.

  4. Below buttons will reset or reload offset values of each joint.

    • Reset Offset : When selected, the confirmation window will appear. Select [OK] to reset the offset value of all joint.
    • Initial Pose : This button will reload the saved offset value. Incorrectly configured offset may be recovered with this button.


[Machine Learning] Object Detection

Get started to learn a machine learning with ROBOTIS ENGINNER and Tensor Flow developed by Google Brain.
Tensor Flow is a machine learning application to ease the process of acquiring data and training models.
Once you finish this instruction, you will understand how to utilize the object detection which is one of the part of a machine learning. Explore following simple steps and train your robot to recognize your custom objects.

  • Use a smart device with a camera to utilize the object detection.
  • Install R+ ENGINEER in the smart device.


Anaconda is the easiest way to perform a machine learning and a large-scale data processing on Linux, Windows, and Mac OS X. To utilize an object detection with ROBOTIS ENGINEER, install Anaconda3 4.2.0 for Windows (64/32 bit) on your PC to build your own image classifier using Tensor Flow.

Upgrade pip Packages

  1. Open a Command Prompt as an administrator.
    • Press WIN + S on your keyboard to open a Windows search box.
    • Type CMD into the Windows search box and click the resulting “Command Prompt” as an administrator.

  2. Command Prompt will be popped if you get access to CMD in the administrator mode.

  3. Copy the following command and paste it into Command Prompt.

     python -m pip install --upgrade pip

  4. As shown in the picture below, new pip package will be installed.

    If there are issues with pip upgrade, check download path if it was proper location. As software is installed on C Drive by default, move a folder of Anaconda3 installed into C Drive then upgrade pip package.

Create Folder

  1. Create Folder named !R+Smart

    • You can create the folder in any location on your PC, but make sure a path in Command Prompt must coincide with the location of its folder properly.
    • You can change a folder name, but make sure the name in Command Prompt must coincide with the actual folder name.
    • In this instruction, the folder name is !R+Smart, and the path is C Drive.
  2. Change your path in Command Prompt into D Drive where !R+Smart folder exists as your current location in Command Prompt is C Drive.


  3. Copy the following command and paste it in Commad Prompt to move into !R+Smart from D drive.

     cd !R+Smart

Create Virtual Environment

  1. Copy the following command and paste it in Command Prompt to create a virtual environment for your project.

     conda create -n tensorflow python=3.5

  2. It will ask you if you want to proceed to the next step. Press y, and then press Enter key to install the Python version and new packages.

  3. As shown in the picture, you can see all the packages are successfully installed.

Install Tensor Flow

Tensor Flow installation can be done in two simple steps.

  1. Copy the following command and paste it in Command Prompt to activate newly created virtual environment of Tensor Flow.

     activate tensorflow

  2. Lastly, Copy the following command and paste it in Command Prompt to install Tensor Flow.

     pip install tensorflow==1.13.1

    WARNING: Be sure to install tensorflow 1.13.1. Otherwise, it may cause unexpected errors.

Create a file and a folder

  1. Go on the associated link to download a retrain.py file.

    Download retrain.py

  2. Move the downloaded file retrain.py in !R+Smart folder. Create a photos folder in !R+Smart to add images for an object detection.

  3. Create subfolders named 001 dummy, 002 banana and 003 pineapple or something like that, which contains images matching a detected object characteristic for an object detection.


  • To reduce errors of recognizing objects, 001 dummy folder will be useful to scan unspecified objects.
  • Train your ROBOTIS ENGINEER with sufficient images. The more it is, the better performance it is. (Collecting 100 images will be enough for recognizing objectes)
  • To organize folders in order, specify them with a number 001, 002, etc..

Train models

  1. Copy the following command and paste it in Command Prompt to train models of objects.

     python retrain.py --bottleneck_dir=./bottlenecks --model_dir=./inception  --output_graph=./Smart_OC.pb --output_labels=./Smart_OC.txt --image_dir ./photos --architecture mobilenet_1.0_224 --how_many_training_steps 1000

    In the command line, the option how_many_training_steps is the count of steps of training models. The enough steps for training models are 1000 times.

  2. After completion of training, Smart_OC.txt and Smart_OC.pb files will be created in the !R+Smart folder.

Apply training file to your prject

  1. Connect your smart device in which R+ ENGINEER app installed to your PC.

  2. Enter RoboPlus > ROBOTIS ENGINEER > CUSTOM of your device folder.

  3. Create a folder named Project 1 in the CUSTOM folder.

    NOTE : If there is your own project, you can skip 3rd step of this instruction.

  4. Create a Db folder to store training files.

  5. Copy Smart_OC.txt and Smart_OC.pb files from !R+Smart and then paste them into the Db folder.

  6. Disconnect the smart device from the PC, and then launch the ROBOTIS ENGINEER app on your smart device.

  7. Click User tab.

  8. Click a configuration icon of a folder Project 1.

  9. Select Object Classifier at Vision section.

  10. To test object detection, select your custom object in the list.

  11. Detect objects in real time.

NOTE : It is not possible to add new object datas to Smart_OC.txt and Smart_OC.pb, which have been already configured. To add new data into them, please add a new object image to the subfolders created in !R+Smart .

Study Materials

Apply for Study Materials

Additional course materials can be downloaded from below link.

Assembly Manual Download

Model Download
Educ (Additional Eaxmples) ROBOTIS_ENGINEER_KIT1_Educ_EN_ver2113.pdf
Quadruped Robot (Additional Eaxmples) ROBOTIS_ENGINEER_KIT1_QuadrupedRobot_EN_ver2113.pdf
Gimbal Mini (Additional Eaxmples) ROBOTIS_ENGINEER_KIT1_GimbalMini_EN_ver2113.pdf
Gimbal (Additional Eaxmples) ROBOTIS_ENGINEER_KIT1_Gimbal_EN_ver2113.pdf
Excavating Manipulator (Additional Eaxmples) ROBOTIS_ENGINEER_KIT1_ExcavatingManipulator_EN_ver2113.pdf


BLE Signal Setting

The Bluetooth communication could be unstable if the signal strength of BLE slave module in the CM-550 is weak or interfered.
The BLE signal strength can be adjusted by R+ Manager 2.0 in this case.

Please refer to the method to adjust CM-550 BLE signal strength for various situations.

My CM-550 Other CM-550 BLE Signal Strength
Unstable Link Stable Link Increase
Unstable Link Unstable Link Increase
Stable Link Unstable Link Decrease
Stable Link Stable Link No Change
  • If communication is unstable when using one CM-550 controller in the room, the signal strength might be weak. Increase the BLE signal strength.
  • If communication is unstable when using multiple CM-550 controllers in the room, BLE signals could interrupt each other. Increase the BLE signal strength of the unstable CM-550 or decrease the BLE signal strength of other stable CM-550.
  • If all CM-550 in the room are stable, Maintain the BLE signal strength.

NOTE : The BLE signal strength and noise may differ by environment and the number of devices nearby.

  1. Turn off the BT-410 master or BT-410 Dongle that is paired to CM-550 BLE.
    (BLE signal strength cannot be configured while CM-550 BLE is connected to the paired device)

  2. Connect the USB cable from PC to CM-550 (5V USB will automatically turn on the controller even if the power switch is off).
  3. Wait until the MODE button of CM-550 flickers every second.
  4. Run R+ Manager 2.0.
  5. Click the Check for Updates button to install the latest updates.

  6. Go to ALL PRODUCTS tab or use shortcut key(Ctrl + A).

  7. Select CM-550 from the product list.

  8. Click Update & Test button.

  9. Click Next button.

  10. Select the port where the controller is connected to.

  11. Confirm the Baudrate (The default baudrate is fixed to 57600 bps).

  12. Once CM-550 controller is detected, click Next.

  13. If the controller has the latest firmware, click Next, or else follow the update instruction on the screen to download the latest firmware.

  14. Upon the successful connection, below control table will appear on the screen.

  15. Scroll down until to find BLE Signal Power in the address 139.

  16. Select the BLE Signal Power on the right section of the control table and click Save button.
    The bigger value will increase the signal strength.

    If the value of BLE Signal Power is marked on UNKNOWN(0), please go back to step 1 and check if BT-410 Master or BT-410 Dongle module is turned off.

  17. Confirm the changed BLE Signal Power value.

Self Checklist

  1. Why the robot does not turn on?

    Please check the battery level and connection.

  2. How can I check the battery level?

    Please refer to Battery Level Check section.

  3. I keep hearing the alarm from the robot.

    If the battery level is too low, battery warning alarm sounds. Please refer to Charging Battery section.

  4. The robot motion seems awkward.

    The robot may not assembled properly. Please check the robot assembly and Check DYNAMIXEL Assembly section.

  5. The robot turns on with the adapter, but not with the battery.

    Please check the Fuse on the bottom of CM-550 controller. Please refer to Fuse Replacement section.

How to Reset

If the robot needs to be reset to it’s factory condition due to a malfunction, you may need to re-download the provided basic examples (.tsk3 and .mtn3) to the CM-550 to reset the robot. To do it, go to the Download Examples and see Download from PC.

Charging Battery


  • The provided battery must be charged with the provided charger(LBC-10) in the kit.
  • Please power the charger before connecting the battery.
  • Please fully charge the battery prior to first use.
  1. Get the rechargeable battery in the kit.

  2. Connect the battery to the charger as shown below.

  3. When fully charged, the LED will emit a solid green light.

  4. The robot and controller can also be powered by the SMPS without the battery.

  5. The battery has separate connectors for the charger and the robot. Please disconnect the Robot Connector from the robot when charging the battery.

Battery Level Check

Current battery life can be verified by the color of the LED located on the CM-550.

NOTE : The Power LED will blink when Bluetooth connection is disconnected.

CAUTION : Please disconnect the battery from the charger when charging is completed. Please do not charge the battery while operating the robot.

Fuse Replacement

The fuse in CM-550 protects hardware from unexpected excessive current.
If CM-550 can be turned on with the SMPS, but not with the battery, please check the fuse and replace it if necessary.

DANGER : Disconnect any power sources(SMPS, battery, USB) from CM-550 before replacing the fuse.

Disconnect power source from CM-550 and replace the fuse on the bottom of CM-550.