Arduino Nano: stk500_recv(): programmer is not responding

I’ve been using VSC and PlatformIO for a while now with Arduino nanos without issue, however with the latest boards I’m getting from China I cannot get Platform IO to upload any code.

It works from Arduino IDE fine, but not from PIO.

 Executing task: platformio run --target upload <

Processing nano (platform: atmelavr; board: nanoatmega328; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/nanoatmega328.html
PLATFORM: Atmel AVR (3.4.0) > Arduino Nano ATmega328
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 30KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES: 
 - framework-arduino-avr 5.1.0 
 - tool-avrdude 1.60300.200527 (6.3.0) 
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 6 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <DIO2> 1.6.0
Building in release mode
Compiling .pio/build/nano/src/main.cpp.o
Compiling .pio/build/nano/libf1a/DIO2/digital2.c.o
Archiving .pio/build/nano/libFrameworkArduinoVariant.a
Compiling .pio/build/nano/FrameworkArduino/CDC.cpp.o
Indexing .pio/build/nano/libFrameworkArduinoVariant.a
Compiling .pio/build/nano/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/nano/FrameworkArduino/HardwareSerial0.cpp.o
Compiling .pio/build/nano/FrameworkArduino/HardwareSerial1.cpp.o
Compiling .pio/build/nano/FrameworkArduino/HardwareSerial2.cpp.o
Compiling .pio/build/nano/FrameworkArduino/HardwareSerial3.cpp.o
Compiling .pio/build/nano/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/nano/FrameworkArduino/PluggableUSB.cpp.o
Compiling .pio/build/nano/FrameworkArduino/Print.cpp.o
Archiving .pio/build/nano/libf1a/libDIO2.a
Compiling .pio/build/nano/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/nano/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/nano/FrameworkArduino/USBCore.cpp.o
Compiling .pio/build/nano/FrameworkArduino/WInterrupts.c.o
Compiling .pio/build/nano/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/nano/FrameworkArduino/WString.cpp.o
Compiling .pio/build/nano/FrameworkArduino/abi.cpp.o
Indexing .pio/build/nano/libf1a/libDIO2.a
Compiling .pio/build/nano/FrameworkArduino/hooks.c.o
Compiling .pio/build/nano/FrameworkArduino/main.cpp.o
Compiling .pio/build/nano/FrameworkArduino/new.cpp.o
Compiling .pio/build/nano/FrameworkArduino/wiring.c.o
Compiling .pio/build/nano/FrameworkArduino/wiring_analog.c.o
Compiling .pio/build/nano/FrameworkArduino/wiring_digital.c.o
Compiling .pio/build/nano/FrameworkArduino/wiring_pulse.S.o
Compiling .pio/build/nano/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/nano/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/nano/libFrameworkArduino.a
Indexing .pio/build/nano/libFrameworkArduino.a
Linking .pio/build/nano/firmware.elf
Checking size .pio/build/nano/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   9.9% (used 202 bytes from 2048 bytes)
Flash: [=         ]  11.4% (used 3504 bytes from 30720 bytes)
Building .pio/build/nano/firmware.hex
Configuring upload protocol...
AVAILABLE: arduino
CURRENT: upload_protocol = arduino
Looking for upload port...
Auto-detected: /dev/ttyUSB0
Uploading .pio/build/nano/firmware.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00

Logs from Arduino:

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 "/mnt/500GB-Linux/Downloads/arduino-1.8.15/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/home/greg/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         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: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "/home/greg/nfs/PlatformIO/2114 RAM Tester/.pio/build/nano/firmware.hex"
avrdude: writing flash (3504 bytes):

Writing | ################################################## | 100% 0.57s

avrdude: 3504 bytes of flash written
avrdude: verifying flash memory against /home/greg/nfs/PlatformIO/2114 RAM Tester/.pio/build/nano/firmware.hex:
avrdude: load data flash data from input file /home/greg/nfs/PlatformIO/2114 RAM Tester/.pio/build/nano/firmware.hex:
avrdude: input file /home/greg/nfs/PlatformIO/2114 RAM Tester/.pio/build/nano/firmware.hex contains 3504 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.45s

avrdude: verifying ...
avrdude: 3504 bytes of flash verified

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

VSC:

Version: 1.61.2
Commit: 6cba118ac49a1b88332f312a8f67186f7f3c1643
Date: 2021-10-19T14:58:13.605Z
Electron: 13.5.1
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.11.0-37-generic

platformio.ini

[env:nano]
platform = atmelavr
#board = nanoatmega168 
board = nanoatmega328
framework = arduino
monitor_speed = 115200
upload_flags = -V

Any else having similar issues? Not sure where to look next.

And is that with the old or new bootloader?

grafik

In PlatformIO, board = nanoatmega328 has the same effect as board = nanoatmega328new in the platformio.ini?

1 Like

Thanks for the reply. That did it. Was using the new bootloader.
Setting to board = nanoatmega328new fixed it.

1 Like