I've a SparkFun Pro Micro which is an Arduino Leonardo clone. Unfortunately my attempts to upload programs failed. I did some research in the internet and found you have to use SparkFun's configuration. There is a board manager's URL you have to use: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

So far so good. After trying to use this I attempted to do an upload and failed. I tried it with different settings but all failed. While earlier there was a serial port named /dev/ttyACM0 there now is no such port any more. Further research gave me the information that you might get the device running if you a) reset to boot loader mode where you should have an 8 seconds window to upload and b) actually perform the upload.

I can verify: If I pull RESET to ground I can switch into this 8 seconds mode. Then the device /dev/ttyACM0 appears after about 1 second for about 7 seconds. As instructed I immediately try to do an upload. This is strange: I immediately (!) get the following output:

  • Line 1: Sketch uses 4140 bytes (14%) of program storage space. Maximum is 28672 bytes.
  • Line 2: Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
  • Line 3: avrdude: ser_open(): can't open device "/dev/ttyACM0": No such file or directory
  • Line 4: Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

The TTY should be there as the 7 seconds have not been passed in that case. Furthermore my user account is in dialout which enables it to use the tty.

If I trust this error message that means the tty is gone as soon as avrdude tries to access it. Which shouldn't be that way, should it?

Has anyone encountered this situation before? How can I upload a program to the mikrocontroller? Has anyone has any experience with that situation here?


Additional information:

  • ArdunoIDE 1.8.5
  • Ubuntu (Mate) Linux 16.04
  • version of IDE?
    – Juraj
    Apr 1, 2018 at 3:56
  • ArdunoIDE 1.8.5
    – Regis May
    Apr 1, 2018 at 7:07
  • Did uploading work with an other board, for example the arduino uno, or is this your first board? Are you in the dialout group? Is the modemmanager installed? You have to remove it. The purpose of the modemmanager is to cause troubles with an arduino pro micro (and other boards). If you don't like the extras by sparkfun, then you can burn the bootloader of the official arduino micro on it, but you have to take care that it has less pins. Do you have anything related to arduino installed from the repositories? can you try to remove java? Be sure to remove the librxtx-java.
    – Jot
    Apr 1, 2018 at 9:12
  • I first used a completely different µC which worked perfectly. This was not an ATMega but a ESP8266. I then switched to the other board, tried to change settings for that board.
    – Regis May
    Apr 1, 2018 at 16:28
  • Yes, the modemmanager is installed. I read about that. But I can't uninstall the modem manager: It would uninstall the complete Mate UI because of dependencies. I do not know if the modemmanager interfers: I have used this board before and uploaded programs a few times to test it. Now I wanted to really make use of it ...
    – Regis May
    Apr 1, 2018 at 16:30

1 Answer 1


We use these a lot, and it's very easy to accidentally program the boards with the incorrect settings - particularly as the Sparkfun Pro Micro library defaults to the 3.3V/8 MHz variant instead of the more common 5V/16MHz.

I have recovered the boards with the bootloader reset method, but it is hard - you have to get the timing just right. What we do now is to simply reinstall the bootloader using an ISP programmer (instructions: https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader). It works first time, and ends up being much quicker than repeated tries to get the reset timing right. Just make sure that you have the right board selected when you burn the bootloader. We use a USBASP, and it only takes a couple of minutes to set up.

  • I think I got the timing right. I was way within the 8 seconds. Nevertheless I'll have a look to the details you provided, thank you! I'll be on a business this week but will return to this topic next week. Please have a bit of patience! Thanks!
    – Regis May
    Apr 3, 2018 at 6:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.