STK500 Quick Setup For 8-pin MCU

(continued from previous page)

My projects switch back and forth between different size DIP packages. In order to program the 8-pin Atmel AVR microcontrollers on the STK500 developer system, you are required to connect the PORTE RST (reset) pin to the PORTB PB5 pin, and the PORTE XT1 pin to the PORTB PB5 pin.

STK500 hooked up for programming an 8-pin microcontroller.

STK500 hooked up for programming an 8-pin microcontroller.

Well, I got tired of referring to my notes and dealing with jumper test leads every time I wanted to program an 8-bit chip. I had a little bit of unused space on one of the printed circuit boards I was designing. So, I decided to make a little quick-connect adaptor that would instantly wire those pins together when installed on the STK500 board.

PCB Layout

The trace layout is simple. Two pins from the PORTE header are electrically connected to two pins on the PORTB header. If desired, the board could be made smaller to only incorporate a subset of the pins.

ATtiny 8-pin quick-connect adapter board layout.

ATtiny 8-pin quick-connect adapter board layout.

I chose to make the board larger for three reasons:

  1. The board should be grippable for easy removal.
  2. All of the port E and port B pins should be exposed on the outer edges of the board, so that other layouts can be wired together, if necessary.
  3. The board can be split to create adapter boards for other purposes, such as hooking up to ISP6PIN cables or motor encoders (see below).
ATtiny 8-pin quick-connect with sockets and headers soldered on.

ATtiny 8-pin quick-connect with sockets and headers soldered on.

Note: Many PCB manufacturers require you to order multiple boards with each order. In my case, since I only needed one adapter board for 8-pin devices on my STK500, it made practical sense to come up with a versatile layout such that the remaining two boards could be repurposed. That’s what caused me to consider the split board with alternate connectors.

Boardmount Sockets

Boardmount sockets soldered onto the ATtiny 8-pin quick-connect adapter.

Boardmount sockets soldered onto the ATtiny 8-pin quick-connect adapter.

To connect to the STK500 square-pin headers, I needed a pair of 0.1″-spaced 10-pin dual-row female boardmount sockets. These are similar to the single-row sockets recommended in Chapter 16 of Intermediate Robot Building. In fact, the process for creating the custom sockets follows the same technique used for Roundabout.

Metallic Sharpie marks cut points in header.

Metallic Sharpie marks cut points in header.

Mark the sixth and twelfth socket on a strip of dual-row boardmount sockets with a metallic (silver shiny) fine-point permanent marker. We only need five sockets per row -- the sixth socket will be destroyed in the process.

Dividing sockets in a vise with Dremel cut off disc.

Dividing sockets in a vise with Dremel cut off disc.

With the dual-row boardmount sockets in a vise, use a Dremel with a cut-off disc to remove the marked sockets. You'll end up with a pair of 10-pin sockets.

Some people prefer to use a razor blade or X-Acto knife in the tiny grooves between sockets. Theoretically, you end up with cleaner edges and you don’t waste an entire socket. However, I can never get the groove to snap cleanly, and I end up cracking both sockets.

Plugging In The 8-Pin Adapter

Solder the boardmount sockets onto the board and mark the direction of the chip so that you won’t accidentally install it backwards. Then, simply snap it in place on the STK500.

ATtiny 8-pin quick-connect installed on STK500.

ATtiny 8-pin quick-connect installed on STK500.

A potential improvement of this adapter would be to make holes for one of the sockets to be 14 pin. Then, plug up the left and right sides of the 14-pin socket so that it only has 10 holes. That way, you can’t accidentally install the adapter when misaligning one column to the left or to the right.

Overhead view of an Atmel AVR STK500 programmer set up for an 8-pin microcontroller.

Overhead view of an Atmel AVR STK500 programmer set up for an 8-pin microcontroller.

If you look carefully, the above photograph also shows the positions of the jumpers.

Now that I look at the overhead view, there is a slight change that could be made. If the top of the adapter PCB were a little larger, it could cover up the bottom pins of the other DIP sockets. This would block insertion of other size DIP packages until the 8-pin adapter was removed. But, in exchange for this minor “safety” feature, I wouldn’t be able to wire up other adapters for use with DIPs of that size.

It may seem like a lot of work to create an adapter for connecting only two pins, but, unlike a computer, I have a lot of difficulty context switching. Now, when I need to switch from a 28-pin Atmel ATmega168 to an 8-pin Atmel ATtiny85, I need only pop in the quick connect and switch the ISP6 cable to the blue header. Time is money!