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:
- 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.
Steps:
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:
SF32u4_boards-pre-1.6
To
sparkfun
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!
Now the next steps would be:
- Open the Arduino IDE v1.0.6
- Select your programmer under Tools (mine was USBtinyISP)
- Select your Sparkfun Pro Micro board either the 3.3v or 5v version
- 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