Go Down

Topic: Aruino UNO Rev3 Bricked ? (ATMEGA16U2) (Read 3 times) previous topic - next topic

elfrancesco

Hi,

I am using an Arduino UNO Rev3 since a few weeks without problems on my Windows 7 SP1 computer.
I have recently purchased a few naked ATMEGA328p-pu that i wanted to use in projects.
I have used Arduino-ISP sketch to burn bootloader into each ones and have tried to put them into the Arduino board's IC Connector and everything was working perfectly. I have tried uploading some led blinking sketch and it worked.

BUT
I did some bad connection in my last test (some sort of short circuit...). I didn't found what i did but after my arduino was powered since a few seconds, i start smelling some "electronic component heating"... I briefly stoped power supply and unplugged everything.

I thought Arduino was still working because the ATMEGA328P-PU was still working.

I then realized that i can no more upload new sketches...

I have of course checked if my board was correct, if the com port was selected, if the good programmer was selected...

When i try to upload (with verbose mode) i am getting :
Code: [Select]
avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is "E:\dev\arduino\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

        Using Port                    : \\.\COM3
        Using Programmer              : arduino
        Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


The fact are :
- my ATMEGA328P-PU seems to works : the "L" led blink when powering up and then get fixed.
- when trying to upload, i see no led activity at all (no RX or TX blinking)...
- The Arduino is still detected on my computer as "Aduino UNO R3 (COM3)" (i have tried to remove the device and drivers and reinstall but it is still the same).

I was thinking about some problem on the ATMEGA16U2
I tried to apply some tutorials about reflashing the atmega16U2 using DFU Mode but i cannot manage to go into DFU Mode :
- I have tried to put a jumper on the icsp connector on the 2 pin nearest to the USB Connector but nothing happend in the device manager (the "Arduino UNO R3 (COM3)") is still here...
- I know i have read that you have to put some resistor on the backside of the Arduino board but i cannot manage to see if it is still necessary on REV3 version.
- I have found on the front side of my Board the "RESET-EN" pin hole which seems to be at the same place as the resistor which should be in place in some tutorials. I tried to put a resistor on this 2 pin holes while using a jumper on the reset/gnd part of the icsp header near the usb port, but still nothing...

I don't know if i am doing something wrong.
I don't know if it could some other componnent related to this ATMEGA (capacitor ?) that i could change maybe ?

I would really appreciate if anyone of you had any clues to help me fix my Arduino...

Sincerly,

elfrancesco

elfrancesco

I should mention that i have also tried to communicate with my ATMEGA328P-PU using RX and TX as mentionned on http://arduino.cc/en/Tutorial/ArduinoToBreadboard

And i am getting this result :
Code: [Select]
avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "E:\dev\arduino\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


It seems to be the samee problem...
I definatly think my atmega16u2 is dead...

Thanks for any help

elfrancesco

HI again,
I suppose that since nobody answer me my atmega16u2 may be dead...
Is there a way to check if it is right please ?

The LoopBack test was not working

But my computer still detect correctly the chip (deletting and then reinstalling drivers)

Any clues ?

Thanks

Starzz

