MAS.863: How To Make (Almost) Anything



Fab-able in-system programmer


See the FabISP project page for the latest version of the FabISP.


The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. It's based on the USBtiny and V-USB firmwares, which allow the ATtiny44 to perform USB communication in software. Programming can be done through avrdude.

The schematic is super simple: USB connector, ATtiny44, and 6-pin ISP header, with assorted passive components. I started with the Eagle files for the USBtinyISP, although there's almost nothing left of it.

Download: fabisp3.sch, fabisp3.brd

There are PNGs ready for milling with cad.py.

Download: fabisp3.png, fabisp3dim.png

Most of the parts for the FabISP are in the FabLab inventory. Exceptions include the Mini-B USB connector (SparkFun, Digi-Key), 12 MHz crystal (Digi-Key), and 18 pF capacitors for the crystal (Digi-Key).

Programming the FabISP using a previous revision of the board. This requires closing the solder jumper near the 0 ohm resistor. Once the FabISP is programmed, open the solder jumper to use the board as a programmer. Close the solder jumper in the corner of the board to provide power to the ISP target board.

Download: firmware.zip


See the FabISP project page for the latest version of the FabISP.