Instructables

Burning the Bootloader on ATMega328 using Arduino UNO as ISP

Featured
Picture of Burning the Bootloader on ATMega328 using Arduino UNO as ISP
DSC_0007.jpg
ChipPU.png
UPDATE: This tutorial will work on Arduino IDE 1.0.1, the recent 1.0.5 makes some changes on the ISP sketch so I'm not sure if it will work (I just bought 2 ATMega328 and burned both on 1.0.1).

Please use 1.0.1 to eliminate any problems. Click Here


I had one remote controlled project that needed an Arduino running 24/7 but I didn’t want to leave my $32 Arduino UNO, so I decided to buy some pieces and created my own Arduino. The most important part was buying the microcontroller. These were my options:

ATMega328P-PU with Optiboot ~ $5.50 (Sparkfun) / $5.19 (Digikey)
ATMega328P-PU ~ $3.16 (Digikey)
ATMega328-PU ~ $2.88 (Digikey)

Obviously I bought the cheaper one, huge mistake. After some research I found that my first option was the straight one. Just plug it as a normal Arduino, the last two needed something else.

The last two options were missing something called a bootloader. A bootloader is “a small program that has been loaded on to the microcontroller. It allows you to upload code without using any additional hardware.”

So first if you were to do anything on those microcontrollers you need a bootloader burned on those chips. As you may have notice, the difference between the second and the third is just a mere P after the 328. This P means pico for picopower which is a technology ATMEL has developed that allows the microcontroller to run with less power.

Well if you see the microcontroller on your Arduino UNO you will find out that it is using the picopower micro, not the normal one. I bought 3 normal ones. OMG then I’m totally screw. Well no, you just have to make a pair of changes on your Arduino files to make it work. 

This tutorial will teach you how. 


 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials
DSC_0018.jpg
We will need the following materials:

1 USB cable to connect PC-Arduino
1 Arduino UNO (I’m using R1)
1 ATMega328-PU 
1 Small breadboard
1 16Mhz Crystal (mine had 20pF of capacitance)
2 22pFCeramic Capacitors

... And some jumper wires


1-40 of 71Next »
ramasree11 year ago
sir i didn't find the arduino328 as you have given instructions (step 5) from tools>board ...
can u help me, am using the latest version of arduino 1.0.1
I had the same problem then I happened to go through the process again without the Arduino connected to the computer and arduino328 was at the top of the list. I am still getting the "invalid device signature" error when I try to burn. It says I can over ride this check using -F but I do not understand how to do this.

I cant find 328 from boards menu as it doesn't open. I know you had this problem over a year ago, but can you walk me through the process, like when do you disconnect the arduino and 328 comes on list. It's urgent Sir..

alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
alishah73022 hours ago

I have done every thing but it shows invalid device signature. screenshot is attached. plz help me to burn atmega328p using the UNO board.

bootloader.jpg
lizcue5 days ago

Where are the attachments?

jannetta made it!24 days ago

Mine worked perfectly!

20141002_115157.jpg

Where did you find the attachments??

Where can I find the two files which are attached (avrdude.config and boards.txt) ?

I can't find them.

Maybe anybody mentioned this before but I will write again. I had to change MISO -MOSI pins to burn bootloader. I use MISO=12 , MOSI=11. If anybody can't burn, try this pin numbers. I use ARDUINO UNO as a bootloader, and 328P (smd)

Thank you for this sharing. It saved my day!

asdf

im using arduino 1.0.5 (i know u said its better to use 1.0.1)and im getting the error:"use -F to override this check" .... what does it mean and how to solve it ?

computeras21 month ago

it works with atmega 324 ????

kaledawit1 year ago
Hello
I need to burn the Atmega328p-pu with arduino uno r3, and arduino 1.0.5 IDE or 1.0.1 When i try to upload the Arduino ISP sketch, Error happen this is

avrdude: stk500_getsync(): not in sync: resp=0x00
please help me I follow the instruction in the above and other fourm

my email kaledawitesmelealembd(at)gmail,com

maybe you connect wrong the voltage or your chip broken

did u get any solution..??

computeras21 month ago

THANKS A LOT!!!!!!!!!!!! YOU SAVE ME !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

fmfootball382 months ago

Excellent! I guess I made the same mistake as you in buying without the p! This instructable is just what I needed! I assume that when you move the newly burned micro to its final resting place you need to bring the crystal and capacitors with it, right?

TAPAN MOJIDRA2 months ago

Hello

I need to burn bootloader to the P89v51rd2 (8051) microcontroller i have hex file and arduino if i use arduino board and same configuration as in this circuit as MOSI, MISO, SCK to the 8051 but what should be the crystal frequency ?
please reply me

mario87054 months ago

Thank you! Now i've two Arduino!

adityapvarma6 months ago

Thank you!!

Worked Perfectly..!!!

adityapvarma6 months ago
adityapvarma6 months ago
rohinrohin1 year ago
Hey! First of all, Brilliant Tut! :D Llove it..
So, does this work on the ATmega328p-pu also?
i just need to follow the same steps? as i had bought thep-pu and didn't know to burn it!
any help would be appreciated! :D
Thank you!

Yes it works on ATmega328p-pu also but you have to choose arduino uno as board. I tried and confirmed.

Thanks, that was quick lol xD

hahaha,, after 1 year at last!!! well very nice instructions .

EvrttGrn1 year ago
Andrut1291 - If you're still trying to figure it out, I used this tutorial using my uno r3 and Atmega328p-pu. "http://arduino.cc/en/Tutorial/ArduinoToBreadboard"

Manu08 - Thank you for posting this even though it didn't work for me.
KalkiV EvrttGrn8 months ago

Thanks EvrttGrn ;-)

Arpan21038 months ago

it is not working..

it shows an error..

avrdude: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

this check.

1-40 of 71Next »