Stk500_recv(): programmer is not responding after USB disconnect


I have a Arduino Uno Rev 3, and uses a macbook Pro running BigSur.

Here's the issue:

I upload a sketch (blink) and its works fine. I modify the sketch, reupload, still fine.
Then I disconnect the USB, and reconnects it.
Whatever sketch I try to upload, I get a "stk500_recv(): programmer is not responding".
I can disconnect/reconnect, reboot the mac, restart the IDE, press the reset button, nothing.

Then I reset the Arduino by connecting the reset and the GND, use dfu-programmer to erase, flash (with this one: ArduinoCore-avr/Arduino-usbserial-atmega16u2-Uno-Rev3.hex at master · arduino/ArduinoCore-avr · GitHub) and reset. Unplug, replug. And tada, it works.

If I unplug and replug the USB after an upload, the whole cycle starts again.

Could some hero save me?


Let me add that I tried it again (the flashing part) and doesn't not connect anymore.

Also, I did a lot of research, and tried every single method proposed in this topic (avrdude: stk500_recv(): programmer is not responding - #193 by m1kta).

Your post was MOVED to it's current location as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

So, I performed the loopback test, and it is working.

Here's what I get when trying to upload in verbose mode:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean,
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Applications/"
         User configuration file is "/Users/gaelrabier/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem1423201
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 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 : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/var/folders/mt/b7p1_5sn18zd2rj33vz391vm0000gn/T/arduino_build_837584/Blink.ino.hex"
avrdude: writing flash (924 bytes):

Writing | avrdude: stk500_recv(): programmer is not responding
######avrdude: stk500_recv(): programmer is not responding

No one? Please, I am completely stuck here :frowning:

Please bear in mind that USERS and MODERATORS are almost entirely volunteers and that we do NOT get paid to perform the extra duties.

We are simply enthusiasts like you.

We may have lives outside of Arduino, or be in a completely different time zone, or have family to care for.

Thank you for your cooperation.

Oh, did I offense you in any way? If so, sorry. It is just desperation talking, as I tried literally all solutions I found online, excepted buying a new board.

What is your operating system thinking about the board after disconnecting and reconnecting? Did the ports change?

If people don't know the answer, they will not reply. So there is a good chance that nobody had to deal with your problem themselves.

I'm also one that hasn't had the problem. And I live in a Linux/Windows world, not a Mac world.

Thanks Sterretje!

I am on Mac OS X Big Sur. I also use a UBC C to USB because there are only USB C on my machine.

May be I should try on a PC to rule out the the os problem

So, I saw an erratic behavior in the system report (kinda like the device manager in Windows world), where sometimes the Genuino would appear, sometimes not. Irrespective to that, the dfu-programmer always sees it, and the Arduino IDE + the Arduino web agent would see it also.

When the IDE sees it, the DFU-programmer also, but the mac doesn't list it in the USB's, I get the avr error. It happens systematically after a disconnect, and never comes back, unless I erase/flash/reset.

I ordered a new Arduino Uno rev3, a new USB cable from Arduino and a new USB C converter from Apple that has only one port. I will update here with the results. If the new converter + the new cable fail, while the new Arduino board works, I will attempt burning the old Arduino to see if it is a bootloader issue.

I solved it!

I was the USB-C hub. Apparently there's some magic happening in there that breaks the link/port/connection with the Arduino / Arduino IDE / avr.

I bought an official Apple USB to USB-C with only one port (Adaptateur USB-C vers USB - Apple (BE)) and it works perfectly.

Thanks everyone for your help.

Kind regards,

1 Like