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\avrdude6円.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
2 Answers 2
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.
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.
-
1on 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 it2024年02月18日 16:38:38 +00:00Commented Feb 18, 2024 at 16:38
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