Introduction: Burning Sketch to Atmega328P-PU on a Breadboard Using Arduino Uno As Programmer

There already are several instructables on how to burn Arduino sketch to Atmega328P-PU on a breadboard using different USB - UART modules. However, as most such modules are made in China, they are poorly documented, wrongly labeled, strangely designed, some of them require the pressing of reset button at the right time, and some of them just DOA (Dead On Arrival). All these issues cause great headache for those who want to build a simplified Arduino.

As most people start their journey with Arduino from Arduino Uno, below is a quick summary of how to burn Arduino sketch to Atmega328P-PU on a breadboard using Arduino Uno as programmer.

Step 1: Wiring Diagram

Step 2: Setting Up Arduino Uno Board As Programmer

Please refer to the below post on how to setup Arduino Uno board as programmer.

Step 3: Preparing the Sketch to Be Written Into Atmega328P-PU on the Breadboard

We will be using the Blink sketch that comes with the Arduino IDE as the example for this post.

First, load the Blink sketch into Arduino IDE.

Step 4:

Second, select the board type for the Atmega328P-PU on the breadboard. Because the Atmega328P-PU is loaded with Arduino Uno bootloader (see the post, "Arduino Uno" is selected as the board type.

Step 5:

Third, select "Arduino as ISP" as the Arduino Uno board will be used as the programmer.

Step 6:

Fourth, select "Upload Using Programmer". This will compile and upload the sketch to the Atmega328P-PU on the breadboard.

Step 7:

Check the Text Console for any error message.

Step 8:

If all goes well, the LED attached to Pin 19 of Atmega328P-PU (Pin 13 of Arduino Uno) will start flashing immediately after the upload is completed.

Step 9: References