Help needed with Arduino Uno R3 - Can't Upload program

Hi,

I recently purchased 2 genuine Arduino Uno R3 boards from Core Electronics. Since arriving I have been unable to get either board to accept an upload.

Initially I was unable to get my computer to even recognise the first board, it wasn’t until I plugged the second one in and it showed up successfully that I then worked out that it appears that the USB to Serial firmware was corrupted on the first board. After going through the steps required to flash the new usb-to-serial firmware https://support.arduino.cc/hc/en-us/articles/4408887452434-Flash-USB-to-serial-firmware-in-DFU-mode it was able to be detected successfully.

However my original problem remains and both boards have the same issue so I cant work out what else I can try to fix it.

I am not trying to upload my own code at this point so it shouldn’t be an issue there. I am simply trying to upload ‘Blink’ from the supplied examples. I downloaded the windows installer for the IDE from the official website and it installed Arduino 1.8.19.

Upon attempting to upload I get the following error

Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"

Sketch uses 924 bytes (2%) 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.

C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM7 -b115200 -D -Uflash:w:C:\Users\User\AppData\Local\Temp\arduino_build_399989/Blink.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:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"


         Using Port                    : COM7

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

avrdude done.  Thank you.

Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.

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

I have ensured that the correct port is selected and board type is UNO

image

I have tried with 2 different USB cables and 3 computers and I get the same error each time. Which makes me lean towards a hardware issue, however I was able to successfully perform a loopback test.

I have tried uninstalling and reinstalling the IDE, I have pushed the reset button in many various ways as suggested by several different google searches. Long press, 2 quick presses, hold while clicking upload etc. Nothing has worked.

The only thing I have not been able to try and which is suggested as the last resort by all the help topics is to reprogram the bootloader. I do not have the correct equipment or a spare working uno to attempt this.

I find it difficult to believe that two brand new boards would both have a corrupted bootloader but I am out of ideas and willing to attempt any reasonable suggestion.

2 Likes

@Max201470 I cannot see any reason why it is not working for you, everything you are doing is correct.

The ATMega328P has a bootloader (as you have mentioned), it is the only thing left.
I have do not have any Genuine UNO Boards. But all the other UNO’s I have bought, came with a bootloader. Somewhere back in my memory is something saying some Genuine Boards did not come with a bootloader. I could be mistaken.

The bootloader requires an ICSP programmer connected to the 6 pin header near the ATMega328P.
Make sure the connector is the correct way around.

I see two paths forward.
Buy a ICSP Programmer and try to program the current boards, or
Buy another ATMega328P, that definitely has a bootloader installed, and use it to load the other two ATMega328P’s. (some ATMega328P’s are sold without a bootloader)
I am assuming the UNO boards have the 28 pin DIP chip.

Alternatively, Core may be able to help you out. UNOs should all come with bootloaders.

Regards
Jim

EDIT: Considering you had to load the firmware on one board to get it to even show up as a serial port means the boards you have are not as advertised. The blurb on the web page says the boards have a bootloader, so me thinks you need to contact Core, they are pretty good with this sort of problem.

From the web page.
“The ATmega328 on the Arduino Uno comes burned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol.”

2 Likes

Hi Max.
Probably wrong but I thought most Arduinos came with “blink” pre loaded. I could not be sure but I have an idea the Arduinos I have used have started blinking on first power up.
Cheers Bob

3 Likes

You are right @Robert93820, all the ones I have bought blink on first power up.
Pretty sure the two @Max201470 has bought are not working as advertised.
Cheers
Jim

2 Likes

What upload option are you selecting in the IDE? That does not look like a typical upload log.

2 Likes

I am clicking the upload button and I have also attempted to go into the sketch menu and selected upload from that as well. I am not using the “upload using programmer” option in case you were thinking that was a possibility.
I have turned on verbose output during upload to get debug info on the problem, could be why it looks a bit different to a normal upload output log.

2 Likes

Thank you everyone for your assistance. I will contact core again and discuss. I did originally try to resolve this with them first over the phone and was redirected to this forum.

2 Likes

With Verbose turned on you should be getting a lot more detail than that. For instance, after the programmer you should be seeing detailed information about the device, the serial connection and the programming parameters. Then there should be a large table showing the memory configuration. After that is the bit that is probably most relevant to your problem - the device ID. I can’t explain why you aren’t seeing this detail, but you could look for some other compilation or upload setting that reveals this data.

/edit The data that is missing is related to the attached UNO. So the reason that it is missing is that the system cannot communicate - it doesn’t actually get as far as trying to upload. That points to a problem with the USB driver. edit/

3 Likes

Hi Max
Do these units “blink” at switch on ??
James has stated that all the ones he has purchased have been pre loaded with the “blink” sketch.
That would be a starting point. If they don’t blink and if they should there may be something else wrong. It would be suspicious to me that both new devices are behaving the same. Have you or are you able to try another computer ?? There may be something wrong with your USB port. That would certainly cause both Arduino boards to malfunction. I am assuming you are powering them via USB.
If you have one of those in line USB diagnostic things you could at least check the USB voltage and current draw. It is this sort of thing that is common to both boards.
Cheers Bob
EDIT. You should at least be able to check the “5V” point. That might give a clue if it is not 5V.
Another edit.
Just re read your original post. It seems you have tried different cables and 3 computers so disregard most of my last reply. Sorry bout that. But it would not do any harm to try the cables again on something you know works. I went through mine a few months ago using my phone to communicate with computer and found more than half of them to be “charge only”, the data wires are not even in there. Needless to say I marked them so I don’t get caught again, at least not with those cables anyway.

3 Likes

I had a similar problem recently when trying to program a clone Uno card from my Windows 10 computer. The problem was that the USB cable supplied with the Uno was faulty (as alluded to by some of the posts above). As soon as I tried a different USB cable, Windows and the Arduino IDE were able to recognise the Uno, and I was able to program it.
This may or may not be the problem in your case, but a faulty USB cable certainly can be a problem.
For anyone else with similar issues - it’s worth trying a different USB cable!
Best wishes.

3 Likes

Hi Everyone,

Thank you for all the replies and suggestions. Just an update in case anyone else has the same issue in the future and comes across this topic.

I purchased a TinyUSBISP so I could either upload the program directly or reinstall the bootloader. I was able to upload Blink and test it successfully as well as reinstall the bootloader. I used the same USB cable for this as my other attempts. When I tried to install my program through the IDE, I once again encountered the same issue as before. When I used the TinyUSBISP to load my program it was apparently successful however the board would still not communicate with the corresponding program on my PC.

I relented and went to a local electronics store and purchased 2 clone UNO R3 boards. Using the same USB cable I plugged them in, they were recognised and blinked straight away and the IDE uploaded my program in a few seconds. The board was able to communicate with it’s corresponding software on my PC and everything was up and running in under 5 minutes. I did this for both boards I purchased.

I can only conclude that for some reason both the genuine boards I originally purchased were faulty despite how unlikely it sounded and attempting to reprogram them using the TinyUSBISP did nothing to resolve what ever the fault was. I did nothing different for the clone boards and they worked out of the box without difficulty. The fault was obviously not my cable, PC or the program I was attempting to upload as it is all functioning perfectly now without any modifications.

Thanks again for everyone’s time and assistance.

3 Likes

I have only bought clone UNO R3 boards (Genuine cost more) but did read somewhere, sometime ago, of problems with genuine UNO R3 boards. You think it would be the other way …

Anyway glad you resolved it.
Cheers
Jim

2 Likes

Sounds like a faulty board anyway…