Uploading.... is my arduino dead?

Hi, i'm working with my mega arduino currently, for the first upload its ok after that it takes too long to upload and send an error message:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch

The light on the arduino still working fine but I can't get the code uploaded. Did my arduino dead?

Try clicking upload and then immediately press the reset button on the board.

sorry but still can't upload the code :frowning:

Make sure the correct board and serial port is selected, and that there is no serial monitor or serial software using the port.

yes i've already checked that

What was the last sketch you uploaded before it stopped working? Do/did you have anything connected to the Mega? If, so have you disconnected it before retrying?

the last code i uploaded is the button code which i check for button press then i print it to the serial. Now i disconnected all of the elements out of the arduino and upload a plain code to it, but still can't upload

Did you try to use pin 0 or pin 1 for digital I/O?

what you mean by that?

Post the sketch that you uploaded before things stopped working. Please use code tags.

   /*
  Button

 Turns on and off a light emitting diode(LED) connected to digital
 pin 13, when pressing a pushbutton attached to pin 2.


 The circuit:
 * LED attached from pin 13 to ground
 * pushbutton attached to pin 2 from +5V
 * 10K resistor attached to pin 2 from ground

 * Note: on most Arduinos there is already an LED on the board
 attached to pin 13.


 created 2005
 by DojoDave <http://www.0j0.org>
 modified 30 Aug 2011
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/Button
 */

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
  digitalWrite(buttonPin, HIGH);  
  Serial.begin(9600);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    Serial.println("press");
  } else {
    // turn LED off:
    Serial.println("no press");
  }
  delay(100);
}

Hmm. Well I'm sure by now you have restarted your PC and that hasn't made any difference (LOL, stranger things have happened).

Without trying to upload, when you press the reset button on the Mega does the amber light on it pulse for 5 seconds or so like it should normally do?