ODrive CAN not working anymore

Hi,
My ODrive (v3.6, 56V) seems to have stopped sending messages over CAN.
Basically, I previously had a perfectly functional CAN communication (you can look at a simple scheme of my setup at https://github.com/AndPatr/WheeBBot-v1/blob/main/repo_images/wiring.pdf).
At one point, I decided to slightly modify the firmware to better suit my needs (the firmware I tried to flash is at https://github.com/AndPatr/WheeBBot-v1/tree/main/ODrive/Firmware). You can look at my support request at modify-firmware-to-also-obtain-the-measured-current.
What I did was to compile the firmware according to the suggested steps and then upload it on the board.
After successfully uploading the firmware I wasn’t able to read over CAN anymore.
To test if this was due to a mistake in my firmware version, I then tried to reflash the normal firmware version running sudo odrivetool dfu (I had to use superuser privileges to be able to flash).
To my surprise, the ODrive was still not sending messages.
At that point I tested my receiver side (i.e. the RPI), to see if everything was ok.
I did the following:

  • I tested my IMU stack (which also communicates with the RPI through CAN) on both the can0 and can1 buses and I was able to read the messages correctly.
  • I tested the twisted cables I was using to make sure there were no damages and they work perfectly with the IMU.
  • I checked if the L and H pins were switched and they were ok.
  • I checked if the problem was produced by the pins of the cable not making contact with the L and H pins on the ODrive by placing them by hand on the soldered pads. Nothing.
  • I also used another ODrive v3.6 56V (basically a brand new one) which I have to see if this was an hardware failure. I flashed it with the latest standard firmware but I still receive no messages.

Both the ODrive I tested seem to be perfectly functional via USB (I can use odrivetool).
At this point, I do not know what the issue might be.
Any advice?
Thanks

Ok, very stupid error: I was forgetting to set the proper CAN baud rate, which was 1000000 and not 250000, which is ODrive’s default.

2 Likes