New to Arduino - any additional references would be appreciated.

I've recently decided to learn how to do arduino programming, and I've just decided to purchase an Uno starters kit (it's hasn't even been shipped yet, actually... I probably will receive it sometime next week or early the week following). In preparation, I've been reading some of the help pages and tutorials found here.

One thing I am especially interested in doing is standalone device programming.... and programming an atmega328p chip that sits by itself on a breadboard, but one of the most useful pages that I've found so far on the subject (http://arduino.cc/en/Tutorial/ArduinoToBreadboard) seems to suggest a couple of points that are of great concern to me:

  1. it explicitly mentions that it will not work with the Uno board... although I'm not sure if this concern is really a concern, since it mentions the Uno having a 168, while the R3 has a 368p.

Of bigger concern however, since the above may turn out to be a non issue is the following:

  1. the directions seem to require the removal of the cpu from the board... this is something I am very reluctant to do, since I do not want to risk bending the pins on the chip.

Is this even possible? Or is it unavoidable that I will have to remove the chip from the main board? If so, I would be replacing it with a 28 pin ZIF, so that taking it out and putting it back won't risk any pin bends, but I'd rather not have to do that - in particular because I'm not sure that a ZIF socket would necessarily fit the Uno (they are somewhat bulky compared to IC's), and there's also the distinct chance I could bend the pins when I first take the chip out anyways.

To clarify on my paranoia about bending the pins, I have something called essential tremor, which seriously impacts my ability to perform any kind of precision work that requires my hands or arms to be very steady (soldering, for instance, is completely impossible for me. I am, however, moderately skilled with wirewrapping, and I intend to use that technique for any permanent projects that I make). If at all possible, I would prefer to avoid doing anything that risks damage... even though I know that the chips are not remotely expensive, I'd rather avoid risking it unless there's truly no other way.

If it makes any difference, it's my intent to, with standalone devices, use the chip entirely on its own... relying on its internal oscillator instead of an external one... so very minimalist.

I realize it's probably going to be a few weeks before I'm actually ready to do this kind of programming, but if anyone knows of any other really useful web pages that describe how to do what I want, or even any especially useful books, I'd sincerely appreciate any pointers that people can offer.

Thanks in advance,
Mark

ZIF socket is definitely a time saver, I have one UNO fitted with it and I use it (almost) on a daily basis.

It's good to know that a ZIF socket wil fit the Uno.. I'll buy a spare atmega328p right away when I get the board and burn the bootloader onto the spare per instructions found at http://arduino.cc/en/Tutorial/ArduinoToBreadboard. That way if I bend the pins when I first take it out, I'll have a spare to put in right away after I put a ZIF socket in. It's not ideal, but if that's the only option.... I'll live.

Just wondering though... not all of Arduinos boards have a removable cpu... some have them soldered right to the board. How would you program an external 328p with such a board? Or would you have to unsolder the cpu from the board first?

One typically connects an AVR ISP to an ICSP socket, or the equivalent pins:
+5, Gnd, Reset, SCK, MISO, MOSI
and installs a bootloader.
Then connect an FTDI Module or equivalent to
+5, Gnd, DTR (100nF cap to the reset pin), Rx, Tx,
and do serial downloads.

Read Nick's article.

The ZIF can usually be fitted into the socket on already the Uno (if it is socketed and not SMD) rather than removing the socket already there which is of course, very difficult. This also elevates the ZIF socket which is useful but of course prevents the use of "shields".

Nobody will presently sell you a board other than an "R3", so you can forget about anything to do with 168s. :smiley:

CrossRoads:
One typically connects an AVR ISP to an ICSP socket, or the equivalent pins:
+5, Gnd, Reset, SCK, MISO, MOSI
and installs a bootloader.
Then connect an FTDI Module or equivalent to
+5, Gnd, DTR (100nF cap to the reset pin), Rx, Tx,
and do serial downloads.

Is there an online reference that describes this setup in greater detail? Thanks.

I would prefer to not have to remove the chip from the board at all, and if the presence of a ZIF socket on the Uno would keep me from being able to use shields, that's just one more reason to not want to have to go that route.

Pardon, but my comment was in two parts.

Nick's article describes how to program blank chips with a bootloader, or in fact with any software you wish with or without a bootloader, using either a USBASP or a Uno (with a corresponding sketch loaded) as the programmer and with the "target" chip on a breadboard. Suggest you read the article, which is somewhat more didactic than the one you previously cited.

Putting a ZIF onto the Uno permits you to use it with a USBASP (or in fact, another Uno by the same logic!) to program the chip in that socket, using the Uno with the ZIF (or without) as the "breadboard" with the convenience that it is already correctly and permanently wired to support the chip. This is therefore an alternative to using a breadboard, if it suits you.

But a breadboard is perfectly practical, somewhat cheaper and does not involve modification to a Uno.

CrossRoads' post also refers to two separate processes - programming the bootloader using a USBASP, then changing over to using an FTDI Module or equivalent to load sketches using the bootloader that you have loaded.

Is there an online reference that describes this setup in greater detail?

Nick's page here covers the process pretty well I think.

Thanks for the reference, it's much appreciated.

I'm a bit confused about something, however....

The photo of the FTDI cable next to the package says it for 3.3v, but then the next two photos show the cable's Vcc as being +5v.

Does that mean it doesn't matter whether I get a cable that says it's 3.3v or 5v?

I would not get a cable - I would get a module with pins on one end and a USB connector on the other:

Hmmm... doesn't Sparkfun stuff require assembly and soldering?

I can't solder. I mean physically cannot. I have a disability which inhibits my ability to perform fine or detail work with my hands (which is why I was so concerned about accidentally bending the pins on the chip).

The first one does not - it has a female header, can plug onto 6 male pins in the breadboard.

If you have some header strip like this

or this
http://www.dipmicro.com/store/HDR40X2M

just cut off a piece 6 pins pins long, stick it in the breadboard, and plug the FTDI Basic onto it.