Instructables
Picture of Bootload an Arduino with a ZIF Socket
Bootloading an Arduino with a ZIF socket allows you to easily program a lot of chips at once without worrying about mangling the pins. The reason for this is that ZIF stands for "zero insertion force," and as the name implies, ZIF sockets don't require any force to take the chip in or out. This means that you do not have to worry about any of the pins bending when you take the chip in and out of the socket. This is particularly useful if you need to bootload a lot of Arduino chips at once for inclusion in an electronics kit or if you need to repeatedly program a chip and transfer it back and forth between a separate circuit board.
 
Remove these adsRemove these ads by Signing Up

Step 1: Go get stuff

Picture of Go get stuff
You will need:

- ATMEGA328 (as many as you want to program)
- USBtinyISP
- An Arduino board
- A ZIF socket
- A breadboard
- 10K resistor
- (x2) 22pF capacitor
- 16mhz crystal
- Solid core wire

Step 2: Microcontroller pins

Picture of Microcontroller pins
Microcontrollers typically ship with the pins bent slightly outwards. This makes them wider than a normal DIP socket like the one used on an Arduino. The chip on the left is an example of this.

A chip that has been properly inserted into an Arduino socket will have pins which are straight (at a right angle to the body of the chip). The chip in the middle is an example of this.

Unfortunately, chips that have been through the process of being forcibly inserted and removed from a normal socket sometimes end up looking like the chip on the right. Notice the pins are bent in every which direction.


nodoubtman2 years ago
Hi! I have a question : i If i buy this : http://www.dipmicro.com/store/DE3904
would i be able to program this chip written with arduino code : : http://www.abra-electronics.com/products/KIT%252d10870-BigTime-Watch-Kit.html ?

at the end of the page, it is mention : Did we mention that the watch kit is super hackable? An FTDI header is broken out to the side of the board and the watch-firmware is running on top of a bootloader! This means that all you need to do to add your own code is to open up Arduino or Wiring and select "Arduino Pro or Pro Mini 3.3V/8MHz w/ ATmega328" as your board.

thank you!
i really need to program it
thanks!
Spokehedz3 years ago
So, basically you are using the arduino board for nothing?
Seems so indeed. If you have the USBtinyISP (a programmer) that can program chips directly
Exactly. A simple schematic (instead of endless photos of placing this-wire-in-that-hole) would have revealed that the six wires from the programmer are directly connected to the ZIF programming socket. They merely pass thru the Arduino Uno board; it's not used for anything. Why not just put a six-pin header directly on the protoboard with the ZIF socket? Neater and cleaner.

Also with instructions like Step 5, which state:
pin 11 to pin 17
pin 12 to pin 18
pin 13 to pin 19...

...is pretty sloppy. pin 11 of what and pin 17 to what?

Schematic please!
francisroan3 years ago
hey could ya send me one of those atmega328 please!!!
randofo (author)  francisroan3 years ago
It's already in the mail...
I am 14 and saw a Binary clock and i wanted to make it bur it requires one of these and i just cant go and get them what would you reccomend? and if you have any extras i would be so gratefull!
srry
*but
@Jwilliams- I am in HS too and its hard to get parts sometimes ;) I use Tayda Electronics for parts (not atmegas), mainly because they are dirt cheap and I dont have a job yet... I have also used digikey for parts- they are a bit difficult to navigate though (but have the fastest shipping ever :P ). A lot of people use mouser. Some use Jameco. I have had success with sparkfun. I recommend sparkfun as you can get the chips pre bootloaded or not, actually many of these sites have many different versions of the chip you need. You can skip getting a programmer for the chips and buying an arduino board, then programming it from there (best bet). Or you can get the chips themselves and then a programmer for them.

