Board dead?

Hey there everyone!

I've been having a problem with my arduino board and wanted to confirm that it's dead. Ok here's the story behind it.

I was experimenting with Interrupts and did the mistake of placing a Serial.println inside a timer ISR function, so when i tried to upload an updated sketch serial communication was blocked, since the timer caused an interrupt every second. After quite a few retries still nothing happened so i tried to erase the chip (328) externally with a USBasp programmer and burned the bootloader again. Programming was OK and after placing the MCU back to the board i was able to upload sketches again.

The problem reappeared soon with another sketch when testing sleep modes. Although there was no apparent reason for it to happen again, i thought i would erase it again. Bump! Now when i tried to upload any sketch the TX and RX LEDs flashed 2-3 times and nothing more. The error "avrdude: stk500_getsync(): not in sync: resp=0x00 " appeared a while later, every time! So I looked up possible solutions none of which worked. When i burned programs externally there was no problem so i excluded the possibility of a fried MCU. Then i got suspicious of the ATMega16u2 chip and reprogrammed it using Atmel's FLIP. BOOM! Still nothing..

Then i started thinking of the causes i read online, one of them was if any of the RX or TX pins were connected in a circuit, then serial communication could be interrupted And although nothing was connected on my board, this seemed to be the only logical explanation. So I connected my multimeter to the TX and RX pins and there you go: 2.6k? between those two, as I said, with nothing connected on the board. PCB looks clean, no burned up areas, nothing.

I'm guessing that's the end for the ATMega16u2 chip, as it's the only thing connected to the RX and TX pins (328 chip removed), with the exception of 2x1k? resistors.

I'll be glad to hear any suggestions, as i can't think of something that could cause such a short circuit.

You can use the USBasp programmer with a 10-pin to 6-pin adapter and use the ICSP header. That way you don't have to remove the microcontroller. You could even continue to use that board, and program the sketch via the USBasp programmer.

It is possible that ATmeg16u2 is fried, but it is also possible that the RX or TX pin of the ATmega328P has been damaged. For example with static electricity.
I don't know how you measured it, so I can't tell if that is a short circuit.

The error that avrdude mentioned means that avrdude can't see an Arduino board at all.

I think you need a new board.

About the original problem: Using timers and interrupts and wrong code should be no problem. As soon a the Arduino IDE tries to upload via usb, the Arduino is (hard)reset and the bootloader takes over. Perhaps something in the hardware was already damaged at that moment, or a bad capacitor, bad soldering, or so.

I don't have an adapter at the moment, that's why I had to take the mcu out of the board.

With the microcontroller removed, i measure resistance across pins 2 & 3 (on the ic socket), and it should be an open circuit (tested on a friend's board).

The problem may have been present long ago, i've had problems uploading sketches that utilized serial communication, but 1 or 2 resets did the job.

Anyway, thanks for your response.

PS. I forgot to mention it's a Uno R3 board.

Update: i think i fixed it!!

Since i thought the board is dead, i tried to heat it up since it causes solder to reflow and in some cases makes the pcb functional again. So I used a hair dryer at maximum temp for about 5 -7 minutes (really close to the board), and after cooling down, i measured continuity across pins 2 and 3. There was none 8)

Sketches upload just fine now :smiley:

Awesome!