Arduino Mega 2560 bootloader overheating (16U2)

Hello,
My boss let me take an Arduino Mega 2560 from office because it doesn't work anymore. In reality I am pretty sure that the Arduino works perfectly fine, except for the USB connector. This is the story of the Arduino:

One year ago I flashed a program on it that read out an analog input from a sensor, does some complicated math with it and then sends the results over USB to a connected laptop where a Python script does something with it. Except for me, nobody involved in the project has the competences to do something useful or safe with electrical components, so I am pretty sure no one touched my wirings. There was only a GND cable and a jumper to A0 connected and in theory there was a third cable carrying 6-15V depending on the current state of the system, but as I mentioned I am pretty sure no one connected it to the Arduino. Now a few days ago the laptop died while connected to the Arduino via USB and I am pretty sure it took the Arduinos bootloader chip with it. For now, when connecting the Arduino with a USB cable, the ON LED lights up, everything else stays dark. That itself is to be expected because the program needs a working serial connection to send anything. Furthermore the 16U2 chip gets instantly hot to a point where you can't touch it anymore.

I am interested in ways to solve this problem. First I would like to know if my conclusion that the 16U2 is dead is correct. Second, is it possible to change this chip (how does one solder something this small?) And third, if I don't change the chip, how can I flash the main chip without the boot loader?

Thanks in advance,
Phil

It sounds like your toolbox and skill set need some additions. Without knowing what is connected to what etc I cannot be sure if it is dead, but possibly it is. Yes it is possible to change the chip but you need the correct tools and some soldering practice. You can flash the main chip but I have no experience in that.

My skillset is a M.Sc. in electrical engineering, but not specialized in integrated electronics. So I know how to solder, but I have little experience in how the Arduino is internally wired. I can of course read schematics. What do you mean with "what is connected to what"? Everything I described above happens if you just plug in a USB device. Nothing else is connected to the board. The code running inside only uses the pins A0 as input and D13 and D12 as outputs. It is not nescessary to connect anything to those pins for the code to run correctly, its serial output will just be useless data in terms of mathematical logic. Can you recommend a guide to change this chip?

Some points

  1. If the 16U2 is overheating, it is damaged.
  2. The 16U2 does not run the boot loader. The boot loader is on the 2560 micro.
  3. The 16U2 provides the TTL-to-USB converter
  4. You can buy a TTL-to-USB adapter like SparkFun USB UART Serial Breakout - CY7C65213 - BOB-13830 - SparkFun Electronics; make sure it has the DTR signal broken out. Connect it to pins 0 and 1, DTR to reset of the Mega, connect the grounds and try to upload.
  5. You can buy a programmer (or use another Arduino like Uno) to act as one and upload code to the 2560 via the ICSP header (in the centre of the board).
3 Likes
1 Like

You will also need to program the new 16U2

Shop around for a new board just to see what fixing that one is worth?

1 Like

Thanks for the answers. Just to be clear about this, I don't want ways to dodge the problem, I want to solve it, just for the sake of it and as a soldering practice. So if I understand it correctly, I will replace the 16U2 and program it. Do I program it after I put it on the Arduino or before?

I don't think it matters. It seems more convenient to do so using the 6-pin header closest to the 16U2.

Good luck with your soldering exercise :+1:

Remember: it's not the boot loader that you program in the 16U2.

1 Like

Thank you :slight_smile: I already found some guides that explain the flashing of the 16u2 and I found the correct hex files on my PC. For now I will order a new chip and solder it on the board. I will come back to this thread if I have additional questions concerning the programming of the IC.

I am currently fighting the same issue except I left a 12 Volt power supply running even after I thought the power supply was shut off. Basically how everything happened was I had the Arduino Mega 2560 powered from the 12 Volt power supply (*Note, I know I should use a resistor when I do this but I tried using a 220-Ohm resistor but it limited too much current for the board to run even though the board was not powering hardly anything at all) but in order to prevent any power from being back fed into the Led strip, Stepper Motor driver, Lcd and other components whenever I needed to update the code, I used a One-Way Diode to prevent anything from dying but what ended up happening was as I mentioned eariler I didn't pay attention to the power supply and sure enough I accidently sent 12 Volts Through the 5 Volt Line on the arduino from a loose wire which seems to have "Somewhat" Killed the 16U2 Chip. Now What I mean by "Somewhat" is I can Get the chip to respond to the main chip and run my code by Powering the board from the USB Port or through the Barrel Jack (*Note I have not tested to see if the board still allows me to update the code, I will check tomorrow) but powering the board from the Vin Pin on the Arduino seems to Overheat the chip along with preventing the code from initially starting.

So If possible Can you Supply the Link where you Purchased the 16U2 Chip so I can attempt to fix my Board?

@rockbottom06

If you mean that you should use a resistor between your 12V power supply and the Vin / barrel and you tried that, I'm not surprised that the board did not work; you should not put a resistor there and there is no need for it.

[quote="rockbottom06, post:11, topic:1161936"]
Now What I mean by "Somewhat" is I can Get the chip to respond to the main chip and run my code by Powering the board from the USB Port or through the Barrel Jack ote]

What does "respond" mean? How do you know that the 16U2 responds to the main processor (2560)?

It's strange that powering directly from Vin seems to overheat the 16U2 but powering from the barrel does not. The only difference between the barrel and Vin is dat there is a polarity protection diode in the path when using the barrel.

Try digikey, mouser and the likes.

Note
Be aware that you might have done more damage than just the 16U2.

Thank you for the quick reply I will see what else I have managed to damage on the board.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.