A robot arm having a compound joint between a first limb of the arm and a second limb of the arm, the second limb of the arm being distal of the first limb, the arm comprising: a coupler element coupled to the first limb of the arm by a first revolute joint having a first rotation axis and to the second limb of the arm by a second revolute joint having a second rotation axis; first and second rotational position sensors for sensing the configuration of the arm about the first and second joints respectively; first and second torque sensors for sensing the torque applied about the first and second joints respectively; a control unit for controlling the operation of the arm; a first communications unit borne by the first limb and located proximally of the coupler and a second communications unit borne by the second limb and located distally of the coupler, each communications unit being capable of encoding data received from one or more of the position and/or torque sensors in a first data format into data packets and transmitting those packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the first position sensor is connected to the first communications unit by a physical data link that is located proximally of the first and second revolute joints and runs within an exterior wall of the first limb so as to pass data representing sensed position about the first joint to the first communications unit for encoding and the first torque sensor is connected to the second communications unit by a physical data link that is located distally of the first revolute joint and runs within an exterior wall of the second limb so as to pass data representing sensed torque about the first joint to the second communications unit for encoding. a coupler element coupled to the first limb of the arm by a first revolute joint having a first rotation axis and to the second limb of the arm by a second revolute joint having a second rotation axis; first and second rotational position sensors for sensing the configuration of the arm about the first and second joints respectively; first and second torque sensors for sensing the torque applied about the first and second joints respectively; a control unit for controlling the operation of the arm; a first communications unit borne by the first limb and located proximally of the coupler and a second communications unit borne by the second limb and located distally of the coupler, each communications unit being capable of encoding data received from one or more of the position and/or torque sensors in a first data format into data packets and transmitting those packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the first position sensor is connected to the first communications unit by a physical data link that is located proximally of the first and second revolute joints and runs within an exterior wall of the first limb so as to pass data representing sensed position about the first joint to the first communications unit for encoding and the first torque sensor is connected to the second communications unit by a physical data link that is located distally of the first revolute joint and runs within an exterior wall of the second limb so as to pass data representing sensed torque about the first joint to the second communications unit for encoding.