I built an Arduino using the atmega 168 chip whose design is based on the standard Arduino. After some diffuculty with drivers and USB cords, we eventually got our blinking LED to work.
Unfortunately, after the inital uploading of the program, we are unable to modify, compile, and reupload the program once again. We are getting the standard error message of:
avrdude: stk500_getsync(): not in sync: resp=0x80
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x80
We can reprogram the board, but it requires us to re-burn the AVRISP mkII bootloader, after which lets us upload one program(because the memory gets cleared, I would presume).
We are currently on a Vista operating system, going to try XP tomorrow, but I thought I would ask for advice.
Have you added the automatic reset circuit or are you relying on having to press the reset button between you pressing the up load button and it starting to try and down load.
If the latter the timing of this can be a bit tricky and you might have to try it a few times to get it right.
Thanks for the reply. We added in a manual reset button. Generally, the blinking light program would begin running after 2 seconds maximum of a reset, and the Load button was pressed immediately after the reset button. We were under the impression that the intact program would not run while our computer was communicating and uploading a new program.
In some of our text programs, I suppose we could try increasing the upload speed, which is set manually in the code.
We are burning the bootloader using the standard Arduino program. We will look into the link and the automatic reset circuit. Thanks.
Edit: Let me be more clear.
In the Arduino program, to burn the bootloader, we go to Tools-->Burn Bootloader--> w/ AVRISP mkII
After that is burned, we go Sketch-->Verify/Compile to compile the program, then we go to File--> Upload to I/O Board to load the program.
When attempting to reburn the prorgram, we do the Sketch-->Verify/Compile if needed, then press our reset button on our circuit, and immediately do File-->Upload to I/O Board. After 1-2 seconds of the reset, our previous blinking light begins blinking.
It is important to note, in my opinion, that it takes more than 1-2 seconds to upload the program.
Without auto-reset, I have found that it is very difficult to use the auto-reset bootloader trying to manually reset. Try burning the bootloader of the Arduino NG or older with 168 and see if that helps. I think you may simply be missing the upload window.
Thanks for the tips everyone. We threw in a crude auto-reset circuit and it works fabulously now. Yes, my timing must have been off for the manual reset, or something. Thanks!