5

I'm trying to upload a Blink example to run on a pro-micro (leonardo) but it is not working anymore (it was just working yesterday).

Steps to reproduce:

  • Plug the device in USB port
  • Open Blink example in Arduino IDE (version 1.8.8)
  • Select the port and board accordingly to Arduino Leonardo
  • Compile and try to upload it.

The code compile successfully but when uploading it just halts. The ide console displays:

avrdude: error: programmer did not respond to command: exit bootloader

Forcing reset using 1200bps open/close on port /dev/ttyACM0 PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} PORTS {/dev/ttyACM0, } / {/dev/ttyACM0, } => {} Uploading using selected port: /dev/ttyACM0 /home/fabio/Downloads/pacotes/arduino-1.8.8/hardware/tools/avr/bin/avrdude -C/home/fabio/Downloads/pacotes/arduino-1.8.8/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/arduino_build_350609/Blink.ino.hex:i

avrdude: Version 6.3-20171130 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "/home/fabio/Downloads/pacotes/arduino-1.8.8/hardware/tools/avr/etc/avrdude.conf"
     User configuration file is "/home/fabio/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/ttyACM0
     Using Programmer              : avr109
     Overriding Baud Rate          : 57600
     AVR Part                      : ATmega32U4
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PA0
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
       lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : butterfly
     Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

avrdude: butterfly_recv(): programmer is not responding

A strange behavior I noticed is each time I plug the device again in the usb port different leds are light up, some times only RX, sometimes only TX and sometimes none (the power led is always on)

What could be happening here? Can it be the problem on the hardware?

2 Answers 2

5

I experienced the same frustrating issue for days. It was Ubuntu.

The fix was also so easy: sudo apt purge modemmanager

Until I discovered it, I suffered headache for days.

The auto upgrader may cause issues with this command. It can be solved with the following command:

sudo dpkg-reconfigure -plow unattended-upgrades

At the first prompt, choose not to download and install updates. Then reboot.

3
  • 1
    Holy crap, this actually worked for me. I couldn't program a "SMAKN Beetle USB ATMEGA32U4 board" Leonardo clone, and this fixed it. Thank you so much.
    – Cerin
    Oct 4, 2020 at 14:58
  • On fedora and using a Pro Micro, I did systemctl restart ModemManager and upload using micro board on Arduino IDE. Nov 7, 2020 at 9:52
  • Purging modemmanager worked for me too! It is important to reboot after removing the package. Thanks so much! Oct 10, 2022 at 18:24
3

I have successfully solved this a year ago and I am trying to remember how I did it. So while it's fresh in my head this thing has to do with the bootloder.

The first and most obvious thing you can do is try to doubletap the reset and ground contact. Double tapping it will force the Arduino to reset and start in the bootloader for 8 seconds.

This is how I managed to install the driver for my pro-micro, it wouldn't install unless you did it when Arduino was in bootloader mode. But this strategy doesn't work for the code upload for some reason although many people claim it was the only thing that helped.

Another thing that could maybe help is clearing the Arduino's cache. When I was trying to compile a year ago, after many attempts I had to clear the pro-micro with another Arduino once in a while (you may need this later on). [thebusybee's note: I never heard about a cache in AVR micros. If a sketch is uploaded it will be flashed into the non-volatile memory overwriting all that was at its place before.]

Something else I remembered (if this is the case it would make things very problematic for me) is the USB cable. Again before my 1 year break I remembered that uploading the sketch for me only worked with 1 out of like 15 micro-USB cables I had (the one that's the shortest and thickest). That cable is broken now so I can't really check this unless I start researching microUSB cables right this instant.

Finally it may be the system. If nothing works try uploading the sketch from another preferably clean system.

Anyway, I hope you solve this because I am trying to solve the same issue.

Good luck

Your Answer

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

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