DIY ISP/PDI programmer that can be fabricated in a Fablab
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
_config.yml updated mega8 md file Jul 16, 2017 Corrected typos in Jul 23, 2017


DIY PDI/ISP programmer

The thought of building a DIY PDI programmer first came to me during Embedded Programming week in Fab Academy 2016, when Neil talked about the ATxmega16E5 microcontroller. I was itching to try it out, but lacked a PDI programmer.

After some research, I learned that I could modify a USBasp into a PDI programmer. The second alternative was to build an AVRISP-MkII clone. Since I had a couple of USBasp boards, I thought "why not?"

My attempt at modifying my USBasp board failed and is documented in my Fab Academy website. What I lacked at that time was a schematic diagram of my USBasp board. I soon abandoned the attempt at modifying my USBasp board due to the limited time available, but the desire to build my own PDI programmer stayed with me all the time.

Since Fab Academy 2016, I have managed to build 2 different versions of fabbable PDI programmers, which I have documented here. I have also successfully modified 2 different versions of commercial USBasp boards for PDI programming.

  1. FabPDI-mega8
    • modified USBasp
    • based on ATmega8
    • uses VUSB library
    • both PDI & ISP programmer
  2. FabPDI-t90usb
    • AVRISP-MkII compatible
    • based on AT90usb162
    • uses LUFA library
    • both PDI & ISP programmer
  3. USBasp PDI programmer
    • modified commercial USBasp boards
    • both PDI & ISP programmer

My collection of DIY and modified PDI programmer boards: PDI-programmer collection

PDI boards collection (from left): FabPDI-mega8, FabPDI-t90usb, USBasp v2.0 (LC Technology), USBasp (Baite)

Copyright (c) 2017 Steven Chew

MIT license