Back to tutorial index

FabISP: Electronics Production


What is the FabISP?

The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. It allows you to program the microcontrollers on other boards you make.


The Electronics Production assignment is to mill the board, stuff it with components and program it. We will be using these programmers through the semester to program the other boards we create.


The geneology of the FabISP design is interesting in its own right; Neil's FabISP is based on David Mellis's FabISP which is based on Limor's USBTinyISP which is based on Dick Streefland's USBTiny.

Download the Board Files and Mill the Board


Circuit Board Traces

Board Outline

Milled FabISP Board

Milled Fab ISP

Stuff Board

Download the FabISP labeled board diagram so that you can see what components you need to and where to place them on the board.

Solder the components to the board using a soldering iron and solder (or solder paste and then baking.)



These are the all the parts you need to build the board.
  • 1 ATTiny 44 microcontroller
  • 1 Capacitor 1uF
  • 2 Capacitor 10 pF
  • 2 Resistor 100 ohm
  • 1 Resistor 499 ohm
  • 1 Resistor 1K ohm
  • 1 Resistor 10K
  • one 6 pin header
  • 1 USB connector
  • 2 jumpers - 0 ohm resistors
  • 1 Cystal 20MHz
  • two Zener Diode 3.3 V
  • one usb mini cable
  • one ribbon cable
  • two 6 pin connectors
Mini USB Header
Component Value Part
R1 1K ohm 1001
R2 499 ohm 4990
R3, R4 100 ohm 1000
R5 10K ohm 1002
Component Value Part
C1 1uf unmarked
C2 10pf unmarked
C3 10pf unmarked
6 pin programming header

Stuffed FabISP

"Smoke Test"

Plug the FabISP into your computer via the mini USB cable.

If you do not recieve any messges, proceed to "Install the necessary software for AVR programming."

Troubleshooting Short Circuits:

  1. First, do a visual inspection of the board and reflow any solder joints that look cold (not shiny and smooth).

  2. Then, get out your multimeter and check all the connections to make sure that:
    - power and ground are not connected
    - there is not a short on the power line.

  3. Common problem areas on the FabISP are:
    - the pins on the 6-pin programming header are connected to each other.
    - the tiny pins on the front of the mini USB header are connected to each other.
    - none of these pins should be connected.
    - use your meter to determine which pins are connected.
    - use flux and desoldering braid to remove the excess solder and disconnect the pins.