Arduino Uno: Byte mismatch

Hello everyone,

I recently (two days ago) purchased my first Arduino Uno board, my objective being to recreate this (http://mrbook.org/blog/category/arduino/) mod. I installed the drivers to my laptop, which runs Ubuntu 10.04, and succesfully uploaded the code related to the project to the Arduino board. Imagine my joy when the Arduino was able to make a LED blink upon MIDI-in! Later while working on the rest of the circuitry I might have made a mistake and the Arduino stopped making the LED blink. Imagine my dissapointment! I tried re-uploading the code, but this time it returned an error:

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

After searching for solutions online, I decided to try to rewrite the bootloader, which in turn returned another, similar, error:

***failed;  
avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x00
avrdude: verification error; content mismatch

I realize that posting to the forum is one of the last avenues of help I should go down, but all the relevant posts I found had either no response, or advise to rewrite the bootloader with another board. This is something that I cannot do due to my only having one board. Common questions asked in other relevant topics are:

Are there cables attached to port 0..n? No, I have removed all cables.
Have you selected the correct board? Yes, I have selected the Arduino Uno, which is what I have.
Is the chip the right way in? Yes, I assume so since it was working earlier, and I bought this board pre-made, so why shouldn't it be?

I can post the verbose output if necessary.

Any advice or ideas would be greatly appreciated. Thanks in advance.

Edit: I forgot to mention that the RX/TX LEDs do light up when attempting to upload the code.

Edit 2: Another thing I should mention, is that I did try to reset my Arduino board and immediately attempt to upload the code, but to no avail.

Perform a "loop-back test" to ensure the serial port part of the board is working.

How do you do a loop-back test if you cannot upload a sketch?

Is there a built in monitor? I realize that MEGA2560 boards with the new bootloader/monitor might have that option...

Maybe you should try to compile and upload a simple sketch and post the actual error code here if that does not work.

I am not sure what you are trying to upload -- the blink sketch or a large program...???

Hi, Thanks for responding, sorry about the late reaction, but today was the first chance I got to continue working on my project. What exactly do you mean by a monitor? The chip I have is the standard Arduino UNO. Is it possible the ATmega328 chip needs to be replaced?

When trying to upload the blink sketch I receive the verbose error I attached.

error.txt (25.1 KB)

I decided to try to rewrite the bootloader

In order to burn the bootloader, you must use an in-circuit serial programmer (an ICSP or ISP or programmer). What did you use for an in-circuit serial programmer?

I thought I could just burn the bootloader using the sketch upload tool, through tools > burn bootloader > w/ AVR ISP. Is that incorrect? Sorry if I am being slow about this, but as I mentioned in my opening post, I've only been working with the Arduino for a week now. I guess if that is not the case then I should buy an ICSP or ISP programmer to re-write the bootloader on the ATmega328?

guanothan:
I thought I could just burn the bootloader using the sketch upload tool, through tools > burn bootloader > w/ AVR ISP.

Nope.

Is that incorrect?

Yes. That is incorrect. To burn a bootloader you need something that acts as an "in-circuit serial programmer".

I guess if that is not the case then I should buy an ICSP or ISP programmer to re-write the bootloader on the ATmega328?

You have not yet reached that point. Unfortunately, the symptoms indicate that the processor (the ATmega328P) has been damaged. You need to perform some troubleshooting to determine what is wrong and then you can decide how you want to proceed.

Start with a "loop-back test" (aka loopback test). This determines if the USB / serial port part of the board is working.