This is one of my electronics projects. It is currently work in progress.
This is yet another parallel port PIC programmer for the Microchip 8-bit MPU series of microcontrollers. The only reason for doing yet another PIC programmer is because it allows me to bundle it together with some of my other projects that use PIC microcontrollers.
The goals are:
The non-goals are:
My projects usually go through multiple revisions. The following revisions are available:
I originally used an Open Source PIC programmer written by Brian C. Lane at http:/www.brainlane.com/. The current link is http://www.brianlane.com/picpgmr.php or http://www.nexuscomputing.com/picpgmr.shtml. Another place to look for Linux PIC programming software is over at http://www.gnupic.org/. The section on device programmers is currently at http://www.gnupic.org/i_burn.html although I would not be suprised if it gets reorganized. Please note that PicProg 2.2 does not work with versions of Linux 2.2 or greater. A patch is needed. Please read the page at gnupic.org to find out how to get the patch.
I subsequently wound up writing my own software to run the programmer. The software is divided into two pieces:
/dev/port
on Linux, it needs
to be run as root. However, it only allows
access to a single predesignated parallel
port; so other non-root programs can
safely connect to port 4243 and send
programming commands.
One of these days I will type in some construction instructions. For now, you are on your own.
To program a chip, follow the directions below:
PIC Name | Clock Pin | Data Pin | Vpp Pin | Vdd Pin | Vss Pin |
PIC12C508/508A/509/509A/518/519 | 38 | 39 | 4 | 1 | 40 |
PIC12C671/672/673/674 | 38 | 39 | 4 | 1 | 40 |
PIC14000 | 34 | 35 | 4 | 36 | 5 |
PIC16C50x | 38 | 39 | 4 | 1 | 40 |
PIC16C55x | 34 | 35 | 4 | 36 | 5 |
PIC16C6x/7x/F87x/9xx (28-pin) | 39 | 40 | 1 | 32 | 8,31 |
PIC16C6x/7x/F87x/9xx (40-pin) | 39 | 40 | 1 | 11,32 | 12,31 |
PIC16C84/F8x | 34 | 35 | 4 | 36 | 5 |
PIC16F62x | 34 | 35 | 4 | 36 | 5 |
PIC12F629/675 | 38 | 39 | 4 | 1 | 40 |
PIC16F630/676 | 38 | 39 | 4 | 1 | 40 |