0

My question might seem one of the million questions out there "Can't upload to arduino uno and receive error avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x01" but as I probably read all the million questions and didn't find the answer I am looking for I decided to write my own.

So my arduino is properly detected in device manager and in the arduino IDE but cant upload sketches to it. The main chip (atmega328p) seems well (13-pin LED blinks 3 times on reset) but the usb chip (ATmega16u2) is what I suspect as the RX and TX LEDs don't blink while uploading (and don't blink in any other situation) but again the arduino is detected and I am sure I chose the right board and port.

The serial monitor is always empty and I tried the loopback test and didn't get any echo at all or even any error message but I think that what I should have expected as the RX and TX not blinking means that there is no data transmission in the first place. Or am I wrong?

So is the USB chip broken or maybe corrupt? How can I be sure? And if not then what could the problem be?

I saw a tutorial in the answer of this question to test the usb chip using another arduino but I don't have that in hand right now or an ICSP programmer for that matter.

  • Have you tried the loopback test? Short TX and RX together on the Arduino, open the serial monitor, and see if you get back whatever you send? – Majenko Feb 23 '18 at 21:18
  • Oh I forgot to mention that. I will edit the question to include it. – maged rifaat Feb 23 '18 at 21:19
  • It could be dead, yes. Or the firmware may be corrupt. Try reflashing it with dfu: arduino.cc/en/Hacking/DFUProgramming8U2 – Majenko Feb 23 '18 at 21:23
  • 1
    But how can it be dead and the arduino is still detected? I am not arguing I really want to know and I am very new to this field. – maged rifaat Feb 23 '18 at 21:25
  • @Majenko By the way thanks so much for that link. It is more detailed that any other source I found. – maged rifaat Feb 23 '18 at 21:39
1

It depends on the exact arduino product. An Arduino Uno has a USB programmer chip, that then programs the AtMega 328 Chip. If the programmer is broken, it will likely not register any device when you plug in an arduino uno to your PC.

if the micro-controller is dead, but the programmer is operational, you will get a device in your device manager, but not be able to reprogram the micro controller.

If both the programmer, and the micro-controller are broken, then figuting that out could be difficult. The AVR microcontrolers support other programing methods, and the AtMega 328 IC, supports DebugWire. you could attempt to reprogram the MCU out side of the programmer, if you thought the programmer, was defective.

Here is a great article on using DeBugWire. https://awtfy.com/2010/02/21/modify-an-arduino-for-debugwire/

another nifty trick I learned, is to take your Digital MultiMeter, set it to diode test, or continuity. then, measure between the ground pin, and the positive voltage pins on the MCU. If you get a shot, the chip is busted. You will expect to get roughly 0.7Volts, although an OL reading might indicate more about your multi-meter, than the MCU.

Other Arduino devices, that have integrated USB programing, may behave differently. Features of the specific MCU dictate how it can be debugged. You might want to read the datasheet for a specific MCU if you're having trouble.

  • 1
    I'm quite confident that the problem is not with the main chip but can you provide more detail on how to perform that test with the multimeter and what to expect in both cases. – maged rifaat Feb 24 '18 at 13:13
  • Ground to VCC expect to get 0.5v, to 0.7 volts on a diode test. Short is a certain failed chip, and Open, is suspicious. – j0h Mar 11 '18 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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