Checking an Arduino Mega

Hi, I have an Arduino Mega 2560 R3. Currently my computer (Win 7 64) doesn't register it (Tools > Port doesn't show the com port it is connected to) So I can't program it.

Now, a few days ago I accidentally connected 12V to the 5V pin (not a good idea). I noticed out of the angle of my eye some smoke? and disconnected the power immediately.

Does anyone know how to test what is wrong. I tried following: a. connection to USB -> not recognized

b. connecting Serial to an FDTI board (DTR to Reset) and trying to upload a sketch this produces following error: avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer

c.: the previous sketch which I uploaded still works. (its not a complicated sketch and only uses pins 7,8 and 9 for output and pin 6 for a button) So I assume the ATMEL processor still works.

d.: the On and L LEDs on the board are both on e.: no visible damage to the board

Any idea what else I could try apart from buying a new board?

Could the boatloader have been damaged???

The DTR signal should go through a capacitor before being connected to the Reset pin. On the Arduino MEGA 2560 schematic it is shown as being 100n (100 nano-Farads).

Thank you for the suggestion. Unfortunately I still get the same error.

Still working on it. I have some Atmel 328P, so I built a breadboard Arduino and used it as an AVR ISP (http://arduino.cc/en/Tutorial/ArduinoISP) uploaded a new bootloader the the arduino.

This worked without error messages and now the 'L' LED is flashing constantly. However the board is still not recognized by windows.

I assume, I have uploaded a new bootloader with the blink sketch included.

Now it would be nice to be able to upload other sketches via the 'Arduino ISP'. Can anyone point me into the right direction on how to do this?

(Pretty steep learning curve in the last few days, but its kind of fun....)

Here my current version: Breadboard Arduino (Atmel 328P) with ArduinoISP software loaded then I set:

Tools > Board >Arduino Mega or Mega2560 Tools > Programmer to Arduino as ISP Tools > Burn Bootloader

This works fine and now the 'L' LED is flashing

so I load the Blink sketch into the Arduino software and change the delays to be able to see a difference in the flashing frequency (changed line 26 to delay(2000))

Now I upload the file with: File>Upload Using Programmer

It seems to work (avrdude output below), but now the 'L' LED just stays on.

Any suggestions on what I am doing wrong?

avrdude gives me following output (verbose mode)

avrdude: Version 6.0.1, compiled on Apr 3 2014 at 23:12:16 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino/hardware/tools/avr/etc/avrdude.conf"

Using Port : COM7 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega2560 Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PA0 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail :

Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x1e9801 avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "C:\Users\Bjoern\AppData\Local\Temp\build896673534544120819.tmp/Blink.cpp.hex" avrdude: writing flash (1518 bytes):

Writing | ################################################## | 100% 1.55s

avrdude: 1518 bytes of flash written avrdude: verifying flash memory against C:\Users\Bjoern\AppData\Local\Temp\build896673534544120819.tmp/Blink.cpp.hex: avrdude: load data flash data from input file C:\Users\Bjoern\AppData\Local\Temp\build896673534544120819.tmp/Blink.cpp.hex: avrdude: input file C:\Users\Bjoern\AppData\Local\Temp\build896673534544120819.tmp/Blink.cpp.hex contains 1518 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.97s

avrdude: verifying ... avrdude: 1518 bytes of flash verified

avrdude done. Thank you.

Well, it uploaded and verified. Did you disconnect the ISP? If not it might be holding the processor in reset.

Yes, I disconnected the ISP. No difference.

I tried something else: I installed on the breadboard Arduino the ATMega Chip Detector from Nick Gammon (http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=11633&page=1)

This software shows which chips are connected to the ISP and also prints (in Hex) the contence of the Bootloader and first 256 bytes of the program memory.

After burning the bootloader I get a 'reasonable output' with some 'random' Hex codes and only FF in the program memory

Then I 'upload' my blink software.

And to my surprise when I check the memory with the chip detector, the bootloader and program memory are filled with FF

So, 'File > Upload Using Programmer' seems to erase everything on the ATMega!!!