Odrive Pro CAN interface not working

Hi, I’ve been trying to interface with some ODrive Pros through CAN and haven’t had any success. In all tests I used the default configuration, and verified that the can interface was enabled. I have also tried with both the termination resistor connected and disconnected.

Test 1: Using Linux Socket CAN, listening to the bus using candump received no messages. Verified that baudrates were equal. This setup had successfully been communicating to other CAN devices.

Test 2: Two odrives with their can cables plugged into each other with the same IDs (trying to force a “DUPLICATE_CAN_ID” error), no errors, n_restarts counting up on both boards

Test 3: Oscilloscope probe between CAN_L and CAN_H as well as CAN_H/L to CAN_GND, no signals observed.

I feel like I’m missing something simple here, is there an initialisation process that needs to happen such as a specific frame being sent on the bus?

Thanks in advance for your help!


We have noticed that the documentation around the semi-isolated CAN on ODrive Pro is a bit lacking, and qutie a few people are missing to connect CANGnd to DC- (more details below). We have some improved docs for that on the way out now that should make it a bit clearer, these new docs might go up in a week or so.

In order to power up the transceiver you must also complete negative (gnd) path of the circuit. I.e. DC- and CANGnd must be connected at the system star ground point, as shown in the guide (it is not optional, only Aux12V is optional).

1 Like

Ah, fantastic thanks; that was the issue. I’d incorrectly assumed this was just for voltage reference reasons and the transceiver would be powered with just a usb connection.

The documentation has been updated, please review and let us know if anything’s missing. CAN Bus Guide for ODrive — ODrive Pro Documentation 0.6.3 documentation