ATMEGAP-PU bootloader

Hello arduinofolks! I'm trying to burn a bootloader to an atmega328p-pu(yes it says p-pu on the chip) via an arduino uno as ISP. ISP sketch loads perfectly to the arduino. Then I hook up the atmega like the minimum config. In the arduino tutorial. BUT I keep the arduinos original atmega on the arduino uno and I don't have a crystal so I skip that. I try to burn bootloader with arduino software 1.0.1 with both arduino uno and "ATmega328 on a breadboard (8 MHz internal clock)" checked in the boardmenu. I then try the newest arduino software and do the same thing but just gets the error message saying:

"avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check." I then try to change signature in case it happened to be an atmega-pu but it didn't work. What to do? Thanks for the help!

Dude, your post is not very clear, please go slowly and repost, but here are some comments.

The -PU suffix simply designates a DIP package, like the socketed 28 pin on the Uno. A 328P is a 328P regardless of the package. There is also a plain 328, which would be labeled 328-PU for the DIP socket.

If you don't have a crystal, you must change the fuses.

Post the detailed error to show the signature it reports.

You have to have a crystal. [edit] Read this tutorial by Nick Gammon: You might need a crystal for the target chip before you can even change the fuses.

From Gammon's tutorial:

[As an alternative to a crystal or resonator, the revised version of the sketch outputs a 8 MHz clock on pin D9 of the programming board. Thus you just need to connect D9 on the programming board to pin 9 of the target board and this will provide a clock signal, enough for you to upload the bootloader and change the fuses./quote]

Thanks for your replies! And I'm sorry for the unclear post I'll try to clearify it. 1, I have an atmega328p-pu and the seller didn't say if a bootloader was burned or not. 2. So I want to burn a bootloader to the atmega with arduino as ISP. 3.I upload the ISP sketch to my arduino UNO, no problems. 4. I connect my UNO and the atmega like this but leave the original unos atmega on the arduino. 5. I try to burn the bootloader in two different arduino IDEs(1.0.1 and the newest one) with both the boardoption "Arduino uno" and "ATmega328 on a breadboard (8 MHz internal clock)" 6. In both cases I get this error:

avrdude: Yikes!  Invalid device signature.
       Double check connections and try again, or use -F to override
       this check.
  1. I read that if it's a plain atmega328 you have to change the signature arduino expects from the atmega, I try that, doesn't work.
  2. Okay I need a crystal, is there a workaround if you don't have one? As you mentioned Pegwatcher, D9 from my arduino to pin9 on the atmega? Thanks once again, you guys rock!

Yes, you seem to have a handle on it. BUT you must use the revised version of the programmer sketch (Atmega_Board_Programmer) that you will find a link to on Gammon’s site. This revised sketch puts out that 8 MHz clock on pin 9. Just follow Gammon’s instructions. It works!

I beg your pardon, Archelon, that piece of code is already in the Atmega_Board_Programmer that comes with the IDE. At least, it is in the sketch that came with my IDE 1.0.6 I didn't realize that. So you should already have that 8 MHz clock output available. The relevant code snippet in setup(): // set up Timer 1 TCCR1A = _BV (COM1A0); // toggle OC1A on Compare Match TCCR1B = _BV(WGM12) | _BV(CS10); // CTC, no prescaling OCR1A = 0; // output every cycle

Gave the atmega the 8Mhz signal from the arduino according to gammons tutorial and everything went fine! Thanks for the help guys! You know these things ;) Forward towards other solutions!