Pro Micro not recogniced

Following the procedure described here:

I tried to have a MicroPro recognized again in IDE-2.
However, I cannot have it to work. Any other workarounds?

Many thanks, Robert

Please explain what you mean.
Which operating system are you using?

Some notes that might clarify things
1
You will not have the option to select a Pro Micro as a board if you did not install the SparkFun AVR board package. If your Pro Micro is a 5V Pro Micro you can use either Arduino Leonardo or Arduino Micro as the board. I personally find it better to use the SparkFun AVR board package; to do so, add the below to the additional boards manager URLs in file / preferences

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/main/IDE_Board_Manager/package_sparkfun_index.json

2
A Pro Micro will show as a normal COM port (not as a Pro Micro) under tools / port.

Thanks a lot, Sterretje,
Sorry, I should have been more clear.
I had this board working for a month without any problem. Only after me uploading a script, it suddenly went offline. I had another Pro-Micro, that gets recognized as 'Arduino micro' instantly. This is on a Windows computer.

Best regards, robert

Hi @robertglotzbach. Please try this experiment and then report back with the results:


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


  1. Open the Windows Device Manager.
  2. Select View > Devices by type from the Device Manager menus.
  3. Open the "View" menu.
  4. If there is a to the left of the "Show hidden devices" menu item, click on "Show hidden devices" to disable it.
  5. Connect the Arduino board to your computer with the USB cable.
  6. Momentarily connect and disconnect the RST pin to the GND pin on the Pro Micro board twice.
    This can be done with a wire or metal tweezers.
  7. Immediately select Action > Scan for hardware changes" from the Device Manager menus.
    :exclamation: You must perform this step soon after the previous step because the effect of the reset may only last for a short time.
    If you weren't able to perform it quickly, you can repeat the procedure.
  8. Watch for a new device to appear under the "Ports (COM & LPT)" section of the Device Manager tree.

Now please reply here on the forum thread with the answer to the following question:

  • Did you see a new device appear in the "Ports (COM & LPT)" section of the Device Manager tree soon after you performed the above instructions?

You can repeat steps 5-6 multiple times if you are not sure.

1 Like

What a wonderful help here :slight_smile: Thanks...
Yes, I see: "Arduino Micro Bootloader" for a short while; then it get's greyed out quickly.

1 Like

My approach

If your Windows has a COM1 or COM2, select that in the IDE.
If your Windows does not have that and you have an Uno or Nano or a serial-to-usb converter, connect it and select its port. Keep the board as whatever you used in the past.

Start an upload of an innocent sketch; e.g. blank. When the IDE reports the memory usage, double tap the reset to invoke the bootloader.

Upload should succeed.

Thanks.... That's what I was doing at the beginning of this post; hence my question. I now accidentally uploaded the code that I used, and that made that board unusable, to the working board, and that stopped working as well.
So now I don't know what to do, any advice is welcome.

BTW, is that method also supposed to work with a mega?
I mean; I tried unsuccessfully.

Thanks, Robert

The tricky thing about the boards with native USB capability like your board is the USB code that creates the CDC serial port is running on the same microcontroller as your sketch. This means your sketch code can break the USB code, or stop it from running. When that happens, the board no longer produces a serial port.

This can be unexpected to those who previously mainly worked with the boards like Uno and Mega with a dedicated USB chip that can never be affected by the sketch code.

So there is something in your sketch code that interferes with the board's USB code. It is expected that uploading that sketch to any Pro Micro board will cause the board to no longer produce a port.

If you only want to restore the board from the state where it doesn't produce a port, you can use the technique described in post #6 to upload a different sketch, which doesn't have any problematic code (e.g., File > Examples > 01.Basics > BareMinimum).

However, if you instead want to continue to work on your current sketch, then you are going to need to figure out why it is causing the loss of the port. If you want help with that, post your sketch in a reply here on the forum thread and we'll take a look. I'll provide instructions you can follow to do that:

  1. Select Tools > Auto Format from the Arduino IDE menus.
    This is done to make the code easier for us to read.
  2. Select Edit > Copy for Forum (Markdown) from the Arduino IDE menus.
  3. In a forum reply here, click on the post composer field.
  4. Press the Ctrl+V keyboard shortcut.
    This will paste the sketch to the post composer.
  5. Move the cursor outside of the code block markup before you add any additional text to your reply.
  6. Repeat the above process if your sketch has multiple tabs.
  7. Click the "Reply" button to post your reply.

When your code requires a library that's not included with the Arduino IDE please post a link to where you downloaded that library from, or if you installed it using Library Manager then say so and state the full name of the library.

No. There is no need for this technique when using the Mega 2560 because that board has a dedicated USB to serial bridge chip, separate from the primary ATmega2560 microcontroller your sketch runs on. So the sketch code will never cause the loss of the Mega 2560's serial port.

If you do experience the loss of the port when using the Mega 2560, there is a different cause. Are you having some problem when using your Mega 2560? If so, we can try to help you solve that problem as well.

1 Like

I changed a COM3 to COM1, selected it in IDE-2, and used the above method a few times.
I received the following error:

"avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
Failed uploading: uploading error: exit status 1"

EDIT!!!!!! Ok, after a few more tries, I have got it working. Seems to be a matter of timing. Thanks again everyone for helping, much appreciated :slight_smile:

2 Likes

If you did that in Windows device manager, that was not the intention. The intention was to select COM1 or COM2 in the IDE (if they are available).

COM1 and COM2 used to be standard ports on a PC. They slowly but surely disappeared. My old desktop still had a COM1, my new laptop does not.

Timing is not critical with the approach that I gave; you have about 8 seconds after the IDE reports the memory usage to invoke the bootloader (double tap reset).

Yes, I am aware that you did not imply it, but I felt a little Bolt this morning. And luckily, it worked. Do you think it can create problems when I do it this way?

Kind regard, robert

I don't think it will but only time will tell.

I only once in nearly 9 years of using Arduino had to re-install a driver; further I have never had a need to fiddle in device manager in nearly 9 years of Arduino use.

My point was that changing the COM port in device manager did not give you a port that would be different (except for name) from the original one.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.