Ground Loop Blew STM32 I believe


So I finally got my ODrives working! Screw windows and their drivers. As soon as I got Ubuntu booted on my machine everything was smooth sailing and easy to get working so, not sure why windows is such a bum.

Anyways, during setup I believe I made a ground loop between the power supply and the USB port on the first ODrive I plugged in. I didn’t have any motor connected to it so I believed the current draw to the ODrive wouldn’t be too high to cause the ground voltage to shift enough to break anything, but I didn’t consider the surge current from all the capacitors on the back.

After this happened I used a current controlled power supply with the ODrive as I didn’t have USB isolators at the time, and limited the current to 50ma to prevent any large current draws and this worked well. I now have the USB isolators so I can connect to my high current power supply.

My question is, what is the best way to go about checking where the damage is done on the board? I tested the 5v and 3.3v pins and they are +/- 0.1v of nominal, so I think the regulators are fine. This leads me to think the STM32 chip is what took the damage. How should I confirm this?

And if this is the case, where should I purchase the chips from to get the same quality as what is used on the board? Also I’d like to make sure I get the same exact chip as I know the STM32 uprocessor has some different versions. I have a reflow hotair gun so I think I can get this done in my garage. If not, I can bring the board into work and use the smd setups here.

Sorry if this question has been answered, I wasn’t able to find a post where someone replaced the uprocessor.


1 Like

The part number is STM32F405RGT6

But, have you tried reprogramming the chip with the DFU switch?
Move the switch from ‘run’ to ‘dfu’ and then observe the output of sudo dmesg -w when you plug it in to your Linux box. If it shows up as a STM32 bootloader, then you should be able to reprogram the firmware with odrivetool.

Sometimes when there is a power surge or ground loop, the STM32 chip is not permanently damaged but its flash memory is somehow corrupted, at least I have seen this a few times, and it is recoverable by the DFU bootloader.

I’m sorry you had such a bad time with Windows. Unfortunately the Windows driver model is a :face_with_symbols_over_mouth: pile of :poop: and it doesn’t support userspace drivers or USB composite devices (i.e. devices using more than one driver for different functions) very well.

You know, I don’t think I put it in DFU mode to check if the stm32 bootloader is recognized. I will try that tomorrow.

Crossing my fingers! If not, I’ll just purchase the part and replace it. Thank you!

And yes **** windows, why can’t linux be the computing OS of the world…

1 Like

The STM uses more than 50mA during boot, so just increase the power supply :stuck_out_tongue: