Bootload any arduino variant in 3 simple steps.
Step 1: Methods to Bootload an Arduino Uno:
The links given above are few methods using which you can bootload an arduino.
Almost all the methods that are shown above uses a master arduino to bootload a slave arduino (i.e) it uses arduino as isp to bootload another arduino.
Method discussed below is one of the easiest way to bootload or fix an arduino.
Step 2: Files and Components Required:
Download the avrdude application from the given link:
Download the given hex files,these are the hex files of arduino uno bootloader.The hex files required for bootloading arduino can be found in the location where the arduino IDE is installed. mine is "C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\"
1) any USBASP programmer
2) F-F jumper wires
Step 3: Connections:
Connect the pins from USB programmer to the icsp pins of arduino
USB -> ARDUINO
Step 4: Procedure:
1.connect the USBasp programmer to your computer and open avrdude.
2.Select USBasp from the programmer drop down list.
3. Click detect button, the IC used in arduino should be auto detected and displayed.
4. Once detected, choose the hex file that matches your arduino variant. hex files of bootloader can be found in the installed location of arduino IDE (C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\)
5. Now click program button. once done, you are ready to go.
Now you have successfully bootloaded your arduino.
Step 5: Incase COM Port Not Detected:
The Uno differs from all preceding boards in that it does not use the
FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.
If you have any problem in atmega16u2, then your arduino uno will not be detected by the computer and the com port will be empty in the arduino IDE. To fix this, follow the same procedure and flash the hex file provided for the atmega16u2.
Connections and procedure is same as above, but in this case use the icsp pins that is located near the Atmega16u2 chip.