Arduino Pro Micro bricked or can it be saved?

I have a Pro Micro that does not show up as a COM port on either a Windows XP system or a Windows 7 system (it is nowhere to be found in the device manager, I've tried everything!).

The very first time I connected it (to the Windows 7 laptop) it came up as an Arduino Leonardo and I was able to upload the test sketch from Sparkfun (flashing the TX/RX LEDs). Since then the board is completely invisible to teh computer.
I have tried all the usual reset-while-uploading tricks but nothing works, I get the error:

"Arduino: 1.6.5 (Windows XP), Board: "Arduino Leonardo"

Sketch uses 7,418 bytes (25%) of program storage space. Maximum is 28,672 bytes.

Global variables use 254 bytes (9%) of dynamic memory, leaving 2,306 bytes for local variables. Maximum is 2,560 bytes.

processing.app.debug.RunnerException: Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload.

at cc.arduino.packages.uploaders.SerialUploader.waitForUploadPort(SerialUploader.java:246)

at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:129)

at processing.app.debug.Compiler.upload(Compiler.java:166)

at processing.app.Sketch.upload(Sketch.java:1167)

at processing.app.Sketch.exportApplet(Sketch.java:1141)

at processing.app.Sketch.exportApplet(Sketch.java:1113)

at processing.app.Editor$DefaultExportHandler.run(Editor.java:2380)

at java.lang.Thread.run(Thread.java:745)

Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload."
The thing is there is no port to select...
It is as if the bootloader is no longer there and the AVR's USB has checked out.
Any ideas? Do I need to reolad the bootloader and if so is there a way without an official AVR programmer?
Thanks for any and all ideas!
Pip6

Most likely you need to burn a bootloader on it. You can do that with almost any other working Arduino. Do you have any other working Arduino of any kind? If so, what do you have? ~~I do not have a Micro but I believe it is same as Leonardo. Does the pin 13 LED pulsate when you press reset? ~~ [edit: I don't know why I thought you had a Micro, I must have misread your post. I do have a Pro Micro.]

Thank you for the reply. I do have an Uno I can hopefully use to burn a new bootloader. I wonder if there is a difference between the Leonardo and Pro Micro bootloaders?

I do not think the Pro Micro has the pin 13 LED. When I reset the board the power LED stays on, nothing else. When it exits reset the flashing LED sketch I previously loaded runs.

OK, I tried uploading a new bootloader using an Arduino Uno. I followed the procedure slavishly but get this error:

Arduino: 1.6.6 (Windows 7), Board: "SparkFun Pro Micro 5V/16MHz"

java.io.IOException: Cannot run program "{path}/bin/avrdude": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:113)
at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:349)
at processing.app.Editor$57.run(Editor.java:2777)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 18 more
Error while burning bootloader.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

Anyone have an idea what I need to do?
Thanks

You are right, it does not have a pin 13 LED. You can flash pin 17 which is the RXLED, or external LEDs.

Pro Micro pinout: https://cdn.sparkfun.com/assets/9/c/3/c/4/523a1765757b7f5c6e8b4567.png

Instructions for using Arduino as ISP: How to burn boot loader of arduino uno r3 usin aurdino mega 2650 - #3 by dmjlambert - Installation & Troubleshooting - Arduino Forum

Wiring:

The only significant difference between the Leonardo and Pro Micro bootloaders is the USB VID/PID combination. If you have added the Sparkfun boards to the IDE you will have the Pro Micro board to choose from, and it looks like you have that loaded. Or you can burn the Leonardo bootloader. I don't think it really matters which you choose.

Thank you again. I wired it up as suggested but still get the error message reported in my previous post.
I also updated Arduino IDE to version 1.6.6 but to no avail.
I am a bit mystified and not sure what more I can do. None of the arduinos I used previously (Uno, Mini) ever gave me any trouble.

I was probably mistaken when I said "Most likely you need to burn a bootloader on it" and I apologize for leading you down that path. I think you are most likely having problems with the Arduino IDE installation and drivers on your computer. So, at this point I don't think you should be worrying about burning a bootloader to the Pro Micro.

It seems to me the error "Cannot run program "{path}/bin/avrdude": CreateProcess error=2, The system cannot find the file specified" probably does not have anything to do with the condition of the Pro Micro. I don't have any ideas for fixing that sort of problem. And this is quite different from before when the problem was "there is no port to select" and the Pro Micro is invisible to the computer. I just don't know what to think of all this.

did you solve the problem?

No, this is still not resolved.

I switched to using avrdude directly from the command line but had no luck with the arduino as ISP.
I then noted that a PICKIT2 is also a programmer option and since I had one lying around I thought I'd try that. After building an adapter board I was able to burn the bootloader on the first attempt.
I thought I'd solved it - but no, I still can't see a COM port associated with the Pro Micro and it's not under "Other Devices" either!

