Comming to grips with arduino, bootloaders & ISP

UPDATE/ADD-ON: June, 6th 2012

---------------------------------------------------

For the sake of argument, let's pretend I'm a bit thick in the head and also that every day is a Monday for me.

Being a bit reckless in some respects, and hating the shipping wait times, I've ended up ordering a few ATmega324 chips, so the current Atmega328P-PU tally is:

- 1 blank

- 1 w/ the duemilanove bootloader (supposedly, but I believe it so)

- 2 w/ the uno bootloader (which I have some heavily suspect might be blanks or w/ the duemilanove bootloader instead)

So, from what I gathered before:

- Using my UNO I can either burn bootloaders (if need be) and/or upload the desired program code unto the chips.

Challenges:

1st - I was trying to pry off the chip of my arduino UNO. why? Well I wanted to replace them for the couple of chips I got that supposedly already have the UNO bootloader. I figure that would be the quickest way to do so. But since I'm not _that_ reckless after realizing the chip wouldn't come out easily without proper tools, I gave up and ran to search for tricks to ease it out. While doing so I've come across information telling me that _most chips_ aren't made to handle more than around 20 cycles of socket inserting removing. Adding that information to the knowledge that for me to use the Arduino UNO board to upload programs to standalone chips I need to remove the chip on the arduino board first, I can foresee broken pins in no time.

Possible solutions (regarding pin fragility) ?

1- Get a 28-pin ZIF socket and put on the UNO so that I can easily (and safely?) pop-out/pop-in chips?

2- other?

 

ORIGINAL: May, 21st 2012
-----------------------------------------
Here's the deal, I'm building my first robot & I have an Arduino One board, but I've realized that the board is too pretty for me to use up in my current (and first) project and besides it would be a waste.

My first thought was:

Well, maybe I can pull out the ATmel chip on the board and stick a blank one there, upload the desired code there, take it out and follow some breaduino tutorial to build around it.

Peeked here

http://arduino.cc/en/Tutorial/ArduinoToBreadboard

and...

"Note that these techniques only work with the Arduino Duemilanove w/ an ATmega328, NOT the Arduino Uno (or older Arduino boards w/ an ATmega168)."

bummer... but the overall procedure led me to believe:

1) the blank chip regardless of having a bootloader or not is programmed out-board.

2) the arduino ONE does not cooperate (easily at least) with AVR ISP programming

http://arduino.cc/forum/index.php?topic=69953.0

 

Point 2) does bother me so much provided I have a cheap alternative to:

- keep my Arduino ONE just for testing out code and stuff
- produce my own cheap "breaduinos" for any project I might take on, but that are fully compatible with test I might do on the Arduino ONE
- handle (burn) bootloaders; sometimes I read "atmel328 w/ arduino bootloader" other times "atmel328 w/ arduino one bootloader" that added to what I mentioned before leads me to believe they are different and there are compatibility issues.

Other sources on the internet led me to believe something like this:

http://www.ebay.com/itm/USBASP-ISP-Programmer-Adapter-10-Pin-Cable-For-ATMega8-AVRDude-CAN-PWM-Series-/180836132927?pt=LH_DefaultDomain_0&hash=item2a1aac683f

might be handy for the aforementioned tasks, is it?

In conclusion, what would be the best (cost-wise and newbie-wise) method to go about what I propose above?

P.S. - I've seen several posts here on LMR, but the few I peeked were over-the-top for my poor monday brain :s But I'll welcome anyone any introductory info on Arduino UNO (r3) AVR ISP programming, bootloader burning and whatnot.

Look at this…
This might give a few of your worries a solution- https://www.robotshop.com/letsmakerobots/node/31379 . To program your Atmega 328, you can use it directly on your Atmega one (I’m not sure about it but it works for arduino uno).

Collected for future

Collected for future reference :slight_smile: As of the moment I’m with a severe case of “the Mondays”.

Meanwhile I’ve found some more specific answers to some of my questions, but still have to confirm if they are proper answers. 

Keep your Arduino and buy an

Keep your Arduino and buy an Attiny85 or 2313, depending what number of I/O pins you need. You can program the Attiny with your Arduino without problem. Just check out vishu’s link and the other links there.

For your budget only…
If you want to make bread board arduino, here is a link- http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard. As that site suggests, if you have an arduino, you can use it to program your chip and then use that with your breadboard duino or you can buy a cheap ftdi chip to do the programing. Same goes with bootloader. If you have a duino, use it to bootload chip or buy the sparkfun stuff and use it instead. It all depends on your budget usage and having a duino or not. Or the easiest way may be to buy attiny or atmega’s as lumi suggests. I’m personally biased towards using atmega 8 (although I haven’t used one yet). Atmega 8 is more like the arduino and has the same package as the 328 and 168. Again, the tutorial that I posted in, my first comment will help you.

Did a little update/add-on

Did a little update/add-on regarding my doubts about chip pop-out/pop-in pin fragility.

According to me…
Chips are fragile because the legs of the chips tend to get bent when you use screw drivers or other tools to pull it out. The screw drivers apply force from one end which tends to bend the legs in one direction. To solve your problem, you need to find a way to pull out the chips perpendicular to the surface and reduce the friction between the socket and the legs.