Arduino Problem - Is it dead?

I upgraded my Arduino software to 22, however it appears to have possibly killed my Duemilanove (UNO's still work ok)

When I try to do something as simple as load blink using Shift + Upload I get this back...

Binary sketch size: 1018 bytes (of a 30720 byte maximum)
C:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/bin/avrdude -CC:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM5 -b57600 -D -Uflash:w:C:\Users\Dave\AppData\Local\Temp\build4572016024545087175.tmp\Blink.cpp.hex:i 

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "C:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/etc/avrdude.conf"

         Using Port            : \\.\COM5
         Using Programmer      : stk500v1
         Overriding Baud Rate  : 57600
avrdude: ser_open(): setting dtr
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: 
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: Send: Q [51]   [20] 
avrdude: Recv: 
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done.  Thank you.

Thinking I needed to reflash my chip I bought a USBTinyISP (http://www.dfrobot.com/index.php?route= ... uct_id=405)

Because I have Windows 7 x64 I used the DSEO option and F8 booted into Windows the correct way. I tried both drivers from here http://www.ladyada.net/make/usbtinyisp/download.html which installed correctly.

Using both drivers available from Ladyada Website (http://www.ladyada.net/make/usbtinyisp/download.html)

When doing Tools > Burn Bootloader > /w USBtinyISP within Arduino. (usbtinyisp_libusb-win32_1.2.1.0.zip) When doing Tools > Burn Bootloader > /w USBtinyISP within Arduino. (usbtinyisp w32 driver v1.12.zip)

I get the same message

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Just to reiterate I have selected the correct board from Tools > Board

I'm at my end, I have no idea what else to do, can anyone suggest anything please?

Thanks

BoKu

P.S. My FTDI chip doesnt get hot at all P.P.S If my crystal was broken how would I be able to tell?

Very unlikely that a software update would "break" and Arduino. Be absolutely sure you select the correct serial port (the different Arduinos would probably have different serial ports). Try the loopback test:

Wire a jumper between pin 0&1
Select the correct serial port on the Arduino menu
Open the serial monitor
Hold down the reset button while you type something and press send on the serial monitor
What you type should appear in the receive window

Ok just to confirm.

I shorted pins 0 and 1 (RX/TX) Help and kept held the reset button while in the serial monitor window I typed xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx and pressed send.

On the arduino both the TX and RX flashed briefly and the serial monitor window display the text I just typed.

Very unlikely that a software update would "break" and Arduino.

I would go further and say I can't see an mechanism where by that could happen.

That just tests the USB / serial chip, it shows you have the right comms port selected but doesn't say you have the correct board selected. Can you post the error messages you get back from the "broken" board.

OK, looking at the board it says Arduino Duemilanove, the chip says Atmel ATMEGA328P-PU.

In the Arduino IDE, I only have only 1 com port which appears whenever I plug in the Arduino and disappears when I remove unplug it. This com port has a tick next to it.

The IDE board selected says Arduino Duemilanove or Nano w/ ATmega328

Right now I am just trying to upload this sketch

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

My TX and RX blink for a split second four times and then I get this error message

Binary sketch size: 1018 bytes (of a 30720 byte maximum) avrdude: stk500_getsync(): not in sync: resp=0x30 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

If I press shift and then upload using the same sketch I get this error message (I still get the same 4 brief flashes of the TX and RX LED)

Binary sketch size: 1018 bytes (of a 30720 byte maximum) C:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/bin/avrdude -CC:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\.\COM5 -b57600 -D -Uflash:w:C:\Users\Dave\AppData\Local\Temp\build3181651999591619597.tmp\Blink.cpp.hex:i

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "C:\Users\Dave\Desktop\arduino-0022\hardware/tools/avr/etc/avrdude.conf"

Using Port : \.\COM5 Using Programmer : stk500v1 Overriding Baud Rate : 57600 avrdude: ser_open(): setting dtr avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Recv: avrdude: stk500_getsync(): not in sync: resp=0x30 avrdude: Send: Q [51] [20] avrdude: Recv: avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done. Thank you.

Is that what you are looking for Grumpy_Mike?

Hello Boku,

A have a standalone duemilanove on a breadboard. A few days ago, I was suddenly unable to upload the blin sketch. I got the same error message as you. see here: http://arduino.cc/forum/index.php/topic,65545.0.html I re-flashed the duemilanove bootloader and everything was back to normal. So, for some unknown reason, the bootloader had been corrupted.

Hi Jean-Marie,

I think I actually read that post from you in fact.

At the moment I’m stuck at trying to re-burn the boot loader using USBtinyISP (See attachment)

So, all I do now is reopen Arduino IDE and (verify the board is still the same one I chose before) there is nothing in the COM port. I have the drivers installed (see post 1) and now I get this message when using burn bootloader

avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Thanks, Yes that sounds like not having a bootloader. Why not use the UNO you have to load a new bootloader using the ArduinoISP sketch found under the examples menu? It works with a UNO despite what it says on the tutorial page. I used this the other day to put a boot loader into a 168 and a 644.

I am a bit lost because I've never used USBtinyISP.

It seems that you are not able to communicate with avrdude.

Reading your first post, I see you've intalled 2 drivers. But according to this page http://www.ladyada.net/make/usbtinyisp/download.html, you should install only this driver : http://www.ladyada.net/make/usbtinyisp/usbtinyisp_libusb-win32_1.2.1.0.zip

Perhaps you could try uninstall the USBtinyISP driver or drivers and re-install the one for Windows 7.

I have tried both at separate times, both with the same result.

However I have managed to get something different this time using WinAVR

C:\Users\Dave>avrdude -B 25 -c usbtiny -p m328p -t -F avrdude: initialization failed, rc=-1 avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATMEGA328P is 1E 95 0F

avrdude: Device signature = 0x000000

Looks like a broken / un powered / un clocked chip

I got yet even more information (I replaced the files from WinAVR with the ones from Arduino) and got this

C:\Users\Dave\Dropbox\ARDUINO BOOTLOADER>avrdude -B 25 -c usbtiny -p m328p -t -F -P COM5 -vvvv

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

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

Using Port : COM5 Using Programmer : usbtiny Setting bit clk period: 25.0 AVR Part : ATMEGA328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 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 5 4 0 no 1024 4 0 3600 36 00 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



flash 65 6 128 0 yes 32768 128 256 4500 45 00 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



lfuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



hfuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



efuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



lock 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack



signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : USBTINY Description : USBtiny simple USB programmer

avrdude: Setting SCK period to 25 usec CMD: [ac 53 00 00] [00 00 00 00] CMD: [ac 53 00 00] [00 00 00 00] avrdude: initialization failed, rc=-1 avrdude: AVR device initialized and ready to accept instructions

Reading | | 0% 0.00sCMD: [30 00 00 00] [00 00 00 00] CMD: [30 00 01 00] [00 00 00 00] Reading | ################# | 33% 0.02sCMD: [30 00 02 00] [00 00 00 00] Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATMEGA328P is 1E 95 0F CMD: [50 00 00 00] [00 00 00 00] avrdude: safemode read 1, lfuse value: 0 CMD: [50 00 00 00] [00 00 00 00] avrdude: safemode read 2, lfuse value: 0 CMD: [50 00 00 00] [00 00 00 00] avrdude: safemode read 3, lfuse value: 0 avrdude: safemode: lfuse reads as 0 CMD: [58 08 00 00] [00 00 00 00] avrdude: safemode read 1, hfuse value: 0 CMD: [58 08 00 00] [00 00 00 00] avrdude: safemode read 2, hfuse value: 0 CMD: [58 08 00 00] [00 00 00 00] avrdude: safemode read 3, hfuse value: 0 avrdude: safemode: hfuse reads as 0 CMD: [50 08 00 00] [00 00 00 00] avrdude: safemode read 1, efuse value: 0 CMD: [50 08 00 00] [00 00 00 00] avrdude: safemode read 2, efuse value: 0 CMD: [50 08 00 00] [00 00 00 00] avrdude: safemode read 3, efuse value: 0 avrdude: safemode: efuse reads as 0 avrdude>

It really looks like avrdude is unable to communicate with the atmega through USBtinyISP: no signature read, no fuses read.

I see in the error file that you use COM 5. Is it normal ? Do you already have 4 COM ports occupied ?

Is it the first time you use your USBtinyISP or you already managed to program your atmega before ?

I suppose you don't have any spare atmega ?

Sadly my new Uno hasn't come yet, from Sparkfun to Australia (its cheaper than buying local sometimes!)

I did have another Uno which I gave away which still works and used the same Arduino software etc, although that ran out of the box. I didn't have to avrdude it at all

Maybe I haven't connected my USBtinyISP to my Arduino correctly, I'm sure I read that I WASNT supposed to power my Arduino IF I was using the pin through the USBtiny.

Can anyone confirm?

Obviously, how to power up the arduino is very important.

I can't help you with this but it is probably explained in the documentation, or on the website. Adafruit has also a forum that could help wit it.

Using the usbtiny is very simple.

a) use a 'naked' arduino board, nothing connected. b) plug the 6pin header into the icsp port, red wire towards pin1 c) make sure you have shorted the jumper on the usbtiny to feed power to the arduino d) use avrdude:

avrdude -c usbtiny -p atmega328p -vvvvv

The green light on the usbtiny should be on as soon as you plug it into your computer. The red light should get on/flicker when you run avrdude.

Worst comes to worst, you can get a new atmega 328 with bootloader. about $5.

@madworm

Ok here goes, there is a lot of information to view, I wasnt aware of the 5th v, I’ve only seen 4 v’s before, so thanks for that :slight_smile:

smeezekitty:
Worst comes to worst, you can get a new atmega 328 with bootloader. about $5.

I may just end up doing that … but still, would like to know exactly where this one has gone wrong …

Too big to paste so its attached…

avrdude_log.txt (45.1 KB)

If the LEDs behaved as indicated before, the chip doesn't talk back. Either it is damaged, unpowered or doesn't respond due to messed up clocksource settings in the fuse bits.

If the red led didn't come on, avrdude can't talk to the usbtiny.