Today I did something bad to my Arduino. By mistake I connected a 12V DC to a digital pin. I realised that the chip was getting extremely hot therefore I removed the cable from that pin. But from then on I cannot upload any sketch to the Arduino. The LED labelled as "ON" is lighting therefore the Arduino is receiving power. The LED next to that one, labelled as "L", is constantly lighting.
The RX and TX pins are not blinking while uploading a sketch. There is only a small dot in the LEDs which flashes. After the uploding sequence starts it waits for the communication timeout to occur and then the dot in RX LED light for a bit while the dot in TX LED blinks. This happens only after the first communication timeout. From then on only the dot in TX LED blinks after each communication timeout.
I tried the loop back test (TX to RX and RESET to GND) and when I enter something in the Serial Monitor the dot in both LEDs blinks but the result are not the same. For example, when I send a "1" I get "g".
This is the error I get:
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\SkyMaster\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM3
Using Programmer : wiring
Overriding Baud Rate : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude done. Thank you.
It's probably best to just get a new Mega, rather than spending time and money trying to replace the microcontroller and any other components that might have been damaged.
pert:
It's probably best to just get a new Mega, rather than spending time and money trying to replace the microcontroller and any other components that might have been damaged.
Do you think it is the microcontroller that is broken or burned?
Could it be that the bootloader has been lost when the overvoltage occured?
It is not a problem to get a new one but the delivery time is quite a lot.
KonstantinBG:
Do you think it is the microcontroller that is broken or burned?
I'd suspect it's the ATmega2560 that was damaged. If you still get a port for the board, that would indicate the USB to TTL serial chip is still in something resembling a working state. That would probably be the most delicate part on the board that I'd be concerned about.
KonstantinBG:
Could it be that the bootloader has been lost when the overvoltage occured?
I'd suspect something much more serious than that, but if you have an ISP programmer or another Arduino board you can use as an "Arduino as ISP", you could try burning the bootloader to see what happens. The thing is, even if I managed to get it working again, I wouldn't trust that microcontroller. Whenever something isn't working right, you'll always be wondering: "is it a bug in my program, or is it because something is fried in the ATmega2560?". For someone with experience, it only takes a minute to burn the bootloader, so it's not much of a waste of time even if it doesn't work. However, for less experienced people, the burn bootloader process can entail days of headaches and frustration.
The next step up would be to buy a replacement ATmega2560 and change out the bad one on the board. This will require some fairly advanced soldering skills to remove the damaged ATmega2560 and put a new one on there. Then you still need to go through the Burn Bootloader process, since the replacement chip doesn't come with a bootloader. You might learn a lot and have some fun from that whole process, but you won't have an absolute guarantee of coming out of it with a working board.
pert:
I'd suspect it's the ATmega2560 that was damaged. If you still get a port for the board, that would indicate the USB to TTL serial chip is still in something resembling a working state. That would probably be the most delicate part on the board that I'd be concerned about.
I'd suspect something much more serious than that, but if you have an ISP programmer or another Arduino board you can use as an "Arduino as ISP", you could try burning the bootloader to see what happens. The thing is, even if I managed to get it working again, I wouldn't trust that microcontroller. Whenever something isn't working right, you'll always be wondering: "is it a bug in my program, or is it because something is fried in the ATmega2560?". For someone with experience, it only takes a minute to burn the bootloader, so it's not much of a waste of time even if it doesn't work. However, for less experienced people, the burn bootloader process can entail days of headaches and frustration.
The next step up would be to buy a replacement ATmega2560 and change out the bad one on the board. This will require some fairly advanced soldering skills to remove the damaged ATmega2560 and put a new one on there. Then you still need to go through the Burn Bootloader process, since the replacement chip doesn't come with a bootloader. You might learn a lot and have some fun from that whole process, but you won't have an absolute guarantee of coming out of it with a working board.
I have already ordered a new one.
I guess you are right, it is not worth the time and money invested in the repair.