[SOLVED] Problems uploading to Arduino Nano

I use IDE 1.8.5 on my Windows 10 computer.

My sketch "I2C_scanner.ino" works fine on a Arduino Mega 2560.
The computer recognizes port Com 4 (text: "Com 4 (Arduino/Genuino Mega or Mega 2560).

When I restart the IDE with the same sketch when it is connected to a Arduino Nano, I only see in a box "Serial ports, Cim1, Com3 and Com 5", but no confirmation that the Nano is recognized.
Uploading the sketch will never end.

Enclosed an overview of the ports (via the control panelen). I removed and reinstalled the devicedriver "USB-Serial CH 340 (Com5)".

Is ther a working solution for connecting the Arduino Nano?

Capture.JPG

Please do this:

  1. Select Tools > Port > COM5 from the Arduino IDE's menus.
  2. Select File > Preferences from the Arduino IDE's menus.
  3. Uncheck the checkbox next to Show verbose output during: [] compilation
  4. Check the checkbox next to Show verbose output during: [] upload.
  5. Click the OK button.
  6. Attempt an upload, as you did before.
  7. Wait for the upload process to hang.
  8. Click on the black console pane at the bottom of the Arduino IDE window.
  9. Press Ctrl+A to select all the text.
  10. Press Ctrl+C to copy the selected text to the clipboard.
  11. Open a forum reply here by clicking the Reply button.
  12. Click the </> 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.
    Code block
  13. Press Ctrl+V. This will paste the error output from the upload into the code block.
  14. Move the cursor outside of the code tags before you add any additional text to your reply.
  15. Click the Reply button to post the output.

ArduinoStarter1:
I only see in a box "Serial ports, Cim1, Com3 and Com 5", but no confirmation that the Nano is recognized.

That's the expected behavior. Your Nano uses a USB-serial chip (CH340) with a generic VID/PID so there is no way for the Arduino IDE to identify that COM5 is a Nano. The USB-serial chip on official Mega 2560 and faithful clones use a programmable USB-serial chip which has a VID/PID specific to the Mega 2560 so the Arduino IDE is able to label the Mega's port in the Tools > Port menu.

1 Like

MY sketch would not upload to the Nano with IDE 1.8.5

I replaced the IDE backwards to IDE 1.8.3; luckely my program runs good on the Arduino Nano.

My conclusion: there is something wrong in communication between the IDE 1.8.5 and the Arduino Nano.

ArduinoStarter1:
MY sketch would not upload to the Nano with IDE 1.8.5

Have you considered posting the (full) error that you get as suggested by pert.

And I can happily upload to a Nano using IDE 1.8.5, so your conclusion is wrong :wink:

I got this error while uploading sketch for my arduino.

I tried different options like " Run as Admin" , changed the board type as " Old Bootloader" but same error happened.

I use Quick Heal antivirus .

Kindly give me a definitive solutions to solve this.

Arduino: 1.8.7 (Windows 10), Board: "Arduino Nano, ATmega328P"

cc1.exe: fatal error: can't open 'C:\Users\Somnath\AppData\Local\Temp\ccafRZMB.s' for writing: Permission denied

compilation terminated.

exit status 1
Assembler messages:

Fatal error: can't create C:\Users\Somnath\AppData\Local\Temp\arduino_build_913846\core\hooks.c.o: Permission denied

Error compiling for board Arduino Nano.

kolsomu:
I got this error while uploading sketch for my arduino.

I tried different options like " Run as Admin" , changed the board type as " Old Bootloader" but same error happened.

I use Quick Heal antivirus .

Kindly give me a definitive solutions to solve this.

Arduino: 1.8.7 (Windows 10), Board: "Arduino Nano, ATmega328P"

cc1.exe: fatal error: can't open 'C:\Users\Somnath\AppData\Local\Temp\ccafRZMB.s' for writing: Permission denied

compilation terminated.

exit status 1
Assembler messages:

Fatal error: can't create C:\Users\Somnath\AppData\Local\Temp\arduino_build_913846\core\hooks.c.o: Permission denied

Error compiling for board Arduino Nano.

Not so clever to post in a thread that is marked as solved :wink:

Did you try temporarily disabling the anti-virus? Can't help much further as I never encounter permission issues.

I found if you select TOOLS>Processor>"old bootloader" seems to work. Strangely I only have this problem on some nanos others are fine. Guess that is just the chip selection they use.

5 Likes

If you have a Programmer, (connects to SCK-MOSI-MISO, Reset, Power, Gnd) you can re-bootload them as Uno and take advantage of the latest bootloader.
I bootload all my 328Ps as an Uno.

Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avrdude -CC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM9 -b115200 -D -Uflash:w:C:\Users\staff\AppData\Local\Temp\arduino_build_989124/sketch_may16a.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 "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM9
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x40
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x40
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x40
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x40
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x40

haripm033:
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x40

Select Tools > Processor > ATmega328P (Old Bootloader) from the Arduino IDE's menus and then try uploading again.

7 Likes

where is the processor your talking about?? there is no processor in tools tab.

OK, then that means you're using an old version of Arduino AVR Boards. If you have an official Arduino Nano that was purchased in 2018 or 2019 you need to use the latest version of Arduino AVR Boards with Tools > Processor > ATmega328P selected in order to upload.

Try this:
Tools > Board > Boards Manager
Wait for the downloads to finish.
Click on "Arduino AVR Boards by Arduino".
Click the "Update" button.
Wait for the update to finish.
Click the "Close" button.

Now try uploading to your Nano again.

I'm getting the Permission Denied error with Chinese and genuine nanos and Unos, including ones I bought 2 years ago that have been uploaded to MANY times without a problem. After trying all the fixes I've seen on Win10 I've been trying on a brand new Ubuntu 18 install (different physical box, not dual boot), only to find the exact same behavior.

Does anyone know a different solution from the ones mentioned here, or a reason why none of these would work?

@DougLeary

On Ubuntu, add yourself to the dialout group.

Hello Everybody,

I have an older nano, I would like to use, but I didn' t can connect. In the device manager writes "pashed out since 2012". What do you think about is this problem? I use the old bootloader
Can anybody give me advice?
THX

@szaharin, have you tried to update the driver?

I have been trying to upload a code into my arduino nano and it is refusing to upload. I need help!!

Arduino: 1.8.11 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

Sketch uses 12072 bytes (39%) of program storage space. Maximum is 30720 bytes.
Global variables use 1030 bytes (50%) of dynamic memory, leaving 1018 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b57600 -D -Uflash:w:C:\Users\YACOUB~1.OUA\AppData\Local\Temp\arduino_build_942576/MultiWii.ino.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:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM5
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=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x0c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x0c

avrdude done. Thank you.

Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Is COM5 the correct port or is something else connected to that?

Did you try the 328P boot loader option?

Arduino: 1.8.12 (Mac OS X), Board: "Arduino Uno"

Sketch uses 1008 bytes (3%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
/private/var/folders/5d/0nj7w8qs7qg_wp44cchsnz4r0000gn/T/AppTranslocation/50E201C2-E433-4BDD-B1B4-8FF674388E91/d/Arduino 2.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/private/var/folders/5d/0nj7w8qs7qg_wp44cchsnz4r0000gn/T/AppTranslocation/50E201C2-E433-4BDD-B1B4-8FF674388E91/d/Arduino 2.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-1410 -b115200 -D -Uflash:w:/var/folders/5d/0nj7w8qs7qg_wp44cchsnz4r0000gn/T/arduino_build_249094/Vihu-02.ino.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 "/private/var/folders/5d/0nj7w8qs7qg_wp44cchsnz4r0000gn/T/AppTranslocation/50E201C2-E433-4BDD-B1B4-8FF674388E91/d/Arduino 2.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
        User configuration file is "/Users/mahendergadipally/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping

        Using Port                    : /dev/cu.usbserial-1410
        Using Programmer              : arduino
        Overriding Baud Rate          : 115200
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
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

gadipally:
Arduino: 1.8.12 (Mac OS X), Board: "Arduino Uno"

Which Arduino board are you using? This thread is about the Arduino Nano, but the error message shows you have the Arduino Uno selected in the Arduino IDE's Tools > Board menu.