CAN, CAN FD, EtherCAT or RS485: talking to robot joints

Every joint module takes commands and reports its state over a bus. The bus sets how many joints you can run, and how fast.

The options

  • CAN 2.0: 1 Mbit/s, 8-byte frames, two wires plus ground. Simple, robust and supported by almost every joint module.
  • CAN FD: the same wiring with a faster data phase (commonly 5 Mbit/s) and up to 64 bytes per frame, so more joints per bus.
  • EtherCAT: industrial Ethernet at 100 Mbit/s with synchronized clocks. Cycle times of 1 ms or less across dozens of joints, but it needs an EtherCAT master in your controller.
  • RS485: common on lower-cost modules, often with Modbus or a maker’s own protocol. Fine for slow axes, rarely for dynamic legged control.

Will one CAN bus do?

A standard CAN frame with 8 data bytes takes roughly 110 to 130 bits on the wire, so a 1 Mbit/s bus carries at most about 8,000 frames a second, and it is good practice to stay well below that. A controller that sends each joint one command and gets one reply at 1 kHz needs 2,000 frames a second per joint. That puts about three or four joints on one bus. A 12-joint quadruped therefore usually runs one CAN bus per leg; CAN FD or EtherCAT lets you use fewer.

Control modes

Most joint modules offer position, velocity and torque modes. Many also offer an impedance mode (often called MIT mode): one command carries a target position and velocity, a stiffness and damping gain, and a feed-forward torque, and the joint runs that loop itself at a high rate. It is the standard way to control legged robots.

Before you buy, check

  • The protocol is documented, with example code or an SDK for your language.
  • The update rate and bus speed you plan to use are supported.
  • Joint IDs can be set so several modules share a bus.
  • CAN buses are terminated with 120 Ω at both ends (some modules have a switchable resistor).
  • Mixing makers on one bus is possible only if their IDs and frame formats do not collide.

Filter by communication in Robot Joint Actuators and compare shortlisted modules side by side.