Hanging on upload - "Forcing reset using 1200bps open/close on port"

I’ve been dealing with intermittent problems when uploading projects on several different SAMD21G boards.

I’m running Windows10 and have the latest version of PIO as of 12/2/20.

-Sometimes it looks like the upload completes however the changes I made to the project do not take effect.
-Sometimes the uploader hangs on “Forcing reset using 1200bps open/close on port COM(x)”
-sometimes it appears to be able to communicate and displays the upload command and binary file but it hangs there.

I’ve tried:
-resetting while it is hanging
-double pressing reset
-reseating USB
-Closing IDE
-deleting the usb device from device manager
-deleting usb host controller
-rebooting
-restoring machine from recovery point
-using a device clean app for windows10 that deletes registry entries for Device VID/PID because windows seems to love to remember device info even after recovering from a previous point

It seems like TWICE A DAY I’m able to upload a project but ONLY after I’ve uploaded a very basic sketch using Arduino IDE. After that I’m able to use PIO to upload my project ONCE. After that any changes to the the project appears to upload but obvious changes aren’t present in the build (tft screen print statements). Subsequent attempts to upload, clean build and upload, or anything else is when it starts to hang on the upload with the “Forcing reset” message.

Because I’m probably not being clear… when it says forcing reset I can press the reset button and occasionally it will see the com port and appear to upload but like I said the changes don’t seem to be present.

I don’t know if this is a driver thing, windows thing, Arduino thing or what but I’ve seen plenty of forums where people explain the same issue where different solutions help them but not me that I wanted to start a new thread.

This describes it pretty well, but so does this and this one too.

Adding this little python script seemed to work for other folks but not me.

I did shut down MacAfee after a reboot and don’t use the live scan garbage anymore. There’s a lot going on on those threads and I’m looking for a sanity check.