Still Bricking Pro Micros

Hello, I know that there are a ton of topics covering starting the boot loader on Pro Micros and I have read a lot of them and tried the standard solution, a lot.

I am not fully versed in the generations of Pro Micros, but the ones that I have are 5v real Sparkfun brand, have USB-C, qwiic, and a tiny built-in reset button.

The first one I bricked the classic way, by setting it up as a 3.3v version by accident, and spent hours reading up and trying to get the timing of the reset button just right. Eventually I gave up and just bought a new board.

This time, I added a single line ( delay(100); ) to code that I have tweaked and successfully uploaded countless times. Now the board does not even show up in the device manager. This is the first time that I have uploaded to the board since upgrading to IDE 2.3.2, and I notice that I can't choose between the 5v and 3.3v versions.

I just tried uploading the unmodified code that had been working with my last new board and bricked it too.

I have tried these directions ad-nauseum with no success:
Try this:

  1. Prepare some way to reset your Pro Micro by momentarily connecting the RST pin to the
    GND pin. This could be done with a wire or even some metal tweezers.
  2. Select Sketch > Upload from the Arduino IDE menus.
  3. Watch the black console window at the bottom of the Arduino IDE window until you see
    something like this:
Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. 
Maximum is 2048 bytes.
  1. Immediately reset the Arduino board by momentarily connecting and disconnecting the
    RST pin to the GND pin twice.

Please help. I can't just keep buying new boards.

You MIGHT be killing boards with eletrostatic discharge.

If you don't have a ground strap, that would be a good start. And then maybe some anti-static bags or other anti-static storage.

Good thought, but until I pulled it out to reset it, the first one was in a plastic enclosure with plastic button caps. Completely electrically isolated. Thanks.

Plastic can generate static that can damage the board, unless it has a conductive coating.

Your board has a reset button; just double tap it instead of fiddling :wink:

You don't mention which operating system you're using but does your operating system detect the activation of the bootloader when you double-tap the reset button?

Re-install the SparkFun board package and see if that solves the issue?

Not all Micro Pro boards have a reset button. The ones I use don't have one.

That is odd. The way you define if it is going to work as a 5V or 3V3 is by making the link J1 next to the USB socket. It should arrive unmade and so will work as a 3V3 system by default. You put a blob of solder on the links so they are joined. This then bypasses the 5V to 3V3 regulator. There is nothing to define in software it is purely a hardware matter, it makes no difference to the software loading programs what voltage it runs off.

Maybe you could post a picture of exactly what you have.

Do you have any test equipment, like a simple voltmeter so you can measure the voltage you get on an output pin set high?

That has nothing to do with anything, because when the processor is at a position to run code then the code has already been downloaded.

The board will not show up in the list of devices until it is running because, like many other Arduinos, it has a virtual USB port, not a physical one

Are you sure you are not misunderstand those steps?

This reset must be held until you reach step 3, when you release it. That is all the way through step 2 it must be in reset.

I know. But from OP's description in the opening post, it is SparkFun Qwiic Pro Micro - USB-C (ATmega32U4) - DEV-15795 - SparkFun Electronics

Hmm, for a 3.3.V / 8MHz, you need different fuse settings; the SparkFun board package offers the two options.

Thanks for that, I see the voltage select links are on the back of the board for this one.

I wonder if it then needs a different board manager other than the generic one, perhaps that is not compatible with 2.x IDE. I would go back to using IDE 1.8.18

SparkFun has it's own board package that allows you to select between the 3.3V and the 5V. I am using 8 MHz Pro Micros and learned the hard way (although I did not have to throw the board away) :wink:

1 Like

Thanks! This is one of my problems. I was waiting for step three and pressing the button twice, so backward. I am now able to get a Blinky program to run as expected, but I am still experiencing some confusing problems.

  1. I can now only upload programs through the reset process, whereas until yesterday I could just click upload, otherwise I get a failed upload error. See below.
  2. The original program does not work. As I step by step pulled pieces over from my original program to the Blinky program, everything seems to compile and upload fine, but some input pins are not working and others seem to be working intermittently.

The only real change that I can attribute this is the new version of the IDE, since it all started with the first upload after installing the new IDE. I am going to try to roll back and try again.

Also, I have photos of the board. I will work on getting those added.

Upload error:
Sketch uses 9072 bytes (31%) of program storage space. Maximum is 28672 bytes.
Global variables use 648 bytes (25%) of dynamic memory, leaving 1912 bytes for local variables. Maximum is 2560 bytes.
avrdude: ser_open(): can't open device "\.\COM9": The system cannot find the file specified.

Failed uploading: uploading error: exit status 1

Could you try this.
When you have code running and you can see the com port, then select that com port from from the list.

Then try and upload the same code without using the reset method.

That is one of the curious things that I forgot to mention. The device never shows up on the COM port any more. Also, same code or not, I cannot upload a sketch without the reset process.

In other news, I tried to remove and reload the Sparkfun board package, but after removing the package through the board manager, the Sparkfun package disappeared. I will need to work through that before I can resume troubleshooting, because now I can't do anything with the board.

Thanks again for all the attention and support.

*Update: I successfully reinstalled the board package by loading it with IDE 1.8.19.

On that note, I am not able to upload sketches to the board in the old IDE because I can't find the com port. Do you know if there is a way to send a sketch to a board on an unknown port in IDE 1.8.19 the way that you can apparently do in IDE 2.3.2?

It should show up if you load an innocent sketch (e.g. an empty sketch).

Your boards are the 5V version (based on your earlier comment that uploading as a 3.3V version bricked it) so you can select the Arduino Leonardo or the Arduino Micro as the target board and upload. Windows (or whatever your operating system is) should then recognise it as the one that you selected for the upload.

Hey that worked! Thank you.

Now, before I jump right back down the same rabbit hole, in IDE 1.8.19 it was (fairly) obvious how to select between the 8 and 16 MHz boards. I have not found a way to specify in IDE 2.3.2. Is there a way to choose?

What worked? Programming as Leonardo/Micro? Or uploading the innocent sketch?

There is no way to select 8/16 MHz for those two boards unless you hack the AVR board package. That functionality is (in your case was) part of the SparkFun AVR board package and only available if you picked a board that is available with different clicks

I meant that the board is now uploading sketches as expected, as a Leonardo.

Now, everything is working as expected.

To debrief, I attribute by trouble to three problems:

  1. When I made the most recent update to the IDE the processor defaulted back to 3.3v/8MHz.
  2. I have gotten spoiled by the new interface of IDE 2.X and missed checking the old tools.
  3. I don't know how read, and I was resetting the boards wrong.

Thanks again for everyone's help!

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