I'm unimpressed with most of the open or cheap AVR programmers. They're either limited to SPI, or big chunky affairs with multiple headers and jumpers. Typically not very well protected. Okay, mostly I'm just pissed I blew my mkii clone by connecting it wrong. Wasn't protected well enough and the microcontroller itself blew up. Couldn't find a replacement I really liked, so I'm going to NIH this shit.

Here's my take on a small, open-hardware AVR programmer.
- Based on the existing LUFA mkii-clone firmware, I don't care to NIH that. Slightly modified, however.
- Supports SPI, TPI, PDI all out one connector, no messing around with multiple headers.
- Full target-powered level-shifting down to 1.2V to cover the full range of AVR voltages.
- Programming port is short-circuit and ESD protected. You should not be able to blow this up.
- Relatively small (40mm x 25mm); still built with nothing smaller than 0603.
Limitation: does not provide target power. I refuse to half-ass features, and there's no room in this design for proper target power will full protection as I would insist on having.
Known bug in rev 0: crystal footprint is too small. I stupidly assumed 12 MHz for the USB crystal, forgetting that the AVR USB by default wants 8 MHz. No 8 MHz crystals are available in that footprint. Workaround: solder leads of a PTH crystal to the pads. rev 1 will be fixed. I called it rev 0 for a reason.

Regardless of interest, I'll make this available soon as a shared OSH Park project and DigiKey BOM for anyone to build themselves. If enough people think my "improved" take on this is worth the effort to care about
yet another AVR programmer, I will definitely consider selling them, either as kits or fully built units.
Possible future additon: ISP MAXI. Larger, more complete version. Full target power, slightly different (more 'proper') implementation of signal muxing, overcurrent protection also on ground. Considering features: JTAG to support non-AVR Atmel chips, storage for firmware images to allow for field programming, some user IO or at least UART to the target to allow batch testing after programming.
Currently the BOM cost is $16, in low quantity.