Go Down

Topic: avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 (Read 85287 times) previous topic - next topic

freddie43

pert. I am away from home at the moment so I do not have access to a Nano or an IDE.

I do hear what you say and I accept it. But what I am saying is that however it got there, the first time I hit the problem was when I updated the  IDE from 1.8.5 to 1.8.7. That is my experience and you cannot deny that is why I see things the way I do (and probably why others do too). If I had not updated I would not have known of the problem or be in this thread. But thank you for the explanation of how and when it got there. I am grateful for your clarification of how it got there, but can we leave it at that?

By comparison David Prentice has managed to identify the wide range of controller chips that are put on seemingly identical mcufriend TFT LCD shields and has worked hard to provide software to drive them all.

Sadly, unlike my genuine Arduinos, all my clone Nano, Uno and Mega boards seem to have the same onboard refs, so there is no s/w way to identify them and treat them correctly and change the way the IDE handles them.

But the real problem is as Robin2 says in my other thread: Arduino developers seem to have very little interest in backwards compatibility.
Greybeard programmer since the dawn of time.
Much enjoying the challenges of Arduino.

pert

Sadly, unlike my genuine Arduinos, all my clone Nano, Uno and Mega boards seem to have the same onboard refs, so there is no s/w way to identify them and treat them correctly and change the way the IDE handles them.
The solution is to just burn whichever bootloader you want to them. Then there is no need to do any identification. I prefer to use the Uno's configuration, since this frees up 1.5 kB of flash memory:
  • Connect an ISP programmer to the nano. If you don't own an ISP programmer, you can use an Arduino board as an "Arduino as ISP".
  • Tools > Board > Arduino/Genuino Uno
  • Tools > Programmer > select the appropriate programmer
  • Tools > Burn Bootloader

After doing this, you should use your Nano as an Uno.


But the real problem is as Robin2 says in my other thread: Arduino developers seem to have very little interest in backwards compatibility.
It is true they could have changed the bootloader and fixed the watchdog bug of the old one without breaking compatibility. The only downside compared to what they did do is needing to stay with the slower upload speed of the old bootloader. Or they could have broken compatibility, but changed the boot section to 0.5 kB instead of the unnecessary 2 kB they are using now. So we ended up with the worst of each option: Breakage, without reaping the most important potential benefit of the change. It would be interesting to know the story of how that came about. I suspect this one was not a decision made by the developers, but someone in management or manufacturing. I pointed out the issue immediately after the change was made to Arduino AVR Boards but by that time they had already made a bunch of Nanos with the new configuration so fixing it would have required either doing the right thing and recalling all the misconfigured Nanos from their distributors or else doing the hacky thing and adding yet another Nano configuration option. Instead, they decided to stick with the mistake and continue to produce Nanos with the suboptimal new configuration.

freddie43

pert Funny you should say that about burning a bootloader, as that was what I did when my clone Unos seemed to play up after the IDE upgrade. There is a very useful 'Instructables' post on 'How to fix bad Chinese clones' which I used to cope with the CH340 problem when I first bought  a clone. This time I did Uno to Uno as well as reinstalling CH340. Didn't realise I could do Uno to Nano. Fascinating!

Thanks too for the second part of your post. Really interesting.
Greybeard programmer since the dawn of time.
Much enjoying the challenges of Arduino.

jaggermad

I had this problem yesterday with my nanos... I solve it to downgrading to AVR Boards 1.6.20. A temporal solution... I guess.
genius, thank you very much

pert

genius, thank you very much
No, it's not at all genius. It's actually a very bad solution. The much better solution (as I have already explained) is to use the up to date version of Arduino AVR Boards, and select Tools > Processor > ATmega328P (Old Bootloader).

milanstekly

The problem as it occurs with uploading to Nano with Arduino AVR Boards 1.6.21 can be solved by simply selecting Tools > Board > ATmega328P (Old Bootloader). There's no need to uninstall or downgrade anything.

The problem as it occurs for other boards will have a different cause and a different solution.
Selecting old bootloader would be simple if there was such an option. (I use the Linux version of the IDE.) Can you help me?

pert

Selecting old bootloader would be simple if there was such an option. (I use the Linux version of the IDE.) Can you help me?
If there is no Tools > Board > ATmega328P (Old Bootloader) menu option, that means you're using a version of Arduino AVR Boards older than 1.6.21. If so, then the Tools > Processor > ATmega328 menu selection is the exact equivalent of Tools > Board > ATmega328P (Old Bootloader) when using Arduino AVR Boards 1.6.21 or newer. If you have no Tools > Processor menu, then that means you're using an extremely outdated version of the Arduino IDE.

I'll need some additional information in order to help you:

Are you using a Nano?

Is it an official Arduino Nano or one of the cheaper ones made by other companies?

If it's an official Nano, when did you buy it?

serge2010

Hi guys,

I have exactly the same issue with by banggood - arduino nano copy. I've tried using the old bootloader and also installed the chinese drivers - still not working.

Please help me.

Details:

1) Product: https://eu.banggood.com/Wholesale-Warehouse-ATmega328P-Nano-V3-Controller-Board-Compatible-Arduino-wp-Eu-940937.html?rmmds=search

2) My settings: Tools > Board > Arduino Nano; Tools > Processor > ATmega328P (Old Bootloader)

3) Drivers: https://www.instructables.com/id/How-to-fix-bad-Chinese-Arduino-clones/

4) Error message:

Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

avrdude: stk500_recv(): programmer is not responding
Sketch uses 494 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.
the selected serial port avrdude: stk500_recv(): programmer is not responding
 does not exist or your board is not connected
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 -PCOM4 -b57600 -D -Uflash:w:C:\Users\Serg\AppData\Local\Temp\arduino_build_26314/eeprom_clear.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                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         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: 2
         Firmware Version: 1.16

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xfc
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : 3.686 MHz
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Serg\AppData\Local\Temp\arduino_build_26314/eeprom_clear.ino.hex"
avrdude: writing flash (494 bytes):

Writing | ################################################## | 100% 0.15s

avrdude: 494 bytes of flash written
avrdude: verifying flash memory against C:\Users\Serg\AppData\Local\Temp\arduino_build_26314/eeprom_clear.ino.hex:
avrdude: load data flash data from input file C:\Users\Serg\AppData\Local\Temp\arduino_build_26314/eeprom_clear.ino.hex:
avrdude: input file C:\Users\Serg\AppData\Local\Temp\arduino_build_26314/eeprom_clear.ino.hex contains 494 bytes
avrdude: reading on-chip flash data:

Reading | avrdude: stk500_recv(): programmer is not responding
############avrdude: stk500_recv(): programmer is not responding
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

the selected serial port
 does not exist or your board is not connected

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

serge2010

I also found this line in the config file called "avrdude"


Line: # There is a ATmega328P kit PCB called "uncompatino".

Could this be the issue? I don't know how to delete it, as it says I had no admin rights.

Go Up