Programming Surface Mounted Chips

Ken Olsen writes in a Surface Mount Challenge project log on


Programming Surface Mounted Chips

A majority of my projects to date have used DIP package Attiny85, 84, and Atmega328. These are usually programmed beforehand using a ISP shield on an Arduino, or afterwards using the ISP header. My first PCB design, was in fact, a shield which could be used to program the variety of AVR chips I was using. Breadboarding up an Arduino-as-ISP circuit time every time I needed one was error-prone and frustrating.


It occurred to me that since not all projects have ISP headers, there should be some way to program the chips prior to installation. With a little googling, I found SOIC to DIP adapters which can be used to mate up with a DIP ZIF fixture. A SOIC 20 allows me to program the AVR 8-pin, 14-pin, and 20-pin packages!

Programming Surface Mounted Chips

Building an ATmega328 uploader

Carlos of GlowSaber wrote a great blog post on how we built an AVR programmer shield:

Building an ATmega328 uploader

As I learned more about Arduino, I realized that it is possible to redesign the GlowSaber around the ATmega328 chip [..] I designed an Arduino Shield that can be used to burn the bootloader and upload programs to an ATmega328 chip.

Here’s a example of an ATmega328 in a custom board:

cvadillo shared the board on OSH Park:

Arduino ISP Breakout shared project

Order from OSH Park

Building an ATmega328 uploader