I've been struggling with this issue for a few days on and off now. I I made a custom PCB (schematicschematic) for a smaller Arduino Pro Micro and it works - mostly. The only issue I had was that the pins on the USB connector were backward, but when I soldered on a USB cable everything worked as expected.
I then made a new board (schematic) with the following changes:
- Fix the USB connector
- Changed two of the GPIOs that were brought out to pins (from D4 and D17 to D6 and D9)
- Added an onboard LED connected to D8
- Removed the jumper on HWB pin
I have been able to burn the bootloader using both an Arduino Uno and with an AVRISP mkII. When When I plug the micro into the computer the first time it is recognized as an "Arduino Micro (COM6)". Then Then I try to upload the Arduino example Blink.ino sketch - and that works too. In In the process the IDE forces the reset and in device manager I can see the "Arduino Micro bootloader (COM7)" replace the micro on COM6. The The LED does begin to blink but in device manager it remains as "Arduino Micro bootloader (COM7)". When When I try to upload another sketch to this port it fails (as I would expect) because it cannot force the reset; presumably because the bootloader is already active. So So I unplug it and try again. It It shows up as "Arduino Micro (COM6); all looks good but when I try to upload it cannot force the reset, tries to upload to "Arduino Micro (COM6)" and fails (I assume because it is not entering into the bootloader).
When I double tap the reset pin or connect to the arduino using a baud rate of 1200 the micro does reset (as expected) and the light stops flashing so I suspect the bootloader is being executed - but on device manager it remains as "Arduino Micro (COM6)".
If anyone has any ideas I'm all ears. Normally Normally I do not have to fight with Atmel hardware like I have on this issue.