2

I got an Arduino UNO clone, connected it to my PC via USB. I can't upload any sketches.

Correct board and port are selected in the IDE. Windows recognizes it as a device, even though it has a CH340 (known issue with Chinese clones), so drivers don't seem to be the issue. All physical connections and wiring on the board seem good.

So I am led to believe that the bootloader is the issue.

After a bit of digging around, I didn't find a way to install an Arduino bootloader that didn't require a programmer device or an extra original Arduino board in hand.

Here is the console output after trying to upload a sketch.

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\lhyse\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

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

     Failed uploading: uploading error: exit status 1
0

2 Answers 2

0

For devices with an Atmega MCU and no pre-installed bootloader, the answer is NO - it is not possible to install a bootloader without a physical programmer.

If there is a working bootloader, but not the one you need, it might be possible under some circumstances.

enter image description here

Lets assume an Atmega328p has a current bootloader that is only 512 bytes large (4 pages) and resides at 0x3F00-0x3FF and BOOTSZ=11.

One might use the current bootloader to program the new bootloader (also 512 bytes) into the application area just below the current bootloader to address 0x3E00-0x3EFF. Now, if the current bootloader is capable of changing fuses BOOTSZ=10, the next time a reset occurs, at least I think so, the new bootloader at 0x3E00 will be startet. The bootloaders should not overlap each other for this to work.

1
  • 1
    on ATmega 328p only a bootloader can write into the flash so it is not possible to replace the bootloader from application, unless the bootloader supports it
    – Juraj
    Feb 18 at 16:38
0

Using Programmer : arduino

Try using urclock programmer instead of arduino. Seems like it's a common problem to Arduino clones. My problem was almost same, and it helped me.

I described the problem and solution here: I can't upload my sketch to Arduino Uno using avrdude

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.