O-Drive v3.6 not recognised by USB in Run Mode


I am having difficulties with a 24V O-Drive v3.6.

I had been using it for a few weeks without any problem when suddenly I could not connect anymore to odrivetool. Odrivetool stays stuck on “Please connect your ODrive.” The O-Drive isn’t recognised at all by windows either. I tried with different computers and USB cables to no avail.

From what I’ve read on the forums, it is somewhat common for the O-Drive to lose it’s firmware for some reason so I decided to try to reflash it. I flipped the DFU switch and flashed the odrive with the ‘odrivetool dfu’ command. This seemed to have worked: I received the following confirmations: ‘‘Erasing…done ; flashing…done ; verifying… done ; Fimware upload successful’’. However when I power cycled the board and put it back to run mode it still wasn’t recognised by odrive. What is weird is that it is always recognised in DFU mode by windows, but never in run mode.

I tried a few other options: connecting to odrivetool via linux on a raspberry-pi, also running sudo odrivetool dfu from linux, without success. I had read that odrivetool dfu was not 100% reliable so I tried the recommended method on the forums: STM32CubeProgrammer. I followed the procedure from here: odrivetool — ODrive Documentation 0.5.4 documentation. As with odrivetool dfu, this procedure seemed to have worked fine (see screenshot of success confirmation), but the device is still not recognised when on Run Mode.

So as of now:

  • I flashed the board using odrivetool dfu and STM32CubeProgrammer and both gave success messages
  • When on Run Mode, the device appears nowhere: neither in Windows Device Manager, Zadig, or odrivetool
  • I have tried connecting with different cables, on different computers, on Windows and Linux

I feel like I’ve tried every possible troubleshooting paths given on the odrive docs and forums. Any help would be greatly appreciated!

See if you can do a full erase with STM32 Cube Programmer. Alternatively, flash an older firmware with a different config structure (which will default the config), then flash the new one again.

I tried the full chip erase, got a success confirmation, reinstalled firmware v0.5.4 and that didn’t solve the problem.

Also tried installing an older version: v0.4.9 for 3.6 board at 24V. Still wasn’t recognised in RUN mode.

Would using an STlink V2 help or would that give the same result as using STM32CubeProgrammer?

Have you checked your 3.3v and 5v voltages. I have found that border line voltages give weird symptoms. I lost one of my Odrives for a whole day but it came back on it’s after letting it rest for a day. I had fully charged the battery pack prior to the problem. Another time I lost communication due to long USB cable. Went to a shorter cable and system ran. I am now logging weirdness :upside_down_face:

This weirdness is happening to my PC and embedded controllers also.

1 Like