ODrive not detectable as USB device

I have 2 48V ODrive boards controlling 4 Hoverboard motors on a differential robot.

Both boards were working well (whilst robot was elevated off ground) until I started driving the robot around and then one of the ODrive boards dropped USB connection.
It no longer is visible with lsusb while the other ODrive board is.
Both boards are power by a 36V LiPo battery which was at around 40V at the time. The ODrive board which broke was connected via USB to a mini PC (Intel NUC) which was being powered by a 11.1V LiPo battery at the time (the NUC has input voltage of 12-19V but the battery was 12.5 V)

I can confirm that it’s still getting 40V at the + / - DC input terminals. I have tried with the USB cable from the working board with no success.

I was communicating with the boards through the native USB interface via a ROS driver (https://github.com/neomanic/odrive_ros)

I would think the only reason it would not be detected as a USB device is if there is something is wrong with the power supply or something is more seriously broken. My system is running Ubuntu 16.04. Has anyone solved a similar issue with a board not being detected at all on the computer? Any thoughts or tips would be appreciated.

EDIT #1:
I did some probing and saw the 3.3V line (VCC) on the broken board is running at 4.2V. On the working board it is at exactly 3.3V. Looks like the U3 component - AZ1117EH-3.3TRG1 (marked GH27G) is broken somehow. The question now is if 4.2V on VCC has killed the Microcontroller STM32F405RG. Datasheet says 4.0V absolutely maximum on VCC so I would guess it has. Anyone have an idea of a quick way to verify if the MCU is dead?
Also - still no idea why the 3.3v regulator broke…


That’s unfortunate. It is possible that the regulator has broken, or it is possible that something is back-feeding 5v into the 3.3v rail. Can you try to remove all external connections, then apply 5V between the 5V pin and the GND pin on J2? Can you hence measure the voltage on the 3.3v rail?