Go Down

Topic: Using ArduinoISP mode to program most Atmels Was:Help 328p stuck running in 8mhz (Read 1 time) previous topic - next topic


Hi all,
I have followed the http://arduino.cc/en/Tutorial/ArduinoToBreadboard and http://arduino.cc/en/Tutorial/ArduinoISP  with 1.0.
I programmed one blank 328p with a bootloader using my arduino as an ISP with no problems at all, but the second chip I put on the breadboard and programmed is stuck in 8mhz mode ( I uploaded the blink and it slow flashing the LED ).
I have placed the problem chip in the arduino and flashed the HEX file from hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex
to it by ArduinoUploader (avrdudde), but the problem remains. I know it may be the fuses, but what are the correct ones for a Duemillanove w/FTDI and how to set them without an AVR Programmer ( I have no parallel port )? I have tried numerous times to reflash the problem chip on a breadboard with an external 16Mhz crystal, but it fails. I can only flash it when I remove the crystal and capacitors, but it is running again at 8Mhz.


P.S. I just was able to run avrdude from command prompt:

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


Ok, Solved my own problem.
Here it goes:
Download AVRDudeGUI and set it up like below. Upload  the ArduinoISP sketch to your arduino and connect the breadboarded blank Atmel328p like in the http://arduino.cc/en/Tutorial/ArduinoToBreadboard or http://arduino.cc/en/Tutorial/ArduinoISP . Now comes the fun part! Erase Chip. Read/write the fuses, read the lock. If you need to upload the bootloader use the "Flash" section to select a HEX file and use the Erase-Write-Verify. I indeed had the wrong fuses setup and the correct ones are in the image.

Thanks for looking and maybe this can go in the Wiki.


Go Up