oDrive not responding anymore

Hi,

I can’t find my oDrive with oDrivetool anymore. It used to move each axis to find the z index on boot up, but the motors aren’t turning anymore too.

I’ve tried to unplug everything, it’s still not detected. The power led is on. I’ve tried to change the power supply, still same issue.

I don’t think I’ve short circuited the odrive, the issue has appeared after turning off/on the power supply.

There is no apparent damage to the board, I can provide picture or try to debug it with an oscilloscope if you tell me what to do, that would be greatly appreciated.

Thanks!

I feel like the drive has reseted.

I can detect the oDrive when I put in the DFU mode.

I’ve tried to update it, but I get the following issue :
sudo odrivetool dfu
ODrive control utility v0.4.12
Waiting for ODrive…
Found ODrive 207A397D4D4D (v3.6-56V) with firmware [unknown version] in DFU mode
Checking online for newest firmware… found v0.4.12
Downloading firmware v0.4.12…
The configuration cannot be backed up because the device is already in DFU mode. The configuration may be lost after updating. Do you want to continue anyway? [Y/n] y
Erasing… done
Flashing… done
Verifying… done
Waiting for the device to reappear…
Traceback (most recent call last):
File “/usr/local/bin/odrivetool”, line 142, in
odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
File “/usr/local/lib/python3.7/dist-packages/odrive/dfu.py”, line 454, in launch_dfu
update_device(device, firmware, logger, cancellation_token)
File “/usr/local/lib/python3.7/dist-packages/odrive/dfu.py”, line 415, in update_device
cancellation_token, cancellation_token, timeout=30)
File “/usr/local/lib/python3.7/dist-packages/fibre/discovery.py”, line 126, in find_any
done_signal.wait(timeout=timeout)
File “/usr/local/lib/python3.7/dist-packages/fibre/utils.py”, line 91, in wait
raise TimeoutError()
TimeoutError

Alright, even tho the procedure had an issue, I can now detect the drive again when it is not in dfu mode, that’s a christmas miracle

The drive was still not functionning properly, so I used the command .erase_configuration() and now it seems to work like a charm again…

I think turning my power supply on and off mutliple time in less than 5 sec triggered a kind of safety? or I don’t know what which reseted the drive

It’s normal to get a timeout error if you use the ‘DFU’ DIP switch, which forces the drive to always boot into DFU mode, even if not commanded to over USB.
Normally, you don’t ever need to use this DIP switch if communication is working properly. That’s why there’s some tape over it I think.
It might be that you set some configuration along withe startup_closed_loop_control=True that caused so much noise immediately after boot that the USB drops out.
If the drive is misconfigured, but you have enough time to set requested state to IDLE before it starts up closed loop control, then you can use odrivetool dfu normally.