#3
Jan 15, 2013, 08:22 am Last Edit: Jan 17, 2013, 07:09 am by Starzz Reason: 1
I have exactly the same problem after connecting the Arduino to L298 module :(
"avrdude: stk500_getsync(): not in sync: resp=0x00" generally means the Arduino is not responding but given that Rx/Tx lights didn't blink while uploading code; This is not an error cause by corrupt bootloader (which is easier to fix).
Do you have a AVR programmer to re-flash the firmware for that Atmega16u2 ?

jlan

I am also having the same problem.  i.e. "avrdude: stk500_getsync(): not in sync: resp=0x00", and the RX/TX LEDs are not flashing.  I have no idea how it happened, but it's hard to believe I could have blown the Atmega16u2 completely. 

You said something about AVR programmer - do you have any guidance about that technique? 

Starzz

You will notice the 6 pin header near the Atmega16U2, just connect an AVR programmer to those pins then re-flash the chip.
With this I can make sure either the chip is dead or it has corrupt firmware. In worse case, use it to program the Atmega328p directly.
// I think i'll have that programmer in my mailbox later today.

pixema


You will notice the 6 pin header near the Atmega16U2, just connect an AVR programmer to those pins then re-flash the chip.
With this I can make sure either the chip is dead or it has corrupt firmware. In worse case, use it to program the Atmega328p directly.
// I think i'll have that programmer in my mailbox later today.


i have a similar problem when i connect the card there is no hardware detected but i used the ICSP header for the atmega16u2 and it accepted the firmware which means the chip is not dead but still when i try to connect it to PC there is no hardware i tried several PCs and i tried a working and test USB cable but still no luck ? what else might be the reason for this ???
Abdo

Starzz

@pixema: How did you re-flash the chip ? my AVR ISP programmer showed up as a "USB Input device" under the "Human Interface Device" section.
I was expecting some kind of virtual COM port ? that's all I know for now.

// The bootloader of Atmega328P is still working so currently I use a Serial-USB converter to upload the code via UART interface, bad thing is it requires manual reset during the upload progress.

pixema


// The bootloader of Atmega328P is still working so currently I use a Serial-USB converter to upload the code via UART interface, bad thing is it requires manual reset during the upload progress.


i used another Arduino as a programmer using the ArduinoISP example connected the pins on the ICSP near the Atmega16u2 chip then i used Winavr to flash the chip with this command
Code: [Select]
avrdude -p m16u2 -F -P COM12 -c avrisp -U flash:w:Arduino-usbserial-atmega16u2-Uno-Rev3.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m -b 19200

erased the chip then wrote the new firmware and returned successful
but still no luck i am wondering what else might cause the problem
i also tried swaping the atmega328p with no luck i am really pulling my hair here not sure what else i could try
Abdo

Starzz

You may want to check the resistors of D- and D+ line, UNO R3 Eagle file and Atmega16u2 datasheet would be useful.

GolezTrol

#10
Feb 23, 2013, 02:11 pm Last Edit: Feb 23, 2013, 03:29 pm by GolezTrol Reason: 1
I think my problem is the same as elfrancesco's, which seems to be unanswered yet.

I was trying to build a motor board based on Adafruit's one. When it seemed to work off of USB, I tried to power my Arduino Uno R3 using a 12V 1.2A DC adapter, to provide more power for the motors. It still worked fine, only from that point on, I couldn't upload new sketches.

The board still works. The sketch still works. Resetting works and causes Led 13 to blink.

What doesn't work, is uploading. It seems to time-out, and the leds near RX and TX don't blink anymore.

The information I get is "avrdude: stk500_getsync(): not in sync: resp=0x00"
When showing verbose output on upload, I get:

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Dev\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM7
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


Like elfrancesco, I'm scared that I fried my ATMega16U2, which is responsible for the serial communication. But I'm not sure.

I bought the Atmel AVRISP 2.0 STK 500 USB ISP Programmer, hoping that it would help me to try and revive my chip, but actually, I don't know where to start.

I've read some stuff about dfu-programmer to reset the ATMega16U2. One of them is a seemingly clear explanation: Bring your dead Uno/Mega back to life! How to fix ATMEGAXXU2 issues.
That seems allright, but getting the Arduino in dfu mode in the first place, doesn't seem to work. I briefly connected the two pins of the 6 pins near the USB connector, which should do the trick and show a different device, but instead the Arduino remains an Arduino UNO R3, instead of an Arduino DFU. The Arduino IDE still shows the COM port. Also, an usbviewer which I downloaded and the Device Manager of Windows keep showing the Arduino. So I'm not sure what to do.

I also tried the loopback test, which doesn't work. I've connected Reset to GND, and RX to TX. I typed in the serial monitor in the Arduino IDE, which worked, but I received nothing back.

Now I realize I'm just a beginner. It has been only a week or two since I purchased my Arduino, and I hadn't done much with with microprocessors or electronics in general before that, so I hope my explanation doesn't sound like utter nonsense. :)

GolezTrol

#11
Feb 23, 2013, 02:14 pm Last Edit: Feb 23, 2013, 03:25 pm by GolezTrol Reason: 1
I should have mentioned, I'm also open to any information about uploading sketches through the AVRISP.

[edit]

I found two tutorials on uploading through an AVRISP mk II programmer, here and here. Now it seems that I haven't got the mkII, but the 'old' AVRISP, which exposes itself a a COM port rather than a USB device.
This means that now, in the Arduino IDE 1.0, I can choose from COM7 (Arduino) and COM9 (AVRISP).

To try the latter, I select COM9 in the Tools -> Serial Port menu, choose 'AVR ISP' (not mkII) in the Tools -> Programmer menu, and choose 'Upload Using Programmer' (Shift Upload).

Surprisingly, I get the same error:

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Dev\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM9
         Using Programmer              : stk500v1
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.

As you can see it uses COM9, and uses the programmer, but still no luck with the sync.

I thought this method wouldn't need the built in serial communication, but apparently it does, or something else is broken.

I should mention that I've tried plugging in a different ATMega 328P-PU microprocessor, that I bootloaded before. It still runs the Blink sketch that I uploaded before, but this one also doesn't accept new uploads, so I think that rules out the possibility of the processor itself being (partially) broken.
It also tells me that the sketch itself continues to run when I try to get the Arduino in dfu mode. I don't know if that should be the case, but it it. The LED near pin 13 keeps blinking (because of the Blink program, no fast blinks like when you reset).

jlan

Success after I thought all hope was lost! 

Background: 
I was convinced my first Arduino Uno Rev3 was fried when the "avrdude: stk500_getsync(): not in sync: resp=0x00" message started coming up out of nowhere.  Disabling and enabling the COM4 in the device manager did not help.  The TX/RX LEDs did not light up, and I assumed the FTDI chip (ATMEGA16U2) had been blown.  I was working with a MOSFET for driving a motor on 9V, so it seemed plausible. 
I bought a new Arduino Uno Rev3 which worked out of the box for a couple weeks... then it started telling me "avrdude: stk500_getsync(): not in sync: resp=0x00".  Another blown FTDI chip!  So I grumbled and bought a FTDI dedicated board from Amazon.
While the new FTDI board was en-route I tried the following simple steps, and got lucky. 

What finally worked: 
From the Device Manager (Note, this is on XP), uninstall the COM4 while plugged into the Arduino. 
The board disappears. 
Scan for new hardware changes. 
The board reappears, but is unrecognized, and Windows wants you to install drivers. 
Go through the Arduino's officially recommended XP install steps.
The board now accepts program uploads again, the TX/RX LEDs light up, all is well. 

I fully expect to lose the board again, but hopefully this technique works again. 
My question is now how to get two boards to work? 
When I use two different COM ports (COM3 and COM4) the second one I install cannot sync ("avrdude ... not in sync"). 
Why can't I use one COM port (COM3) to upload to two different boards?

Nick Gammon

If you have a second Uno or similar you can run the sketch here:

http://www.gammon.com.au/forum/?id=11633

You can test whether your main processor, or the USB processor, is responding. That should clarify if, at least, the chips are working or not.


I think my problem is the same as elfrancesco's, which seems to be unanswered yet.


Once you get the "burning smell" there isn't much more to say. :)
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

GolezTrol

#14
Feb 24, 2013, 09:28 am Last Edit: Feb 24, 2013, 09:35 am by GolezTrol Reason: 1
Nick, thank you for your answer.

Unfortunately I haven't got a second Uno (yet). I do have a couple of separate ATMega328P microprocessors, and switching to one I preloaded before. It didn't make a difference. That one (also) worked (it still had Blink on it), but still I couldn't upload new sketches.

I didn't get a burning smell at any point during these experiments. I did about two days before, but that was quite unrelated, I think, and I've used the uploading mechanism quite a lot since.

I was running the AFMotor MotorParty example from Adafruit, which you can download to test their board, which I was replicating. It was running fine on 5V, only the motors started stuttering when I attached three (I've never had more than 3 attached). That's why I tried the 12V adapter, which should be well within the limits accepted by the Arduino board. I plugged it in the Arduino itself. When I did that, the sketch just started running again, no problem. The motors were spinning a little faster and better, as expected. Only after that, the communication with the PC turned out to be dead.
So I've had no burning smell, and I'm surprised that, of all things I could have blown up, it appears to be this part.

I've attached the Arduino to a different PC that didn't have anything installed before, but that also gives me the same sync-error, ruling out any problem with my USB ports.

I'm afraid I will have to buy another one, which might be a good idea anyway, although I'm afraid it might be bricked just as easily, making a cheap board expensive after all..

Go Up