3

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

Juraj
  • 18,264
  • 4
  • 31
  • 49

2 Answers2

1

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.

datenheim
  • 174
  • 8
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