After accidentally destroying a couple of avr programmers, I decided to clone the stk500/avrisp. The avrisp is convenient because it doesn't require its own power supply like the stk500. However, it doesn't have the level converters which isolate the stk500 from the target system.
If you need more than one programmer for multiple projects, than this board may be useful. It is cheaper than an avrisp, especially if you already have the parts on hand (although the avrisp is very reasonable at $35). More importantly for me, it is easier (possible?) to repair if you damage any specific part.
I didn't draw a separate schematic as you can use the avrisp schematic available on the web. There is a pcb layout and part placement diagram below. This board is meant to be etched and drilled yourself. If you want to have a board made professionally, then you are missing the point; just go buy an avrisp. You can tell by the size of the traces how good my pcb etching skills are.
A few notes:
Since this is a clone of the avrisp, it uses the same firmware. You need another programmer to load the firmware though as this design doesn't have the at90s1200 used for flash upgrades.
Now I am in a bind to post the firmware here for people to use without buying the hardware from atmel. Atmel makes the firmware available to anyone for free on their website, but the file is encrypted.
Here's how to get it though: Simply put your stk500 or avrisp into programming mode and load the latest stk500.ebn file using avrprog within avrstudio. Avrprog knows how to decrypt the ebn file format. Then, when avrprog is verifying the flash, pull the serial cable and cancel the update. This step prevents avrprog from setting the lock bits. Finally, after reconnecting the serial cable, you can put read back the flash contents in unencrypted form using avrprog.