I have an Arduino Pro Micro clone that seems to be in some sort of reset loop. The RX LED is flickering very fast and very dim. The power LED also seems to flicker at the same frequency but has normal brightness.

The Arduino is not recognized by the PC at all anymore. It was working fine before. It doesn't matter if I try to go into the bootloader, by pressing reset twice, or not. Nothing happens. It feels like it is constantly resetting. The flickering stops if the reset pin stays connected to GND.

Another clone from the same shipment is still working fine. Both running the blink sketch. Just this one started to malfunction all of the sudden - after probing the pin I set in the blink sketch with my multimeter to see if the flashing was a success.

  • See if it's bricked. I put this on YouTube last month youtu.be/RZH_qGautqM
    – PhillyNJ
    Dec 26, 2014 at 21:03
  • It's an Atmel with USB onboard, not usb to serial chip in between.
    – timonsku
    Dec 26, 2014 at 21:26
  • 1
    I've heard of a fix where you hold down the reset button until right before the Arduino uploads. The goal is to catch it in the bootloader state before it starts the sketch. You might need to try it a few times... Jan 18, 2015 at 17:15
  • 1
    Well the PC doesn't even recognize it so I can't upload anything.
    – timonsku
    Jan 19, 2015 at 18:42
  • When you say the PC doesn't recognise it, do you mean that you get the USB device not recognised message in the system tray, or do you get nothing at all on the PC end, if you hit reset for example? Aug 2, 2015 at 21:34

7 Answers 7


If your pro micro does not have a reset button, wire one between reset and ground.

Press reset twice, quickly, and immediately hit upload on the IDE.

Secondly, make sure you've downloaded and installed the Sparkfun board files for the pro micro.

  • 1
    I can't upload anything as the board is not recognized in Windows. Doesn't matter in which mode the board is in.
    – timonsku
    Jul 28, 2015 at 20:37
  • You've installed he Sparkfun boards as well?
    – JW2
    Jul 28, 2015 at 20:39
  • Yes but that wouldn't make a difference, thats just description files. The problem ist that the serial device is not coming up at all. The usb communication part is completely dead.
    – timonsku
    Jul 28, 2015 at 20:41
  • +1 for the Sparkfun Pro Micro board files. I did wonder why the board wasn't listed in the Board menu. Aug 2, 2015 at 22:02

I bricked my Pro-Micro within ten minutes of ripping it out the packet. I didn't realise that (a) it's not so brilliant on USB 3.0 - or in my case, unuseable, and (b) it's not actually an Arduino board - the Pro-Micro is a SparkFun product, and any clones thereof are from SparkFun's schematics.

The latter was only a problem to begin with, while I was scrabbling around on the Arduino website in vain trying to find answers. Once I realised to visit SF's website everything calmed down. Read this section on bricked/unrecognised pro-micros, and then have a look at the rest of the page as further reading.

  • Tried that but unfortunately the Pro Micro doesn't stay in bootloader mode nor does it ever connect to the PC when trying that double click reset.
    – timonsku
    Jun 30, 2015 at 16:05
  • +1 for the link, very informative. I have the same issue, a bricked Pro Micro. All three LEDs are lit (Rx, Tx and Power). I can get mine into the 8 seconds bootloader mode, but the IDE won't upload Blink on to it. Aug 2, 2015 at 21:29

Try this: unplug the Arduino, hold down the reset button, and then plug it in to power. Hold down the reset button a few seconds after you power it on. If this works, you should get the "blink" sketch, and be able to reprogram it.

Alternatively, if you have an ICSP programmer (I use the FreeTronics USBASP), plug this in (you will need to wire up the appropriate 6 pins), and then use the Arduino IDE to burn the bootloader - select the board, serial port, and programmer,then select "burn bootloader" - all from the "Tools" pull-down menu.

  • The holding of the reset button down doesn't seem to work for me. Do I keep it held down during the uploading? If not, at which point should I release the reset button? I'm going to have to resort to using my USBasp I think. Also, for a Pro Micro 3.3V, I will need to reduce the voltage levels, I guess. The USBasp => Pro Micro connections are as follows: MOSI = 16, MISO = 14, SCLK = 15, RESET => RST, plus Vcc and GND obviously. Aug 2, 2015 at 21:55

