This may be an odd question but I only have and arduino uno and I don't want to buy another chip or arduino board. I want to burn the "Atmega328 on a breadboard(internal 8Mhz clock)" to my atmega328 that came with the arduino uno. Can I burn this bootloader onto the chip while it is in my uno boad without it harming itself? This might be a little hard to follow my thought proccess, so sorry in advance. Ask if need clarification.
Do you have a programmer for the ICSP header, or do you want to use the Arduino Uno as programmer (ArduinoISP).
The breadboard ATmega328P can be placed in the Uno and you can use a programmer and burn the bootloader via the ICSP header.
You can't burn a bootloader onto your other chips simply by putting them into the socket in the Uno.
You have to use the Uno acting as a programmer device to program your new chip.
i.e To burn a bootloader you have to upload a special sketch into the Uno which it then runs, so that it acts as a programmer.
okay just wondering thanks
Right now I have a project that I need to run on 3.3v. I dont care what speed, it could be internal 8mhz and that would be fine. I just want to program the chip using the avr isp and my uno board. is there a way I can do this ? I only have the arduino uno and the atmega that came with it. I recently found out that I cant run an atmega328 at 3.3v at 16Mhz. So I just want to get rid of the crystal in my circuit and use the internal clock but my feeling is that I can only do this by burning a new bootloader which I cant do without anything external, correct?
You need a clock to burn a bootloader. So if the clock is set to external, you need a crystal to be able to set the fuses to internal clock and burn the bootloader. There are alternatives to the ArduinoISP that supply a clock on one of the Uno pins ("...8 MHz clock on pin D9...") :) http://www.gammon.com.au/bootloader That alternative is also able to create a ATmega328P with 8MHz internal clock.
The bootloader is made for a certain speed (8MHz or 16MHz), but the bootloader once in the chip doesn't care if the clock is internal or external or the voltage is 3.3V or 5V.
Some people run a Arduino with crystal of 16MHz at 3.3V. But according to the datasheet, that is not within the specifications. You butter run a 3.3V ATmega328P at 8MHz.