Many if not most people who frequent this site have been doing electronic engineering and circuit design for quite some time. However, as Max recently pointed out in What? Electronics Engineers Who Can't Solder?, often a gap exists between the high-level design people are doing and their experience with basic prototyping. A few of you have branched out and tried prototyping with an Arduino at home. A board for experimentation like this is great, but what if you want to take the next step and shrink your project down to something that could rest on your fingertip? Appropriately named, the ATtiny chip fits the bill.
Smaller than a quarter and costing around $3 when not purchased in bulk, this little guy has a lot going for it. It does have its limits, however. The small package only gives you five IO pins, or six if you count the reset input. It also has only 8 kilobytes of programming space. Like anything, it's important to know the component's appropriate use.
It's a good thing for ATtiny that many, many applications need only a few IO pins. Something trivial like making a single LED blink, or several blink in sequence, is perfect for this chip. Simple data recording might be another application, and I've personally used it to make a very small version of a useless machine. Unfortunately, like many of my hobby projects, this will likely remain in a permanent prototype state. It did work as planned, and was very tiny, but was never pretty.
When programming the ATtiny, you have a few options. You can buy a dedicated ISP, or in-system programmer, which I would imagine works well and takes some of the wiring complexity out of things. If you're going to be programming these chips on a regular basis, buying one of these would probably be a good idea. These can be found for ten dollars or less if you search around.
I, however, programmed my ATtiny using an Arduino as the ISP. This involved installing some software from MIT's High-Low Tech group to magically convert your faithful Ardino into a programmer. This is also explained well by Make's Matt Richardson in his article about how to "Shrinkify" your Arduino projects. If you'd like to use this technique and clean up the wiring, there has also been some talk about an Arduino shield to use with this.
Matt uses a Macintosh for his project, and I'm happy to report that I was also able to get it working under Ubuntu Linux after some finagling. Windows, as you would suspect, is also compatible with this operation. Once you have the installation worked out, you can program the ATtiny85 as you would your Arduino. There is a list of supported Arduino commands on the HLT site, so it's possible you'll have to modify your code to work correctly.