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)