Make Your Own Arduino | ArduinoISP| Learn to Burn Boot Loader Into ATmega328P-PU (UPDATE)




Intro: Make Your Own Arduino | ArduinoISP| Learn to Burn Boot Loader Into ATmega328P-PU (UPDATE)


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.


In the update i have added steps to make PCB of ATmega328P which resembles Arduino.

You can watch my video for better understanding of the steps to make your Homemade Arduino.

Lets Begin!!!!

Step 1: Materials Required

The list of Components required for building your own arduino on breadboard is given below

Arduino UNO (or any compatible board)


28 Pin DIP IC holder socket

16 MHz Crystal

47 uF Capacitor

22 pF Capacitor x2

100ohm+10ohm = 110ohm Resistors

Bread Board

Connector Wires


220 ohm resistor

10 Kohm resistor

Pref Board (General Purpose PCB)

Soldering Kit (Iron, Flux,Solder)

Terminal Strip

Step 2: Upload the ArduinoISP Sketch

Before we proceed make sure you have ATmega328P-PU and Not 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

2) In Examples open ArduinoISPSketch. 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 to Arduino UNO

Step 3: Make Circuit 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.

Making the Circuit

1) Make the circuit connections on breadboard as shown in the above diagram.

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

3) 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

5) 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 and your new AVR Micro Controller is ready to be used as standalone device for your projects.

Step 4: Test the New Microcontroller

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 Arduino Sketch to New MC.

#Transfer the MC to required Application.

Upload the Blink program to New MC IC. Follow the steps below.

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: Making the Arduino PCB

In the previous we have successfully made an Arduino on breadboard. But we cannot keep rigging up the circuit on breadboard every time whenever required.

So I decided to make a PCB to make permanent connections for Homemade Arduino.

Follow the Steps below to make the PCB

1) Refer the circuit diagram and make the circuit connections on General Purpose PCB(Pref Board).

2) Solder all the components and make sure you add an IC holder because we will have to remove the IC Repeatedly for programming it.

3) Solder the Female Header Pins for external connections. Refer to the pin diagram and circuit diagram for Arduino pin out for ATmega328p.

4) Up to 15 volt can be applied to the regulator 7805 or 5V supply can be used for Micro Controller.

Step 6: Conclusion and Few Notes.

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


1) Check your Circuit connections and components (mainly Crystal) if burning Boot loader does not work.

2) Make sure you are using ATmega328P-PU and not ATmega328-PU.

3) Check the USB Cable.

4) If the Micro Controller is heating up when powered probably you have a faulty IC.


  • costeffective
  • Easy to use
  • Compact circuit
  • Low Power Consumption
  • Flexibility in PCB Layout designing and requires any Shields for Arduino.


  • Cannot be used for projects where serial communication is required between several modules.
  • This is because USB to Serial Converter is not used here.

The link for the Eagle Software to open schematic files

If You come across any doubts please feel free to leave me a message about the issue in the comments section.

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

Thanks a lot for reading and Hope this helps!.

_The Technocrat

H S Sandesh Hegde

2 People Made This Project!


  • Metalworking Contest

    Metalworking Contest
  • Fix It! Contest

    Fix It! Contest
  • Audio Contest 2018

    Audio Contest 2018

21 Discussions


5 months ago

I used all your setup but not able to burn bootloader,

error message appear like this:

avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

please help..

thank you.

sunita patil

Question 7 months ago

Hello sir i want to connect an ultrasonic n lcd display to an standalone homemade arduino board but i am not getting the output it is working only for an blinking led . so please if you send me the details or circuit diagram it will bw good for me. this is my email . Thank you in advance..


1 year ago

hello Sir

can you give me pcb layout on email id

thank you sir


1 year ago

this is awesome !! very helpfull for my projects, but i still confuse how to upload the new sketch/source code to a homemade arduino ?? pls explain that :( thanks so much

3 replies

Reply 1 year ago

To program the new home made arduino, place the new microcontroller chip in your original Arduino and upload the sketch as usual. Later you can use that new chip anywhere in your projects. Further help leave me a comment .



Reply 1 year ago

do you use 7805 as regulator ? if yes what voltage can i use for the input?

cause i try to give 9V for input and the output blinking, i dont know whats wrong, can you give me teh schemaatic? thx for all your help :)


Reply 1 year ago

Yes I have used 5v regulator 7805 . U can use input voltage anywhere between 7.5v to 18v.
For the schematic please refer step 5 .. I have uploaded the breadboard schematic.



1 year ago

Thanks sir, your project is good and I ordered some parts but can i put reset button in this project? Because similar projects using atmega168 dip 28 he added reset button with resister. So confirm that it should be ok for this project?

1 reply

Reply 1 year ago

You are welcome sir!
You can add reset button connnet to pin 1 and ground.. and the pull up resistor to pin 1 and vcc.


1 year ago

Hello sir, can I work with NRF24L01 in this arduino board? I am unexperienced so please help me.

1 reply

Reply 1 year ago

Yes you can connect external sensor and modules to this Arduino..
But you cannot connect this to your computer directly... As there is no usb to serial converter (rs232) .


1 year ago

Do not connect AREF to Vcc. It serves no useful purpose.

3 replies

Reply 1 year ago

If you want to use analogReference() function Aref should be connected to reference voltage(0-5v) . It is recommended to use atleast one analogRead() if u use analogRefrence()


Reply 1 year ago

No, have you actually read the datasheet?

Connecting to a normal, non-precision external reference voltage that's the same as your Vcc serves absolutely no purpose.

If you had a separate, calibrated 5V from a precision source it would make sense to feed that into AREF but feeding Vcc in is going to get you the exact same reference as using the internal.


Reply 1 year ago

Hi David! you are right . I built the circuit with some misconsuption. However there is no faults in working.
Thanks a lot for correcting me.


1 year ago

Thanks for the Instructable. I've read elsewhere that instead of wiring the UNO to the new build, you can just swap chips to burn the bootloader and to program the chip. True? On my to-do list is building one of these with a 4 MHz crystal so it can be run on 1.8v.

2 replies

Reply 1 year ago

You r welcome.!! U can burn bootloader by just swapping the ic But make sure TX and RX pins are not connected to anything .
Sorry I am not sure about 4MHz crystal.
Thanks !!


Reply 1 year ago

Yes it is possible however the legs of the chip are very weak. Its worth it to wire it up seperatly , since youll need to do that to use it anyway.