Intro: The Easiest Way to Burn Bootloader Into Atmega328P-PU
Atmega328P-PU can be used to replace the burnt atmega328 on Arduino UNO or build one simple standalone Arduino. Here I would like to share the easiest ways to burn bootloader with you and hope it can help you.
Step 1: Materials Preparing
The following 3 materials is needed:
1. Crowduino With ATMega 328 V1.1 This Crowduino is Arduino Compatible. The most interesting of this board can be programming wireless with Xbee. If you have a Arduino board already, this is not needed.
2. AVR ISP Shield V1.1 It is very easy to use, you don’t need a breadboard and a whole mess of jumper wires. This board makes you load the bootloader to the atmega328P-PU very easy.
3. ATmega328P-PU DIP Chip This chip is pre-loaded with the Arduino Optiboot (Uno 16MHz) Bootloader. If you purchased at the atmel office supplier, it doesn't have bootloader.
Step 2: Plug AVR ISP Shield
Plug AVR ISP Shield onto the Arduino/Crowduino. Connect the board to PC using USB cable.
Step 3: Open the Firmware
Open the ArduinoISP firmware (in Examples) in the Arduino IDE（File>examples>ArduinoISP）
Step 4: Select the Items
Select the items in the Tools > Board and Serial Port menus that correspond to the board you are using as the programmer (not the board being programmed).
Step 5: Upload the ArduinoISP Sketch
You need to upload the ArduinoISP sketch as the picture shown.
Step 6: Plug the Atmega328P-PU
Plug the atmega328P-PU IC into the IC holder of the AVR ISP shield. Please be careful about the direction of the atmega328.
Step 7: Select the Item in the Tools
Select the item in the Tools > Board menu that corresponds to the board on which you want to burn the bootloader (not the board that you're using as the programmer).
Step 8: Use the Burn Bootloader > Arduino As ISP Command.
Step 9: Note the LED on AVR ISP Shield
When burning the boot loader, you will see the LED(PROG) on AVR ISP Shield is blinking, and it will put out when complete the burn.
Now, you can burn bootloader into more Chips from step 6 to step 9. For more details or you want to burn bootloader to other arduino boards, you can also have a look at this wiki page.
Eric Brouwer made it!