A while back, I made a very small AVR programmer, based on [simpleavr]s vusbtiny programmer. Even while I was working on that board, I became annoyed with the fact that more than half of the board was taken up by the USB and ISP connectors.
To fix this, I started working on an even smaller version.
The schematic for this new version is almost the same, I added a small fuse to protect the hosts USB port and removed the LED. This also means that the cable should still be fully compatible with [kerhibar]s impressive little wire project (Update: In little wire the USB data lines are inverted compared to this schematic. I’ve added updated files below).
Schematic for the ISP cable
The goal was to incorporate the entire board into the cable, to that end I switched the USB connector to 4 plated holes and the ISP connector to an edge mounted version. Additionally the ISP connector is mirrored, so that it can be plugged directly onto a corresponding header.
Update: In the newest version (v1.4) I’ve spaced the USB holes in 2.5/2.0/2.5 distances as suggested by [Squonk]. This way a standard USB A plug should fit as well.
The board layout, top and bottom
For most of the passive components I went with 0603 footprints, however due to a mix-up with my order, I had to use 0805 components for the 68 ohm resistors, a little tight, but still workable.
The board and all the required components
The whole board is only 12.8mm x 10.4mm, after soldering I wrapped it in a bit of sugru as a simple casing and added a short piece of orange wire, to mark the MISO pin (commonly marked by a white bar on programming headers).
The finished board with attached USB cable
Using the cable to program another project of mine
The complete programmer ready to go
The new version of the layout with 2.5/2.0/2.5 spacing on the USB connector
Eagle files for board and schematic v1.3
Eagle files for board and schematic v1.4
Little Wire compatible board and schematic