As some of you now I'm building an Euclidian module for the AEmodular and I am using an arduino pro micro 5v to run my code.
Tonight I managed to brick my arduino by uploading a piece of code that wrote data outside an allocated array due to a bad index check in my code.
This should normally not pose any problem you just upload a correct version of the code right?
Well not really, the pro micro has no dedicated chips for communicating over usb and my buggy code crashed the arduino in such a way that the bootloader never got back into a state where my IDE would recognize the usb port of the pro micro. So I knew I f***ed up badly and started searching on the interwebs how to unbrick my pro micro, if such a thing is even possible.
Eventually I came across this post on stack exchange which explained how to unbrick the pro micro by uploading a correct sketch (one of the arduino example should do the trick) and how to double reset your pro micro to get its usb port recognized again by the IDE (albeit for a very short time) so you can upload a correctly working sketch and thereby unbricking your pro micro.
I'll leave the link here for further reference if anyone ever would run into the same kind of trouble :-)
I had too many issues in the past with CH340-Chips, bad driver, old bootloader and serial communication. So to prevent crashed, misconfigurations or hangups, i always upload sketches or bootloader for Pro Micros, Pro Minis or Leonardos via SPI directly (especially the cheap China Clones). Crashed bootloader can be fixed the same way. I need a second Arduino of course, but I've already saved a lot of time for troubleshooting ...
The same way i do with ATTiny and naked Atmel 328p-chips: