Pro Micro 3.3V/8MHz Sketch Upload Issues

I originally asked this question in an email to the SparkFun support address, and they suggested I post my question here.

I recently picked up a couple of the [Pro Micro 3.3V/8MHz boards. In the spirit of sanity checking, I attempted to follow the [hookup guide. I freshly installed the Arduino IDE version 1.8.9 on my desktop running Ubuntu 19.04, and installed the SparkFun addons without any trouble.

Being careful to select the correct board, I attempted to upload the [blinky sketch from the Pro Micro’s example code in the hook up guide. After several failed attempts (see the attached avrdude diagnostic log files), the sketch uploaded and began to run. I did notice that the verify step failed, so the IDE claimed that the upload failed – but the code seemed to be running correctly on the target.

From that point, I tried several patterns of restarting the IDE, power cycling the target, and changing the delays in the loop so I could tell when the sketch uploaded correctly. So far I have been able to upload a sketch about three times, out of maybe a hundred attempts. Each time, the diagnostic output from avrdude is slightly different – sometimes the upload fails before the flash memory write step begins, and sometimes it fails during the verify step, etc.

I verified with a logic analyzer that the output from the hardware UART is coming out without any issues, and the Arduino IDE serial monitor connected to the target’s USB serial interface tells me that the USB communication is working at least while the sketch is running normally. The board is powered by the USB interface, and the voltage on each of the power pins (raw is 5v from the USB, and vcc is 3.3v from the regulator output) is normal. The only problem is that I can’t reliably upload code to the board! I have new two units (purchased in the same order) that both exhibit this problem.

Does anyone have any idea what’s going on here?](Pro Micro & Fio V3 Hookup Guide - SparkFun Learn)](Pro Micro & Fio V3 Hookup Guide - SparkFun Learn)](Pro Micro - 3.3V/8MHz - DEV-12587 - SparkFun Electronics)

avrdude.1.log (82.7 KB)

avrdude.2.log (3.55 KB)

avrdude.3.log (3.74 KB)

Hi polygon,

That is a strange issue. My first guess is that somehow your computer is not recognizing the bootloader port for the Pro Micros when the IDE is resetting into bootloader mode. Are you noticing any long delays during upload? One way to test if that is where the issue is coming from is by forcing the boards into bootloader mode and then quickly uploading to that port. [This section of our Hookup Guide for the Pro Micro goes into that process in a bit more detail.

Give this a try and if you are still having issues getting code uploaded to your Pro Micros, let us know and we can troubleshoot further.](Pro Micro & Fio V3 Hookup Guide - SparkFun Learn)

Hi TS-Mark,

Thanks for the suggestion, I will try that next because I would really like to get this working on my Ubuntu machine. However, I now have some additional troubleshooting information:

I use a MacBook Pro for work, and I decided to give this a shot on that machine as well. Freshly installed the IDE and SparkFun add-ons, and it worked the first time! I haven’t tried anything too crazy yet, but I haven’t seen even a single failure when uploading from the MBP.

Based on this alone, it would seem that the issue is definitely not with the targets themselves – so that’s a relief! I’ll investigate further and try to determine exactly which link in this chain is the problem!

I’m glad the Pro Micros are working as expected on another machine. If you have not already, you might want to try turning on some of the Verbose Output during compilation and upload in your Preferences menu in Arduino to get some more data on where the upload is failing.