Its really hard for the beginner, starting with microcontrollers, but Its totally worth the initial shock.. I'm still experiencing the shock a bit myself. But for your clock they used an Arduino chip. I recommend you read some articles about arduinos and programming. Probably most of that is available at arduino.cc
Ok Thanks a lot for the help and i found a KIT BASE WORKSHOP W/ARDUINO BD at http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=1050-1004-ND
and was wondering if it was a good deal.............i see all kinds of cool arduino stuff on here and thats why i would like one
And i am willing to learn all i can about it
http://www.sparkfun.com/products/10173
http://www.sparkfun.com/products/9950
http://www.sparkfun.com/products/10174
are all some pretty good kits- one of them is just the board itself. makershed.com has some good kits too (I got started with the arduino starter pack from makershed)
It all depends on what you want to do or how much you want to spend ;)
The board itself costs only around $30 and then you can just buy parts for whatever project you need :)
ok and thanks for all the help and im srry if im bieng a nusence ;)
The shop at evilmadscience.com has a load of this type of thing at pretty low cost. I think you can get a working arduino chip and board for about $13 wth the bootloader pre-installed but you'll need a USB to serial cable to talk to it.
judas793 years ago
Great tutorial so far. I think you're missing a pin 20 wire to the power rail in the last picture.
jelmore13 years ago

What's the minimum number of components if you wanted to sole-purpose an arduino programmed chip? I've used parallax processors, and the price is great. Especially if 4Mhz is sufficient. I haven't looked into the arduino things too much because I didn't want to put a $30 board into something. If I understand this, you could just put the atmega chip in a circuit after it's programmed, right?

Thanks.
randofo (author)  jelmore13 years ago
What you see on the breadboard here is the absolute bare bones minimum to keep the chip running. A decent minimal circuit has about 10 parts (give or take).

See here:
http://www.instructables.com/id/Arduino-Project-Board/
I got this running (without the special programming), with just a cap and the crystal, and a 5v supply. I was surprised! it took almost no circuitry. And it worked without tying the AREF and VCC pins to 5v. So all of 32 solder points and I have a microcontroller on a perfboard
mlaís3 years ago
awesome tutorial
e5frog3 years ago
It's allowed to cut the legs of the components slightly. ;-)
BlueFusion3 years ago
As previously linked to I refer to the ladyada article.http://www.ladyada.net/library/arduino/arduinoisp.html
This is similar to the way I have always done bootloader burning. You run a small sketch on the arduino allowing you to use it as a programmer without the need for an external programmer. Much more convenient :)
randofo (author)  BlueFusion3 years ago
I found this to be less reliable. It kept sporadically giving me errors.
I had the same problem - then I found some help.
The reset pin resistor needs to be pretty much exactly 110 ohms - at least, between 110 and 124. You also may have to tweak some files to make it play nice.
http://laclefyoshi.blogspot.com/2011/01/note-of-caution-for-arduino-isp.html
osbock3 years ago
I agree with the first comment. All you are really using the arduino for is for the ICSP programming header. You could stick one of those on the breadboard as well. One note: If you are not bringing power over from the arduino (or even if you are) and not plugged in to usb, make sure the power jumper on the usb-tiny is set to supply power.
godofal3 years ago
you could eliminate the need for an arduino by simply sticking the wires directly into the programmer's cable
just need to check it a bit more, to make sure you dont make any mistakes :P
randofo (author)  godofal3 years ago
Yes. I just figure it would be less confusing for people this way.
godofal randofo3 years ago
also true
but i was just saying you dont need to buy an arduino for this to work :P
H4T3 years ago
Great Instructable! For people who'd like another resource (basically saying the same thing, but showing you how to make a ZIF programmer shield for the Arduino), check out Lady Ada's bootloader project here: http://www.ladyada.net/library/arduino/arduinoisp.html

I was really impressed with the quality of the photos, they make the whole article really pop. I imagine you used one of those photographer's light boxes, right? Did you make it yourself?
randofo (author)  H4T3 years ago
I don't use anything too fancy. Basically, this is my setup:
http://www.instructables.com/id/DIY-Photography-Backdrop/

axeman9113 years ago
what exactly does it mean to bootload the IC?
randofo (author)  axeman9113 years ago
It's to write onto the chip something like an "Arduino operating system" that you can use to write Arduino programs onto it.