Welcome to usbpicprog, an open source Microchip PIC programmer for the USB port. As the therm “open source” implies, the hardware design, the software and the firmware are all available for download free of charge.

Usbpicprog is an USB in circuit programmer for Microchip PIC processors. The hardware is as simple as possible, the current version only contains one PIC18F2550, 4 mosfets, and besides the connectors a hand full of passive components.

On 7 February 2009, Frans Schreuder did a presentation about usbpicprog on the Fosdem, the Free and Open Source Developers European Meeting. The video is available here:

Usbpicprog consists of three main components which can be found on the download page:

  • Hardware – A PCB design which contains the necessary components to interface from the USB port to a Microchip ICSP (in circuit serial programming) header.
  • Firmware– The software that runs on the processor on the PCB. It contains the USB framework, and high and low level functions for PIC in circuit programming.The firmware can also be divided into two parts:
    • The bootloader (Microchip Picdem bootloader) has to be loaded only once, after that this part of the firmware can be upgraded through the usbpicprog interface.
    • The usbpicprog part of the firmware contains the actual programming algorithms for all the implemented PIC devices.
  • PC software – A wxWidgets based (cross platform) application to communicate with the usbpicprog hardware / firmware. This application is known to function well on Linux, Windows (XP or later) and Macosx.

The design of the hardware is open and free of charge for the people who have their own PCB production facilities. The hardware can not be ordered through this site anymore.

Currently, a version of the PCB (v0.3.2) has been released.

The embedded software has been released as version 0.6.0, but a lot of work has to be done. The PICs that have been implemented can be found in the supported devices section.

Version 0.6.0 of the PC application has been released, Check the download page! This PC application is functioning well in Linux (Ubuntu builds for amd64 and i386 are available through a personal package archive. Check the download page for instructions), Windows, and Mac OS X.