Problem on xc430-w240-t

i have a problem on moving the dynamixel XC430-w240-t servo so i think it would be better if i put the code of the function i have coded for movement in wheel mode and if i have had any mistake may you please inform me regarding my mistake

the following code is written in arduino (C++)

void velocity(unsigned char id, char ccw_cw, int speed) {
unsigned char packet[15];

if (ccw_cw == 1) // cw
bitWrite(speed, 10, 1); // set bit_10
} else // ccw
bitWrite(speed, 10, 0); // clear bit_10

packet[0] = 0xff;
packet[1] = 0xff;
packet[2] = id;
packet[3] = (2 + 3); // Length
packet[4] = 3;


packet[5] = 104; // speed address
packet[6] = lowByte(speed);
packet[7] = highByte(speed);


// checksum
packet[8] = ~(packet[2] + packet[3] + packet[4] + packet[5] + packet[6] + packet[7]);

for (int i = 0; i <= 8; i++) {

i can control all the functions except the ones with highBytes and lowBytes such as velocity mode movement, joint mode movement, and angle limits

i would be thankful for your reply

  1. May I ask why you are implementing your own packet handling solution rather than making use of the existing DYNAMIXEL2Arduino Library?
  2. Are you operating the servos in Protocol 1 mode? The XC430 servos use protocol 2 by default, and the CRC calculation has changed from the method used for Protocol 1 communications.

Yes I have changed the servo protocol to protocol 1

I am using my own instruction packet because the ones from the libraries didn’t work
By the way I do not have a sheild and I connect everything using a wire
I’ve used my packets on the ax12 without the sheild and it did work and I have also changed the address for a certain action on each motor

If you aren’t using a DYNAMIXEL shield, you will need to implement a half-duplex converter in order to guarantee reliable communication between your servo and the Arduino. If you aren’t using a half-duplex converter it’s likely you’ll have communications issues during servo operation.

I am using a half duplex