I remain mystified...

Apart from the avrdude verification of the flash contents I can see (using avrdude in terminal mode) that the bootloader has been uploaded to the device so that's not the problem.
But Windows does not "see" it when it is connected.

I must be missing something really basic?!?

Hi!

Did you solve your issue?

I did exactly the same thing, and found your post.
I also found a Solution. So I replay here anyway in case someone else has this issue.

I did an reset by pressing the reset button and wait to release the reset button until after I had pressed the upload button in Arduino IDE and I got the upload message. The upload worked! And now everything is back to normal.

I found this solution and the reason why it works on this page near the bottom.

Hi everyone, I found a solution to this problem, I am using an Arduino Pro Micro. But before I go into the solution I am gonna talk about the causes.

CAUSE:
You might have just bought a new Arduino Pro Micro and you think that you can upload your code as "Arduino Leonardo", "Arduino/Guino Micro" or other boards because you can't find any called "Arduino Pro Micro". Then you see the error message "Device Not Reconisged" every time you plug in your board and you can't find your board anymore anywhere in your port selection.

WHY?
Well, first of all, Arduino Pro Micro is NOT Arduino Leonardo, not in the hardware part at least. The Arduino pro micro is developed by SparkFun, the pro micro that I own runs on 3.3V, yours may run on 5V, unlike Arduino Leonardo. So if you upload to your Arduino pro micro using Leonardo, it will crash its bootloader. You need to install it accordingly to the steps on the website below
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/all#introduction

FIX:
If you have ignored my fix step and went to do the troubleshooting part on the link, you might have realized that it did not work. Is because of most of the website to fix this problem (not just SparkFun) are incomplete (see in step 6 of fix)which I find it very annoying, so here are the correct steps.

  1. Connect the RST and GND to a push-button, when you push it RST will connect to GND

  2. Now you need to go back to the link SparkFun link I shared earlier, and follow the steps of "Board Installation" under "Installing: Mac And Linux"

  3. Once that is done, you should be able to see in the board selection of you Arduino ide "Spark Fun Pro Micro", that is the board you are supposed to select when you are installing.

  4. In your Arduino IDE, in your board selection select "Spark Fun Pro Micro", in your Processor selection select "Atmega32u4 (3.3V, 8 MHz)" or "Atmega32u4 (5V, 16 MHz)" depending on your board by looking at its voltage regulator.

  5. Right now you still won't see any port connected to your PC, now hit the button that we set up in step 1 twice quickly and now it's in "bootloader mode" (see in the Sparkfun link), quickly go to your port selection and select your the right port, and after 8 seconds you should see it gone again.

  6. Now, this is the step where many other websites got wrong. Prepare an empty sketch and hit upload, you may see that on your terminal it says "Compiling...", once it says "Uploading..." IMMEDIATELY hit the button twice... If you see "Done Uploading" that means it worked, you don't have to double click the button again to see your port come out in you port selection. Otherwise, you will see "port not selected" or something like that, you just need to get the timing right, remember, your PC only has 8 seconds to access your board after you double-clicked your button.

I hope this helped for the people who have been trying for hours
Thanks and have a great day

1 Like

LafarCoder:
Hi everyone, I found a solution to this problem

You sir are my personal hero of the week. Please accept this virtual hug.

Sorry, just not working for me. Arduino software still only ever sees COM1 when I press reset.
Windows sees it as unknown usb device - device descriptor request failed. When I go to the sparkfun signed drivers and try to update driver to the sparkfun.inf, Windows says the best drivers for my device are already installed. I have the board selected as SparkFun Pro Micro, the 5V 16Mhz variant.
All 3 leds stay on all the time - when i press the double tap reset the red leds blink each time the button presses then stay on. Nothing seems to load. Ever. I'm about to crush it in my vice and burn it with a blowtorch.

Could someone fix it? I have the same problem, in windows it comes out as a device with an error and in mac not even the port appears, I also did a bootloader burn and nothing >:(

Maybe a silly question but have you tried another cable, one which is also able to handle data? I just made that mistake. I use a power only cable apparently.

Thank you so much it works like a charm

Thank you so much. I had 3 (THREE) pro micro clones bricked (i used to select them as Leonardo boards and they bricked while writing sketches). After installing board and doing the double click trick (with fast empty sketch upload) all of them are now fully working.

aniaclug:
Thank you so much. I had 3 (THREE) pro micro clones bricked (i used to select them as Leonardo boards and they bricked while writing sketches). After installing board and doing the double click trick (with fast empty sketch upload) all of them are now fully working.

I think that programming as Leonardo only effects the 3.3V version; I made that mistake with my first ProMicros (I only have 3.3V versions).