Avrdude: bad response to write memory

Seeing if anyone has seen this issue before. I have a brand new Uno R2 WiFI. I can see it in IDE and the cloud but I cannot get it to take any code. I keep getting avrdude: bad response to write memory command: 0xa0. I can get my other Arduino boards to take code. I have deleted the Arduino 15 file folder and reinstalled everything. Tried swapping cables but nothing works or changes. Any ideas?

I just checked the hardware docs and do not see any UNO R2 WiFi.

https://docs.arduino.cc/hardware/uno-wifi-rev2/#tech-specs
Sorry WiFi Revision 2

I am still stumped on this. I have ran the loop test and get no feedback. The odd thing is when I use a program that doesn't utilize WIFININA it will work as normal. Below is the faults I am getting when an example in Arduino Cloud. @pert I am tagging you because I you have worked on a lot of similar issues

Sketch uses 12916 bytes (40%) of program storage space. Maximum is 32256 bytes.
Global variables use 949 bytes (46%) of dynamic memory, leaving 1099 bytes for local variables. Maximum is 2048 bytes.

Flashing with command:C:/Users/14147/.arduino-create/arduino/avrdude/6.3.0-arduino9/bin/avrdude.exe -CC:/Users/14147/.arduino-create/arduino/avrdude/6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -PCOM7 -b57600 -D -Uflash:w:C:/Users/14147/AppData/Local/Temp/arduino-create-agent4035662170/SimpleWebServerWiFi_copy-1.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
         System wide configuration file is "C:/Users/14147/.arduino-create/arduino/avrdude/6.3.0-arduino9/etc/avrdude.conf"
         Using Port                    : COM7
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30
avrdude done.  Thank you.
Executing command: exit status 1

The loop back test will not work on that board. Reason is that pins 0 and 1 are not connected to the usb-to-ttl converter (32U4).

Did you select the correct board in the IDE?

As far as I know yes I selected the right board. See below. I can see it in IDE and the cloud. I can load simple programs such as blink to the board but nothing using WIFINANA


Hi @ross_o. The cause of the upload error is that the wrong board is selected in Arduino Cloud. "Atmel atmega328pb Xplained mini" is selected instead of the correct "Arduino Uno WiFi Rev2".

Unfortunately, although it is possible to select the correct board by clicking the "SELECT DEVICE TYPE" link in the "Select device" dialog, Arduino Cloud is designed in a way that does not allow you upload to a board when the port of that board is identified as something other than the board you have selected. There is a bug that causes the port produced by the UNO WiFi Rev2 board to be identified as "Atmel atmega328pb Xplained mini". I have notified the Arduino Cloud developers of this problem. I'll let you know if I receive any news from them regarding a solution.

This means it is not possible to upload to the UNO WiFi Rev2 when using Arduino Cloud Editor. However, you can use it with Arduino IDE, no problem. Please give that a try and let us know if you encounter any problems.

Hi @ptillisch
I get an error when I use IDE as well. See below.

I can unplug my board and load the blink example program in and it will take it with out an issue.

I'm going to ask you to provide the full verbose output from an upload attempt using Arduino IDE.


:red_exclamation_mark: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compile in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
    The "Preferences" dialog will close.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to fail.
  7. You will see an "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a reply here on this forum topic by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code block markup before you add any additional text to your reply.
  12. Click the "Reply" button to publish the post.

Hi @ptillisch
I let it try and upload and after 10 minutes I stopped it

Sketch uses 15401 bytes (31%) of program storage space. Maximum is 48640 bytes.
Global variables use 459 bytes (7%) of dynamic memory, leaving 5685 bytes for local variables. Maximum is 6144 bytes.
"C:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega4809 -cxplainedmini_updi -Pusb  -b115200 -e -D "-Uflash:w:C:\Users\14147\AppData\Local\arduino\sketches\CB424C843CD892871753A998D3A06F62/SimpleWebServerWiFi.ino.hex:i" "-Ufuse2:w:0x01:m" "-Ufuse5:w:0xC9:m" "-Ufuse8:w:0x02:m" "-Uflash:w:C:\Users\14147\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.8/bootloaders/atmega4809_uart_bl.hex:i"

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

         System wide configuration file is "C:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : xplainedmini_updi
         Overriding Baud Rate          : 115200
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
         AVR Part                      : ATmega4809
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9    0      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         64   64      0     0     0 0x00 0x00
           flash          0     0     0    0 no      49152  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : JTAGICE3_UPDI
         Description     : Atmel AVR XplainedMini in UPDI mode
         ICE hardware version: 0
         ICE firmware version: 1.19 (rel. 57)
         Serial number   : 140AD6353D987E61D1C2
         Vtarget         : 5.00 V
         JTAG clock megaAVR/program: 0 kHz
         JTAG clock megaAVR/debug:   0 kHz
         JTAG clock Xmega: 0 kHz
         PDI clock Xmega : 0 kHz

avrdude: Partial Family_ID returned: "mega"
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9651 (probably m4809)
avrdude: erasing chip
avrdude: reading input file "C:\Users\14147\AppData\Local\arduino\sketches\CB424C843CD892871753A998D3A06F62/SimpleWebServerWiFi.ino.hex"
avrdude: writing flash (15914 bytes):

Writing | #################avrdude: bad response to write memory command: 0xa0
#avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
avrdude: bad response to write memory command: 0xa0
 ***failed;  
User abort

I tried again and got the below error

Sketch uses 15401 bytes (31%) of program storage space. Maximum is 48640 bytes.
Global variables use 459 bytes (7%) of dynamic memory, leaving 5685 bytes for local variables. Maximum is 6144 bytes.
"C:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega4809 -cxplainedmini_updi -Pusb  -b115200 -e -D "-Uflash:w:C:\Users\14147\AppData\Local\arduino\sketches\CB424C843CD892871753A998D3A06F62/SimpleWebServerWiFi.ino.hex:i" "-Ufuse2:w:0x01:m" "-Ufuse5:w:0xC9:m" "-Ufuse8:w:0x02:m" "-Uflash:w:C:\Users\14147\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.8/bootloaders/atmega4809_uart_bl.hex:i"

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

         System wide configuration file is "C:\Users\14147\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : xplainedmini_updi
         Overriding Baud Rate          : 115200
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 2

avrdude done.  Thank you.

Failed uploading: uploading error: exit status 1