Introduction: ArduinoISP | Make Your Own Arduino| Learn to Burn Bootloader Onto ATmega328P-PU


In this Instructables we shall learn to use Arduino Uno Board as an AVR ISP( In-System Programmer).

This allows you to use the Arduino to burn Bootloader onto AVR like ATmega328P-PU or ATmega168.

This helps you to make your Arduino at home for very inexpensively and very easily. The Cost of your project can be reduced and the bulky circuit board of Arduino can be minimized because we are using the ATmega328P-PU chip as standalone device.

The circuit diagrams, bread board connections and download links are provided in the last step of this instructables.

You can watch my video for better understanding.

Lets Begin!!!!

Step 1: Materials Required

Very Few Components are required for this project. The list of Components are given below

  1. Arduino UNO (or any compatible board)
  2. ATmega328P-PU
  3. 16 MHz Crystal
  4. 47 uF Capacitor
  5. 22 pF Capacitor x2
  6. 100ohm+10ohm = 110ohm Resistors
  7. Bread Board
  8. Connector Wires
  9. LED
  10. 220 ohm resistor

Step 2: Upload the ArduinoISP Sketch

Before we proceed make sure you have ATmega328P-PU andNot ATmega328-PU. Because the device signature of both the Micro Controller chips are different. So this method of burning Boot loader will not Work for IC's With different device signature.

First step is to upload the ArduinoISP Sketch into Arduino UNO Board. Follow the instructions

  1. Open the Arduino IDE and in Examples open ArduinoISP Sketch. Path: File>Examples>ArduinoISP
  2. Connect the Arduino Uno board to USB of your PC.
  3. Select the appropriate Board(Ex: UNO) and COM Port( ex: COM6). Path: Tools>Board>Arduino UNO
  4. Upload the sketch

Step 3: Make Circuit Diagram to Burn Boot Loader Onto ATmega 328P-PU

You Can Skip this Step If your Micro Controller chip already has boot loader as stated by Manufacturer/supplier.

Make the circuit connections as shown in the above diagram.

The breadboard connections and also the schematic is given. you can follow whichever is comfortable for you.

I have attached the Eagle Schematic file and Fritzing file for more clarity of content.

Follow the steps to Burn Boot Loader onto new AVR( ATmega328P-PU)

  1. Connect the Arduino UNO to USB of your PC
  2. Select the appropriate Board and Com Port ( Try Arduino Duemilanove if UNO Doesn't work)
  3. In tools menu select ARDUINO AS ISP Programmer. Path: Tools>Programmer>Arduino As ISP
  4. Go to Tools and select Burn Boot Loader. Path Tools> Burn Boot Loader

This may take up to a minute and the message " Done Burning Boot Loader" will be displayed.

After this you can remove all the connecting wires and connections.

Congratulations!!! Your new AVR is ready to be used as standalone device for your projects.

Step 4: Upload the Blink Program and Test the MC on Breadboard.

This step is to verify the working of Micro Controller. We can test it by uploading the a simple Blink program to blink an LED connected to the Micro Controller.

#We need to first Upload the Arduinno Sketch to New MC.

#Transfer the MC to required Application.

To do this follow the Steps carefully.

  1. Remove the original Micro controller IC from the UNO Board.
  2. Place the New IC( ATmega328P-PU)on the Arduino Uno.
  3. Connect the Arduino to PC and Select Appropriate Board and COM Port.
  4. Change the programmer from 'Arduino As ISP' to 'AVRISP mkll'
  5. Upload the Blink sketch Available in the Examples. Path: File>Examples>Basics>Blink
  6. Remove the Micro Controller after uploading is done.

To test the MC on Breadboard as Standalone device_________

  1. Make the Circuit diagram as shown in the circuit diagram. The bread board connections are also shown.
  2. Use Arduino 5v point and GND as power supply for MC.(5V Regulated power supply can also be used)
  3. The Pin Mapping for the Arduino Is given. Make the circuit connections according to the Arduino mapped pins of ATmega328P-PU.

YES!! You have successfully made an Arduino On Breadboard and this can be used for your various projects.

Step 5: Conclusion and Few Notes.

You have successfully built an arduino on breadboard and this can be used for your various project

  1. You can connect a switch Across Pin1 And Ground to Reset the Micro Controller.
  2. Check your Circuit Diagram and components (mainly Crystal) if burning Boot loader does not work.
  3. Make sure you are using ATmega328P-PU.
  4. If you are doing this on PCB provide a IC Holder. This allows you to program the MC whenever required.

If you come across any doubts or errors please let me know in the comments section below. I will try my best to help you out.

You can use Eagle software to view the circuit diagram. Download Link__________

Fritzing download (to view Breadboard conections .fzz files)

If you make one like this please post the images of your make by pressing " I Made It! " Button near comments.

Thanks a lot for reading and Hope this helps!.

_The Technocrat

H S Sandesh Hegde

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017