For relatively small (less number of pins than ATmega328) projects, AT tiny series, ATtiny45 or Attiny85 are good choice in terms of its physical size (8-DIP or 8-SOIC) and low power consumption.
There are many ways to program it. One of the popular device is USB tiny ISP and DASA. Both of them work very well with Win AVR (AVR dude).
I’d like to share how I program ATtiny85 with Jeon Lab mini 1.3. The idea has been adapted from High-Low Tech Group and provideyourown.com. One missing note from High-Low Tech Group is that you need to add a 110-120 ohm resistor between VCC and Reset pins of Jeon Lab mini (or Arduino) to prevent Auto reset on serial connection as explained in here and here.
You will need a Jeon Lab mini or Arduino or any Arduino compatible board with FTDI USB interface. Here is an example with Jeon Lab mini v1.3.
I used a piece of prototype board to assemble a Jeon Lab mini v1.3, 6pin male header for the FTDI basic board (Spark fun), 3 indicating LEDs, a 8pin DIP socket, and a ceramic resonator for AT tiny (if you are using internal oscillator, you don’t need it). I also added another LED to the AT tiny PB0 (pin 5) in order for quick debugging, but if you don’t need or want it, just ignore it. The function of those indicating LEDs in Arduino ISP sketch you will upload later are:
Read More: ATtiny programmer using Arduino ISP