title: Using rosserial to communicate with MX-64 DYNAMIXEL motor
body: <p>When I try to use rosserial to communicate with an Arduino to control the MX-64 motor, every time I use rostopic pub to send a message, it will give me this error:</p>
  
  <blockquote>
    <p>"Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client "</p>
  </blockquote>
  
  <p>If I remove the <code>Dynamixel.move(X_SERVO_ID,rollint);</code> function in the code or don't send any information though ROS, there will be no error. I tried all the rosserial examples, all of them are working just fine without any error.</p>
  
  <p>The weird thing is even if it gives me an error, the program is still working. Every time I send a message, the DYNAMIXEL motor will start moving.</p>
  
  <pre><code>#if (ARDUINO &gt;= 100)
   #include &lt;Arduino.h&gt;
  #else
   #include &lt;WProgram.h&gt;
  #endif
  
  #include &lt;ros.h&gt;
  #include &lt;std_msgs/Int8.h&gt;
  
  
  ros::NodeHandle  nh;
  
  #include &lt;Dynamixel_Serial.h&gt;       // Library needed to control Dynamixal servo
  #include &lt;sensor_msgs/Imu.h&gt;
  
  #define X_SERVO_ID 0x01 // ID which we will be set in Dynamixel too 
  
  int rollint = 0;
  
  void motor_cb(const std_msgs::Int8&amp; cmd_msg) {
    rollint = ((1.00*(90-cmd_msg.data))/360)*4095;
    Dynamixel.move(X_SERVO_ID,rollint); 
  }
  
  ros::Subscriber&lt;std_msgs::Int8&gt; sub("MX_Motor", motor_cb);
  
  void setup() {
    delay(100); // Give time for Dynamixel to start on power-up
    nh.initNode();
    nh.subscribe(sub);
  
  }
  
  void loop(){
    nh.spinOnce();
    delay(1);
  }
  </code></pre>