Hi! Apologies for the delay in my response.
In many situations where it’s just a PC <-> ODrive <-> Power Supply
, a ground loop actually won’t be formed. However, since it would be very easy to create a ground loop with minimal modification to this system (e.g. an Arduino is connected to the PC and grounded to the power supply), it’s much simpler and safer for all involved to necessitate a USB isolator whenever the ODrive is controlled over USB and used with DC power – there’s no downsides to using an isolator, and the upside is that it’s much harder to damage the ODrive or your PC’s USB ports.
The ODrive S1 has an isolated UART interface, though, so as long as the Arduino is only connected to the S1’s ISO_VDD/RX/TX/ISO_GND ports and not connected to the power supply DC-, both the PC and Arduino will not share a ground domain with the ODrive.
To explain ground loops a bit more – typically in lower-power systems, all devices share a ground, and that ground is all at the same 0V voltage. However, when you get to motor control, the motor controllers pull very sharp amounts of power from the supply. Even a very thick, pure copper cable isn’t a “perfect” conductor, and when power is suddenly drawn by the motor controller, the ground voltage at that motor controller may spike higher or lower than the ground voltage at the power supply, or at other connected devices. So if a PC and an ODrive are communicating over a USB (on the same ground domain, without an isolator), and the ODrive draws that “burst” of power from the power supply, then the ODrive communication voltages may suddenly be much higher or lower than the PC’s – to the point of causing catastrophic damage to either device.
Quick diagram of a common situation where someone may blow an ODrive with ground loops:
Please let me know if my handwriting is indecipherable or if I can explain this any better In the above diagram, USB isolators between the PC and each ODrive (well, really even just between the PC and a single ODrive, but we always say to use one per ODrive) would “translate” across the ground differentials and protect all devices involved. The above is also a best case scenario for device damage – you can damage your PC’s USB ICs or blow an internal fuse.
Generally we recommend CAN communications, which is designed to operate across rapidly-changing ground differentials, but the UART isolator in the S1 means that UART can be just fine too (and of course USB is too, with an external isolator).
So, tldr, no isolator needed in your setup, but make sure that nothing else gets connected between the Arduino and power supply / ODrive ground – e.g. no sensors or other boards or anything.