Issues hooking up Buck Regulator 3.3v - fried my USB ports

I was recently working on a prototype involving an SPE ESP-32 Thing powered by an SEP 3.3v buck regulator that ended up frying the USB ports on my Macbook. I think I was doing everything right regarding hookup, so I’m hoping someone can help me understand what went wrong so I don’t make the same expensive mistake again.

Here is my hookup, removing irrelevant parts of the project that weren’t powered when I was testing. I couldn’t find a part for a 12V power source so I used a 9V battery instead. The FTDI board is connected to my Macbook via the USB port. The program basically fires up a wifi AP network and sends UDP packets from an external data source. In this case the source is a python script running on my Macbook. This simulates the final application where this will be installed on my sailboat, powered by the 12-volt house batteries and connected to an electronic depth gauge that transmits serial data.

I started my test by first hooking up the FTDI/Mac piece and started the script that sends test data. Then I hooked up GND and VCC to the 12-volt battery. The ESP-32 fired up and operated as expected, creating the wifi AP and started listening for input data. But at that point the python script on my Mac reported a hardware error, stopped sending data, and now the USB ports on that side don’t work AT ALL, even when just connected to the power adapter (fortunately, the USB ports on the other side still work).

After mildly freaking out, I tried again, first powering up the project and THEN connecting the FTDI chip (using the undamaged USB ports) and everything worked fine, meaning, the ESP-32 correctly read data from the FTDI board and sent it along through UDP packets. The FTDI board seems to have not been affected by the anomaly.

I’m trying to understand what might have happened. There is a voltage regulator, the ESP-32 board, and the FTDI board between the 12-volt battery and the Mac, so I didn’t think it necessary to provide any special protection for the Mac. Have I overlooked something? Is it possible that the buck regulator allowed unregulated 12-volts momentarily? I thought the buck regulator would protect the project from any high voltage inputs. I suppose it’s possible I accidentally hooked it up wrong, perhaps connecting GND on the FTDI to the 3v rail instead, or worse, battery to the 3V side of the regulator. But I’m pretty sure I didn’t do either of those, and anyway, the ESP-32 ran fine as I said.

I’m not seeing anything in your drawing that would cause damage to your computer.

Maybe try hooking everything up except the usb cable and checking the 3.3 volt output on the regulator to be sure it’s 3.3 volts?

I did check voltage levels across the board and they’re what you’d expect. I’m wondering if there’s a possibility of voltage spikes at startup? How would I check?

An oscilloscope would catch a spike but I’m not seeing anything that would cause one.

It could just be coincidence that the ports died when they did.

Okay, thanks. It could also be that I was careless during hookup, perhaps briefly touching the positive battery lead to the 3V side of the regulator. I really just wanted to make sure there wasn’t a glaring design flaw.