I always find programming microcontrollers on a breadboard to be a bit of a pain. I always have to look up which pins are which, and fitting jumper wires into my AVRISPmkII is always a bit finicky. I know there are Arduino shields available for programming different chips, but they tend to be big, and you need a different shield for each different chip. I wanted a single, compact board that could be used to program a couple different AVR chips. This board can be used with the ATtiny45/65/85, the ATtiny2313, and the ATmega168/328 (of Arduino fame).
Step 1: Bill of Materials
- double-sided PCB & your favourite etchant
- 8 pin IC socket
- 20 pin IC socket
- 28 pin IC socket (I used 2x 14 pin sockets)
- 2x3 header pins
- 2.1mm coax power jack
- (optional) standoffs of your choosing
Step 2: Design
The design is straightforward - I just connected the header pins to the appropriate pins of the IC sockets. Attached below are the EagleCAD files I used.
Step 3: Board Etching
I used the toner transfer method to etch my board. I first transferred toner to one side of the board, then drilled a couple holes to help line up the other side. This was my first attempt at a double sided board, and it took a couple tries to get everything to line up correctly. Luckily, the toner comes off easily with nail polish remover if you make a mistake.
Step 4: Drilling and Soldering
The drilling and soldering is pretty straightforward. Soldering the top-side connections can seem daunting, but I didn't have any trouble. All the sockets and header pins are sitting slightly up off of the top surface, just high enough that I could get a soldering iron under them. Remember, flux is your friend!
Step 5: Finished!
Go program something!!! Works well with your modded AVRISP mkII: