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.
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
220 ohm resistor
10 Kohm resistor
Pref Board (General Purpose PCB)
Soldering Kit (Iron, Flux,Solder)
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.
- 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!.
H S Sandesh Hegde
Participated in the
Microcontroller Contest 2017