Public Data:

Popular Project Sites: Project Sites:

Luke Cole

Donate to Luke Cole
Locations of visitors to this page

PICPrg 3.0

PICPrg is a fast Linux command line (or ncurses) program, to program any Microchip PIC microcontroller using the PC parallel port interface. Any parallel port PIC programmer hardware can be used, simply edit the configuration file or use the ncurses configuration menu.

This project was originally created and managed by Brian C. Lane, however Luke Cole has now taken over the project and since have re-implemented all the core functions to provide a more efficient programmer and provide full functionality for any Microchip PIC microcontroller. Please see the latest release notes below for a more detailed description of the changes.

Screen shots

Main Menu

Luke Cole's PICPrg, Main Menu Screen Shot

Configuration Screen

Luke Cole's PICPrg, Configuration Screen Shot

Memory Display Screen

Luke Cole's PICPrg, Memory Screen Shot

Example configuration file

root@localhost:~>less ~/.picprgrc


  1. Download the PICPrg-3.0 code tarball.
  2. Uncompress the tarball and untar the code.
    tar xvfz PICPrg-3.0.tgz
  3. Go to source directory.
    cd PICPrg-3.0
  4. Compile the code.
  5. Install the code (as root).
    make install
  6. Create the configuration file (~/.picprgrc) manually or use the ncurses configuration menu (as root).
  7. Program PIC (as root).
    PICPrg file.hex


Current Release


Release Notes

PICPrg-3.0 - June 12, 2004 (Luke Cole)

  • Re-implemented the programming, read and verify PIC functions so they follow the PIC programming guide!
  • Increased programming speed of a PIC dramatically via not erasing data before programming and only programming changed data!
  • Made programmer work for all PIC's!, before it would only program up to 0x0400 which is the size of a PIC16F84, now you can set the PIC size in: ~/.picprgrc
  • Added options:
    • Erase non-code protected PIC data
    • Erase code protected PIC data (i.e. all data)
    • Calculate PIC checksum
  • Added extensive debugging output.
  • Made code readable! (including a full syntax change).

PICPrg-2.2 - May 31, 2002 (Brian C. Lane)

Fixed problems with programmers that use open collector outputs, like the PIC-1 from ITUtech.

PICPrg-2.1 - Unknown Release Date (Brian C. Lane)

  • Error setting the config register (non-RC osc. wouldn't work).
  • Error and Confusion with Intel 16 file format cleared up. It now will read Intel 16 and 8m files automaticly.
  • Added display of addresses as they are being read, written, and verified.
  • Added support for no-color mode (-m switch or automatic detection).

Other Free Software for PIC's under Linux

ASM Compiler

GNU provide two packages gputils, for compiling assembly programs and gpsim provides simulation features. Also available within the Debian/Ubuntu package tree.

C Compiler

Hi-Tech provide a free (but limited) C compiler called PICC Lite. If you require other devices, it is recommend you buy the expensive PICC/PICC18 ($950USD). CCS is much cheaper ($175USD), but not as flexible and gcc-like as the Hi-Tech version. Otherwise code up a nice free PIC C compiler for us all.

USB/Serial Programmer

piklab-prog is a good command line program that supports many USB and Serial programmers, such as the Microchip PICkit 2 (50USD) and gpsim. Visit for more information.

NOTE: Currently it is recommenced you download the development source via svn.


© 2000-2024 Luke Cole
All rights reserved