I have a couple questions about bootloading individual chips using the arduino. I'm an electrical engineering major and was drawn to the arduino for projects mainly because I don't want to have to mess with the registers and what not since my programming knowledge isn't that in depth. My question is how can you use the arduino to bootload an individual atmel chip? From what I've read, it looks like a standard programmer can plug onto the arduino itself, but can the atmel chip that is on the arduino pop off? I'm sure there is a tutorial somewhere on the internet, but I can't seem to find it. My goal with the arduino is to prototype with the physical arduino, then implement a permanent solution with designated circuits so I don't have to use the arduino for 10 different projects. Any help would be appreciated. (I should note I don't have the arduino yet, so it might be that my question could be easily answered if I had already bought it :))
but can the atmel chip that is on the arduino pop off?
It depends on which flavour of Arduino you've bought - some have socketed DIP devices, others have surface-mount.
The arduinos that use dip ics (rather than surface mount like the nano) generally use a socket.
You can also buy your new atmegas with the bootloader already nurned on.
You can program the ATMega on your Arduino board with the Arduino IDE if the chip has a bootloader on it. When you are done and happy with your project, you can just pop the ATMega out off the board and use it as a standalone on another board (link: http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard). It will then run its program once powered on. After power-on there's a short delay from the bootloader that still sits on the chip along with your code.
You can then put a new ATMega onto the board and start programming this one. Remember: this only works if the chip has a bootloader on it, so you have to purchase one that says so.
To be more flexible when buying ATMegas you can then use an ISP programmer to burn a bootloader on an ATMega without bootloader. This works via the Arduino board's ICSP header and is also supported by the IDE. If you don't want to buy an extra programmer you can follow this tutorial: http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html. If you follow it step-by-step you can then burn a bootloader on any new ATMega just using your Arduino board (without an additional ISP programmer). I did it and it works really fine.
What's nice if you have an ISP programmer or use the method above is, that you can directly burn hex-files onto your ATMega, so you don't need to have a bootloader on the chip. This saves about 1kB of memory (the size of the bootloader) and also removes the seconds of delay at powerup, so if you are ready to finish a project and want to get the ATMega work on its own you just directly burn your sketch as a hex-file onto the chip and done.
Hope this was not too confusing,
Otacon2k
You can program the ATMega on your Arduino board with the Arduino IDE if the chip has a bootloader on it. When you are done and happy with your project, you can just pop the ATMega out off the board and use it as a standalone on another board (link: http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard). It will then run its program once powered on. After power-on there's a short delay from the bootloader that still sits on the chip along with your code.
I've read that site before. Just to clarify, the breadboarded circuit is an arduino equivalent right? I was just going to buy the arduino instead of breadboarding it like they did. They say you can bootload using the arduino as follows:
Place your Atmega chip into the Arduino board with the divot of the chip facing outward. Set the jumper to an external power supply and connect a 12V power brick (your board needs to be externally powered when using the AVR ISP mkII but is not needed with the AVRtinyISP) . Then, attach the 6-pin female plug of your AVR programmer to the 6 male header ICSP pins with the plastic nub of the ribbon cable head facing inward.
Does this mean the chip already on the arduino can pop off? And which jumpers are they talking about?
Does this mean the chip already on the arduino can pop off?
It depends on which board you get. The official duemilanove, diecimila, and many clones use a DIP-style ATmega168 or ATmega328p that is socketed can can be easily removed and put on a different circuit board. Some of the newer and/or smaller systems (nano, "arduino pro" from sparkfun, "Seeeduino", Arduino Mega) use a surface mount chip that cannot be removed.
The jumper they're talking about is the USB/external power jumper on the diecimila version of the Arduino that was eliminated in the current duemilanove board.
I've read that site before. Just to clarify, the breadboarded circuit is an arduino equivalent right?
Yes, it's a full Arduino board on a breadboard. If you leave out the communications part though, it's just a standalone ATMega on a breadboard as you will want it in your finalized project (except you want to have serial communications to your project, then you have to implement some way of communicating of course).
edit: Btw, there's a great overview for all boards on http://arduino.cc/en/Main/Hardware. It's got pictures of all the boards, so you can look which one have a DIP ATMega, which always comes on a socket.