Unable to connect to odrive(s)

I played around with my odrive 3.2 quite a bit before summer, and everything worked well. When picking my project up again now, I was unable to connect to the odrive through usb (using odrivetool). I tried reflashing it, but openocd failed:

openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c init -c "reset halt" -c "flash write_image erase ODriveFirmware_v3.2.elf" -c "reset run" -c exit
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00487-gaf359c18 (2018-05-12-19:30)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
WARNING: interface/stlink-v2.cfg is deprecated, please switch to interface/stlink.cfg
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 2000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : clock speed 1800 kHz
Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.257143
Error: init mode failed (unable to connect to the target)
in procedure 'init'
in procedure 'ocd_bouncer'

I figured the board was toast, but luckily I had an unused odrive 3.5 (48v). After attaching it to the motors, encoders and battery, I try to connect using odrivetool, but it is unable to connect to the board. Windows doesn’t seem to recognize odrive as a USB device at all, so I figure there might not be any firmware on it. Try to flash using st-link, but get the same error as with 3.2.

I tried both boards with different usb-cables, which I also verified using other devices. I checked the cable connections to the st-link, and tried with new cables. I only tried the 3.2 on windows, but tried 3.5 on both windows and linux with similar result. The 3.2 had been used quite a lot, but the 3.5 had only been lying unused in the box for a couple some months.

Any idea what might be going on? Or any additional things I might try to troubleshoot?

That usually means that the wires between the ST-Link and the ODrive is not plugged in correctly, or the ODrive doesn’t have power.

The 3.2 board seems to be toast (doesn’t power up). My kid got a hold of it, so I guess that’s to be expected.

The 48V board however (3.4, not 3.5 as I incorrectly stated in my previous), was unused in the box and seems to power up nicely. It just doesn’t move any motors (no startup sequence) or connect to the computer. When trying to flash, I’ve checked that the cables are mounted correctly numerous times, as well as changing cables and trying different computers with both linux and windows. No luck.

Is there anything else I can try?

Turned out to be a faulty ST-Link. Switched to a new one and was able to flash and now I can connect through USB.

1 Like