3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Turn Your Arduino Into an ISP

Turn Your Arduino Into an ISP
Learn how to turn your Arduino into an AVR In System Programmer. This will allow you to burn bootloaders onto new chips or program AVRs without a bootloader.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Materials

To begin you will need:
* Arduino (I will be using the Uno)
* AVR Microcontroller (This tutorial will cover the ATtiny85 & ATmega644)
* Arduino IDE
* Breadboard
* Jumpers
« Previous StepDownload PDFView All StepsNext Step »
28 comments
Apr 27, 2012. 10:45 PMslayer04 says:
Please help, this must be my 20th time trying to get this to work. I'm currently trying to use Arduino 1.0 I dowloaded the correct ATiny files, it burns the bootloader just fine but then when I go to upload the Blink sketch I get:

Problem uploading to Board.

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: stk500_cmd(): protocol error

I understand the first part can sometimes be ignored but I can assure you that the sketch isn't getting uploaded, any ideas?

Thank you very much for any help
Mar 16, 2012. 3:37 PMslayer04 says:
Nice instructible, but would you happen to know why my blink sketch runs about 5x faster when I upload it to the ATiny? I don't have any real errors, the sketch is set to delay 1000 like normal but it cycles about every .2 secs.
Apr 16, 2012. 5:21 PMskootles says:
It might be the clock speed of the ATtiny. Follow the instructions on this page to change the clock speed to 8MHz: http://hlt.media.mit.edu/?p=1695
Mar 19, 2012. 6:45 PMphenoptix says:
I found it easier to add the optional LEDs to the 7,8,9 pins for a error, programming and heartbeat LEDs (respectively) and leaving the LED on the breadboard off until the program successfully uploads. It just helped with debugging and understanding the circuit.
Feb 28, 2012. 1:38 PMAsaleemj says:
I want to use it for Controlling Home appliances through Bluetooth Mobile and please can any one send me complete code for this microcontroller and which tool will be used to assemble and depoly the code
Feb 20, 2012. 10:47 AMFoxtrot70 says:
I do not have an arduino board but, have breadboarded a 328 chip. I can burn bootloader to the 328 chip but can not get the ArduinoISP sketch to load to the 328. I do get an error msg... avrdude: stk500_getsync(): not in sync: resp-0x00 . I also have some programs I want to DL to the ATTiny85 but, can not until this problem is solved. Can you help me?
Mar 2, 2011. 3:58 PMMark3rr says:
Hi there,
I used your instruction to get a bootloader on an Atmega328p by using the Arduino uno with the Arduino Software release22 on a mac. But the only thing I get are some Error Codes like:

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12

I did it like shown here:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

But it doesn`t work......
Can you help me? :)
Feb 7, 2012. 10:59 PMjgrina says:
Version of Arduino IDE 0022 use tiny45-85.zip
Version Arduino IDE 1.0 use ATtiny.zip
mixing them up makes a mess
Dec 13, 2011. 4:07 PMdiy_bloke says:
So do i understand correctly yu do not have to load the ArduinoISP sketch? The Arduino programs the Attiny with the sketch that is uploaded to the Arduino? Is taht correct?
Dec 7, 2011. 9:11 PMgsuarda bluetour says:
is this means that i can program my AVR micro controller with the simple arduino code in C ?
Nov 20, 2011. 12:20 PMtechboy411 says:
Arduino ROCKS!!!!!!!!
Feb 3, 2011. 8:36 PMjayjay110 says:
Damn the title is misleading to me... i thought it said ISP as in Internet Service Provider, and i was like WOOOOAAAAA, then i was like.......................................................................................................................no
Oct 17, 2011. 8:46 AMRichardBronosky says:
I'm curious to know what the expectation of an Arduino Internet Service Provider would be. I was in the dial-up ISP business in 1995. So, my thoughts on what ISP means is different than most consumers.

Can you even put into words what your most creative product would be?
Oct 17, 2011. 1:43 PMjayjay110 says:
my most creative product? Well, its a toss up between a piece of wood with a nail in or a dirt house in Minecraft, both took the same amount of time to complete and were really hard tasks!
Sep 11, 2011. 10:45 PMkgee says:
same...
Aug 2, 2011. 6:57 AMangellicktrooper says:
same reason i clicked this one dude kinda sad :(
Apr 14, 2011. 7:57 AMhightekrednek2396 says:
that would have been cool
Feb 7, 2011. 7:49 PMbrawns214 says:
I thought the same thing when I first read this, then realized WHOA, this is way more useful!
Nov 22, 2011. 11:36 PMDIY-Guy says:
Agreed! This is much more useful for building a business than trying to compete with the phone company. Various companies are currently selling circuits based upon a custom programmed chip. Everything is open source but of course the pre-programmed chip is what you end up buying... and that's where the money is to be made.

I gave up doing the Internet Service Provider thing a long time ago also. This has more potential on the scale that I would operate.
Oct 16, 2011. 8:29 PMExiumind says:
Is it possible to burn another atmega like this?
Aug 12, 2011. 12:45 PMSparticles says:
Thank you very much!
This actually works!

But I still have a question with the time. Now, I used the blink program to test it out. Blinking a led 1000 ms on and 1000 ms off. At least so is it written in the code. The actual blinking is rather 8 seconds on and 8 seconds off.
Probably something with some different oscillator inside. (I used ATtiny2313)
Do you maybe know a proper way to adjust this?


(ok, I can divide everything by 8 but there is probably a better way.)
Jun 13, 2011. 8:55 AMcsnowman00 says:
Just thought this blurb from Arduino.cc would be helpful:

NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress.

Jul 4, 2011. 8:16 AMryanstewart86 says:
yeh you can dude, you put a 10uf cap between the reset input pin and ground to hold it high for a brief period.
May 23, 2011. 3:20 AMandy70707 says:
Could I use a similar method to program an ATtiny 2313 or a PIC16F648A?
Apr 27, 2011. 7:11 PMthegriffy100 says:
i love ISP
Feb 22, 2011. 3:04 PMrobonerd says:
Had to prog a tiny85 and this was EXACTLY what I was looking for. Thanks a ton!
Feb 17, 2011. 10:57 AMbeemakka says:
Well jayjay, I was like................................................blhurhshphit, then I was like.................................................plplplplpliiiiiiiiiiiiiiiiiip, then I was like.............................................."what is it with people these days expressing their emotions so poorly?"
Jan 29, 2011. 3:03 AMElvenChild says:
cool

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
3
Followers
1
Author:mr_mac3