Arduino Firmware

Bricked arduinos can be restored by putting them in DFU mode. This also apparently fixes linux problems.

Windows
Tried using Flip and DFU mode to reload firmware; for both ATmega8u2 and AT90USB82 the error (in DFU mode) is "Could not open USB device" from com.atmel.flip.IspException ; nothing shows up on Device Manager.

Linux
wget --no-check-certificate https://github.com/arduino/Arduino/raw/master/hardware/arduino/firmwares/arduino-usbserial/Arduino-usbserial-mega.hex

apt-get installs version 0.4.3 of dfu-programmer. We get sudo apt-get install dfu-programmer $sudo dfu-programmer at90usb82 erase dfu-programmer: no device present.

Try removing and updating. sudo apt-get remove dfu-programmer

The latest version is available here: http://sourceforge.net/projects/dfu-programmer/files/

tar -xzf dfu-programmer-0.5.4.tar.gz cd dfu-programmer-0.5.4 ./bootstrap.sh ->> aclocal, autoheader, automake, autoconf not found, so: sudo apt-get install automake autoconf ./bootstrap.sh ./configure ->> ./configure: line 3461: syntax error near unexpected token `LIBUSB_1_0,' ->> PKG_CHECK_MODULES(LIBUSB_1_0, libusb-1.0 >= 1.0.0, have_libusb_1_0=yes, have_libusb_1_0=no)' Also, if we just try make ->> same error here, usb.h: No such file or directory so: sudo apt-get install libusb-dev make install ->> this doesnt work, still doesnt know what LIBUSB_1_0 is; must be missing some sort of include

This http://packages.ubunut.com/source/lucid/devel/dfu-programmer website says that debhelper is a dependancy as well sudo apt-get install debhelper (already installed)

This http://packages.ubunut.com/source/lucid/devel/dfu-programmer has a built version for ubuntu: tar -xzf dfu-programmer_0.5.1.orig.tar.gz cd dfu-programmer-0.5.1 ./bootstrap.sh ./configure make sudo make install cd src sudo ./dfu-programmer at90usb82 erase ->> dfu-programmer: no device present.

Our arduino seems to be completely bricked. Also lsusb does not show anything for the arduino; it is also not detected on windows.

Forum Suggestions
Steps for linux dfu reflashing -- also there are suggestions to first upload an empty sketch before reflashing

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1286088093/45 Forum post about problems with linux:

Search for 8u2 firmware on mega2560, this seems to be the fix, and patching avr-gcc

"Please remember if you want to use the mega2560, you also need the patched version of avr-gcc. Not sure if the windows software includes the patch. On linux you have to build avr-gcc yourself (or find a pre-compiled copy somewhere)"

rm /var/lock/LCK..ttyACM0 can remove the lock file on the port

Setting the serial.debug_rate=9600 (which was atm 38400, possibly a relict of testing something) solved all my problems.

sudo chown username /dev/ttyUSB0 dmesg

thank you, i could solve my problem with some further reading in this fine forum. it is a problem of the old firmware of the 8u2 (uno's replacement for the ftdi). basically it blocks the serial port by constantly sending data when serial output is used in a sketch. i solved it by 1. setting the arduino in dfu-mode http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838/10#10 2. uploading the new firmware http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1286088093/34#34 3. unplugging the arduino and plugging it in again

cat /dev/ttyACM0 with a program plugged in

2) If you have to use serial, put delay(5000); before Serial.begin to give yourself a chance to open the serial monitor or gtkterm before the output starts

I got the firmware from here: https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/arduin...(click on the right firmware, then click raw, then save it) Reflashing the firmware on the 8u2 is a little tricky. Don't try this unless you are prepared to risk bricking your board completely! You need the dfu-programmer utility: sudo apt-get install dfu-programmer Then follow the instructions here to get the Uno into DFU mode: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838/10#10 Then to flash the firmware, do this: sudo dfu-programmer at90usb82 erase sudo dfu-programmer at90usb82 flash --debug 1 Arduino-usbserial-uno.hex sudo dfu-programmer at90usb82 reset Finally unplug the USB plug, wait a few seconds, plug back in.

"killall -KILL avrdude" is quite often necessary after a failed upload

"Here's a way to get the Uno into DFU mode without any soldering. Put two wires into GND pins on either side of the board. Then put the other ends of the wires on the board as follows: https://archive.is/20131014055346/img87.imageshack.us/img87/4207/arduinodfu.jpg The sequence is, hold the first wire on the top left 8u2 ICSP pad, then touch the second wire against the left side of the capacitor below the RX LED. Then remove both wires. It's slightly different to the sequence in the instructions but it seems to work. Be careful with the second wire as the capacitor is quite near a 5v track. You can try using a low-value resistor instead of a wire if you are worried about blowing up your board. To get back to normal mode, hold wire 1 in place as above, press the reset button, then remove wire 1. Or just unplug the USB cable and plug it back in."

"Just installed the updated 8u2 firmware on my mega2560, and it runs like a charm now... I even removed the 4 second delay on Serial.begin in my code, and the IDE still can program the mega. (I run Linux, IDE v0021) In case anyone wonders, if you follow http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838/10#10 wire 2 on the mega2560 needs to contact the left side of the capacitor immediately above the two pads labelled RESET-EN. This in just above the righthand of the two 47uF capacitors, not in the centre as shown on the Uno. You know if the 8u2 is ready to program if it does not appear as ID 2340:0010 when you run lsusb - it appears under an Atmel ID Also, if you have the problem of ttyACM0 not appearing in the serial port list, you can make ttyS7 be a symlink to it, and then it works... I automated it in /etc/udev/rules.d/55-odd.rules KERNEL=="ttyACM0", SYMLINK+="ttyS7" Now I can get on using the mega2560 under Linux"

"got it also working on my mega2560 after some trouble: - on my debian in standard repository was only dfu-programmer Version 0.4.3. The at90usb82 device was not recognized (dfu-programmer: no device present), although the device is listed when dfu-programmer is called with no options. - upgraded to dfu-programmer 0.5.2 from source reference: http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/at90usb/dfu_programmer... Code: svn co https://dfu-programmer.svn.sourceforge.net/svnroot/dfu-programmer dfu-programmer cd dfu-programmer/trunk/dfu-programmer/ ./bootstrap.sh ./configure make sudo make install - dfu-programmer now recognizes the at90usb82 - erased with no error message - when trying to flash got the message: Something went wrong with creating the memory image - after some time of troubleshooting I found that the downloaded .hex file was wrong. I don't know why, but it was not possible to download the raw file with epiphany - downloaded the .hex file with wget, flashed it and it works perfectly."

Arduino as ISP 8u2
Following How to use another arduino as an ISP programmer

With pins 50-53 connected.

Burning bootloader to i/o board (blah) Error. avrdude: stk500_getsync: not in sync: resp=0x00 With ISCP header on 8u2:



>avrdude -p at90usb82 -F -P usb -c avrispmkii -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: AVR Part "at90usb82" not found. Valid parts are: m6450 = ATMEGA6450     [C:\WinAVR-20100110\bin\avrdude.conf:11732] .... big list

>cd \arduino-0022\hardware\tools\avr\bin

>avrdude.exe -p at90usb82 -F -P usb -c avrispmkii -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: AVR Part "at90usb82" not found. Valid parts are: m6450 = ATMEGA6450     [C:\WinAVR-20100110\bin\avrdude.conf:11732] .... big list

Reinstalled WinAVR. Now, "avrdude: usbdev_open: did not find any USB device "usb"". Changed to -P com4. avrdude: stk500_2_ReceiveMessage: timeout

"avrdude -P comport -b 19200 -c avrisp -p m328p -v -e " (the -e means erase the chip, and -v verbose)
 * this is what happens when the connection is broken
 * maybe we have to change it to -c stk500v2 or -c avrisp or -c avrisp2
 * probably have to change to -c avrisp, also this
 * maybe switch to -P usb with the proper programmer selected
 * could also change the config settings
 * could add an AVR chip to the arduino menu
 * should probably include a -b 19200 command, this is on the forum for using ArduinoISP

Tried without force; device signatures dont match:

>avrdude -p at90usb82 -P com4 -c avrisp -v -e -b 19200 -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf" Using Port                   : com4 Using Programmer             : avrisp Overriding Baud Rate         : 19200 AVR Part                     : AT90USB82 Chip Erase delay             : 9000 us         PAGEL                         : PD7 BS2                          : PC6 RESET disposition            : possible i/o 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  Max W   ReadBack --- - -  -- --  -- - --- -- -           eeprom        65    20     4    0 no        512    4    128  9000  90 00 0x00 0x00 flash        65     6   128    0 yes      8192  128     64  4500  45 00 0x00 0x00 lfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 hfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 efuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 lock          0     0     0    0 no          1    0      0  9000  90 00 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 AVR ISP 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.13s avrdude: Device signature = 0x1e9389 avrdude: Expected signature for AT90USB82 is 1E 93 82 Double check chip, or use -F to override this check. avrdude done. Thank you.

Then with force, seems to have worked:

> avrdude -p at90usb82 -F -P com4 -c avrisp -v -e -b 19200 -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.13s avrdude: Device signature = 0x1e9389 avrdude: Expected signature for AT90USB82 is 1E 93 82 avrdude: safemode: lfuse reads as EF avrdude: safemode: hfuse reads as D9 avrdude: safemode: efuse reads as F4 avrdude: erasing chip avrdude: reading input file "MEGA-dfu_and_usbserial_combined.hex" avrdude: input file MEGA-dfu_and_usbserial_combined.hex auto detected as raw binary avrdude: writing flash (8192 bytes): Writing | ################################################## | 100% 9.42s avrdude: 8192 bytes of flash written ... (skipped a bunch of the output to keep this short) Reading | ################################################## | 100% 0.03s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D9 avrdude: safemode: efuse reads as F4 avrdude: safemode: Fuses OK avrdude done. Thank you.

It seems I've reloaded the 8u2 firmware. However, plugging into the USB still doesnt detect the Arduino mega2560; nothing shows up.

Arduino as ISP m2650
Trying to reload the atmega2560's firmware with the ISP header set up as per the 8u2, selecting "Burn Bootloader -> Arduino as ISP gives "avrdude: stk500_getsync: not in sync: resp=0x00". Selecting w/ AVR ISP gives "avrdude: stk500_getsync: not in sync: resp=0x00 ; avrdude: stk500_disable: protocol error, expect=0x14, resp=0x51"

With avrdude:

avrdud -p m2560 -c usbtiny -e -v -U flash:w:blabla.hex -U lock:w:0xCF:m

These caused errors: >avrdude -p m2560 -P com4 -c avrisp -v -e -U flash:w:Arduino-usbserial-mega.hex -U lock:w:0xCF:m avrdude: stk500_getsync: not in sync: resp=0x00 >avrdude -p m2560 -P com4 -c avrisp2 -v -e -U flash:w:Arduino-usbserial-mega.hex -U lock:w:0xCF:m avrdude: stk500_2_ReceiveMessage: timeout

The secret was setting the baud rate: > avrdude -p m2560 -P com4 -c avrisp -b 19200 -v -e -U flash:w:Arduino-usbserial-mega.hex -U lock:w:0xCF:m avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf" Using Port                   : com4 Using Programmer             : avrisp 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  Max W   ReadBack --- - -  -- --  -- - --- -- -           eeprom        65    10     8    0 no       4096    8      0  9000  90 00 0x00 0x00 flash        65    10   256    0 yes    262144  256   1024  4500  45 00 0x00 0x00 lfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 hfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 efuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 lock          0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 calibration   0     0     0    0 no          1    0      0     0    0    0x00 0x00 signature     0     0     0    0 no          3    0      0     00       0x00 0x00 Programmer Type : STK500 Description    : Atmel AVR ISP 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.13s avrdude: Device signature = 0x1e9801 avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: current erase-rewrite cycle count is 1191250039 (if being tracked) avrdude: erasing chip avrdude: reading input file "Arduino-usbserial-mega.hex" avrdude: input file Arduino-usbserial-mega.hex auto detected as raw binary avrdude: writing flash (65096 bytes): Writing | ################################################## | 100% 63.13s avrdude: 65096 bytes of flash written avrdude: verifying flash memory against Arduino-usbserial-mega.hex: avrdude: load data flash data from input file Arduino-usbserial-mega.hex: avrdude: input file Arduino-usbserial-mega.hex auto detected as raw binary avrdude: input file Arduino-usbserial-mega.hex contains 65096 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 55.05s avrdude: verifying ... avrdude: 65096 bytes of flash verified avrdude: reading input file "0xCF" avrdude: writing lock (1 bytes): Writing |                                                   | 0% 0.00s ***failed; Writing | ################################################## | 100% 0.36s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0xCF: avrdude: load data lock data from input file 0xCF: avrdude: input file 0xCF contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.03s avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0000 0xcf != 0x0f avrdude: verification error; content mismatch avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: safemode: Fuses OK avrdude done. Thank you.

I tried again, to see if the verification error would be fixed; nope.

Changed the baudrate on the \arduino-0022\hardware\tools\avr\etc\avrdude.conf and \WinAVR-20100110\bin\avrdude.conf files.

programmer id   = "avrisp"; desc = "Atmel AVR ISP"; type = stk500; baudrate = 19200;   # default is 115200 ;

Didnt work.

Tried to upload blink. Compiled in Arduino IDE. Output was in \Local Settings\Temp\build###########.tmp Copied to desktop.

> avrdude -p m2560 -P com4 -c avrisp -b 19200 -v -e -U flash:w:Blink.cpp.hex -U lock:w:0xCF:m avrdude: Verification error.

Maybe I need to upload the bootloader again? \arduino-0022\hardware\arduino\bootloaders\stk500v2

> avrdude -p m2560 -P com4 -c avrisp -b 19200 -v -e -U flash:w:stk500boot_v2_mega2560.hex -U lock:w:0xCF:m avrdude: verification error

The output was:

> avrdude -p m2560 -P com4 -c avrisp -b 19200 -v -e -U flash:w:Blink.cpp.hex -U lock:w:0xCF:m

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"

Using Port                   : com4 Using Programmer             : avrisp 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  Max W  ReadBack --- - -  -- --  -- - --- -- -           eeprom        65    10     8    0 no       4096    8      0  9000  90 00 0x00 0x00 flash        65    10   256    0 yes    262144  256   1024  4500  45 00 0x00 0x00 lfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 hfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 efuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 lock          0     0     0    0 no          1    0      0  9000  90 00 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 AVR ISP 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.11s

avrdude: Device signature = 0x1e9801 avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: current erase-rewrite cycle count is 1191250039 (if being tracked) avrdude: erasing chip avrdude: reading input file "Blink.cpp.hex" avrdude: input file Blink.cpp.hex auto detected as Intel Hex avrdude: writing flash (1588 bytes):

Writing | ################################################## | 100% 1.56s

avrdude: 1588 bytes of flash written avrdude: verifying flash memory against Blink.cpp.hex: avrdude: load data flash data from input file Blink.cpp.hex: avrdude: input file Blink.cpp.hex auto detected as Intel Hex avrdude: input file Blink.cpp.hex contains 1588 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 1.38s

avrdude: verifying ... avrdude: 1588 bytes of flash verified avrdude: reading input file "0xCF" avrdude: writing lock (1 bytes):

Writing |                                                   | 0% 0.00s ***faile d; Writing | ################################################## | 100% 0.33s

avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0xCF: avrdude: load data lock data from input file 0xCF: avrdude: input file 0xCF contains 1 bytes avrdude: reading on-chip lock data:

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

avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0000 0xcf != 0x0f avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: safemode: Fuses OK

avrdude done. Thank you.

> avrdude -p m2560 -P com4 -c avrisp -b 19200 -v -e -U flash:w:stk500boot_v2_mega2560.hex -U lock:w:0xCF:m

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"

Using Port                   : com4 Using Programmer             : avrisp 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  Max W  ReadBack --- - -  -- --  -- - --- -- -           eeprom        65    10     8    0 no       4096    8      0  9000  90 00 0x00 0x00 flash        65    10   256    0 yes    262144  256   1024  4500  45 00 0x00 0x00 lfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 hfuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 efuse         0     0     0    0 no          1    0      0  9000  90 00 0x00 0x00 lock          0     0     0    0 no          1    0      0  9000  90 00 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 AVR ISP 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.14s

avrdude: Device signature = 0x1e9801 avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: current erase-rewrite cycle count is 1191250039 (if being tracked) avrdude: erasing chip avrdude: reading input file "stk500boot_v2_mega2560.hex" avrdude: input file stk500boot_v2_mega2560.hex auto detected as Intel Hex avrdude: writing flash (262106 bytes):

Writing | ################################################## | 100% 7.91s

avrdude: 262106 bytes of flash written avrdude: verifying flash memory against stk500boot_v2_mega2560.hex: avrdude: load data flash data from input file stk500boot_v2_mega2560.hex: avrdude: input file stk500boot_v2_mega2560.hex auto detected as Intel Hex avrdude: input file stk500boot_v2_mega2560.hex contains 262106 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 219.19s

avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x1e000 0xff != 0x0d avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as FF avrdude: safemode: hfuse reads as D0 avrdude: safemode: efuse reads as FD avrdude: safemode: Fuses OK

avrdude done. Thank you.

Programming directly with the ISP headers, adding an ISP header for the 8u2

Comments on using avrdude with the 8u2

Using ISP to program 8u2 directly

TinyISP working with windows 7