After completely stepping away from the Atmel STK500 development board (which had inspired me to my first Instructable) I now construct all my circuits and projects on breadboards - and furthermore: I also force my students to do so.
Using a breadboard you also need a way to connect your AVR ISP programmer (in-circuit serial programming) to the microcontroller. Sparkfun has made a nice little breakout board for this purpose, and the other day I found another cheap source for such adapters.
But I said to myself I could do better. Judge for yourself...
Step 1: Previous Work From Other Sources
The Sparkfun adapter comes as a bare circuit board which you can complete with simple pinheaders for the 6-pin and 10-pin Atmel-compatible ISP connector. Using polarized IDC connectors makes the adapter almost foolproof since you cannot accidentally connect the ISP cable in the wrong direction. The board then breaks out the 4 ISP signals (MOSI, MISO, SCK and RESET) as well as the supply voltages (GND and VTG/VCC) onto six pins to your breadboard. The main disadvantage is that the Sparkfun adapter is not always available here in Europe...
A year ago I found a cheap clone of the Sparkfun adapter at a Chinese shop on eBay. Sadly this had so poor quality in the circuit board layout that I really cannot recommend this one to anybody. Also, of course, the layout of the breadboard pins was different from the Sparkfun adapter - possibly because of copyright issues, but since when do Chinese manufacturers care?
Last week I found yet another source, the Swedish shop Lawicel AB sells their own design - but also here you first only get the bare circuit board. The design is a bit more narrow than the Sparkfun version and thus will not allow the use of the polarized IDC connectors. The advantage is that it is dead cheap and it uses the exact same layout as the Sparkfun adapter.
Step 2: Designing a Circuit Board
Both the Sparkfun adapter and the Lawicel AB adapter feature both the 6-pin and the 10-pin ISP connector designed by Atmel and carried through their development tools for AVR controllers. Many third-party products have adopted the same layour, with a strong favor for the 10-pin connector even though it has a total of four redundant pins.
Since all AVR programmers which I have come across uses the 10-pin connector, I found it unnecessary to support the 6-pin connector in my layout. This allowed me to create a quite compact design yet still allowing for the use of the polarized IDC connector.
Since I started with the toner-transfer method this was my first attempt to make a double-sided layout. It was necessary since the 10-pin connector uses two rows. As you can see from the images the IDC connector "sits" on the top edge of the circuit board and the signals are routed to a 1x6 pinheader for the connection to the breadboard. You can find the 1:1 layout in the two PDFs and I also attach the Eagle files.
Step 3: Etching 12 Adapters at Once
Using the toner-transfer method I placed a couple of identical boards on a single piece of double-sided copper-clad circuit board material. The alignment was not perfect, mainly because the stack of two paper sheets and the circuit board did not fit into my modified laminator.
Therefore I had to use a household iron and the paper on one side might have slipped a bit. In the end it showed that the alignment between front and back was only off by about 1/2 mm and only in one direction. Definitely good enough for this layout!
As an etchant I prefer sodium persulfate over ferric chloride or hydrochloric acid/hydrogen peroxide as etching solution, even though etching can become quite slow when the solution gets cold or is reused several times.
Step 4: Putting It Together
There is not much to say here. There are exactly two things to solder to the circuit board: the 10-pin IDC connector and the 6-pin pinheader. Of course you can also just use a 2x5 pinheader instead of the IDC connector. On my layout the pin 1 of the connector shows as a larger pad on the circuit board, identifying the correct position of the connector and/or attached cable.
For the 1x6-pin connector to the breadboard you can choose either a 90-degree bent or straight connector. Just observe that the holes in a home-etched circuit board are not plated and that you therefore have to solder the connector on both the "component" and "solder" side of the circuit board.
At first I only considered the 90-degree bent connector which allows the adapter to stand right up on the breadboard. But perhaps the design with the straight connector is even better: it allows the adapter to lie flat on the breadboard and thus reduces stress on both the breadboard and the adapter itself.