Try this:

  1. Connect a push button switch to ground and reset (RST) pin;

  2. Click upload then push the button twice (fast) = it doesn't matter if your computer does not recognize the pro micro;

  3. Repeat this if it failed (repeat until you are successful).

After this the Pro Micro port will comeback to life.

I tested it. The reason I think that you bricked it, is because you uploaded using the wrong board setting - commonly the 3.3 V and 5 V (or vice versa)


This is a very common problem. See my answer to Arduino Micro just blinks, won't connect to PC.

As Asenkhan says in his answer, it is often caused by attempting to upload to a Pro Micro using the wrong board setting 3.3 V en lieu of 5V, or vice versa.

I have written two lengthy blogs about the whole experience:

  • 1
    This does help but unfortunately not for this one. I could revive another Pro Micro that I programmed with the wrong settings using that method but in this case, no matter how often I try, it does not go into bootloader mode. I have the feeling something is causing it to constantly reset, hence the flickering that only stops when I keep the reset pin connected to GND.
    – timonsku
    Feb 4, 2017 at 22:08
  • @ProfessorSparkles - Hmmm, that does sound unusual. Sorry, that I couldn't help. Feb 5, 2017 at 0:32

You can make it work but only if you use a ISP programmer and burn the bootloader. The internal serial programmer would not work still some HID functions are retained. To me everything works fine except the Mouse functionality.

This a pain in the acc* but it will work for other options. The other thing I have not tried is setting an old arduino ide and use the old addon for pro micro board to see if there a was a change in those files that caused it to fail.

So my next step would be as follow:

  1. Setup the old arduino environment, download the old addon files and burn the bootloader.

Edit: While writting my findings I came with the solution. Just as I thought! You need to use the old files to make this work completely.


You'll need to buy an ISP Programmer for burning the bootloader or use another arduino board as an ISP Programmer

I used the USBtinyISP Programmer. In specific:


Download the old sparkfun files (zip) version

Sparkfun Old Addon Files

Download the old Arduino IDE - I used the 1.0.6 portable (zip) version

[Old Release Files] (https://www.arduino.cc/en/Main/OldSoftwareReleases#previous)

Extract the Arduino IDE to Desktop. After doing so open the Sparkfun addon zip file and extract it to the Desktop. Then rename the extracted folder from:




Alright copy that folder and if you do as I mentioned above now you'll head for the Arduino IDE we just downloaded. When you see the arduino files move into the hardware folder and paste the sparkfun folder inside of it (don't navigate any further than this).

Then connect the ISP following this diagram: Always double check the connections!

Sparkfun Pro Micro Pinout

Now the next steps would be:

  1. Open the Arduino IDE v1.0.6
  2. Select your programmer under Tools (mine was USBtinyISP)
  3. Select your Sparkfun Pro Micro board either the 3.3v or 5v version
  4. Now under Tools select Burn Bootloader

If you do this right after a couple of seconds or minutes you will see a message that the process of burning the bootloader was completed. Depending on your hardware speed, if you store things in a flash drive or system is running on a linux live session you will need to wait a bit so just relax.

If things go according to plan then you can disconnect the ISP programmer and upload a simple sketch to corroborate the board is now working.

int ledPin=10; // let to pin 10

void setup() {
   pinMode(ledPin, OUTPUT);

void loop() {
   digitalWrite(ledPin, HIGH);
   delay(1000/2); // 1/2 a second 
   digitalWrite(ledPin, LOW);

Upload as you normally would! Double check the board version!!

Perfecto! If the steps were followed in order you'll now have a working device


It can be problem with bootloader. You can try to burn bootloader again.

See for example:


Or use google

  • 2
    -1 Because it's a Pro-Micro - with an ATmega32u4. Jun 27, 2015 at 22:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.