PIC PG-II is a good generel purpose programmer for most of the commonly used PIC microcontrollers.

A number of programmer designes are available on internet to program PIC microcontrollers. JDM desighn is by far the most popular. This PICPG-II programmer has been designed on the JDM design guidelines. This is an excellent tool for hobbyists and students who want to program  most commonly used PIC microcontrollers.

This programmer does not require an external power supply. Indeed it takes its supply and generates 12V programming volts through the serial port. This programmer will therefore require a hardware serial port. It does not work with USB to serial converters or serial ports with older laptops.

The serial cable required has to have all the 9 pins connected and should be straight cable. Most students have crossed cable, or they have made custom cable using only three pins for data transfer. This kind of cable will not work.

In Circuit Programming

It is traditional to have a ZIF socket on programmer, to insert the microcontroller, program it and then re-implant in target board. The standard practice in today's world is to program the microcontroller in its target board. Microchip also promotes this philosophy. Therefore all standard boards have a header for connecting this programmer. The microcontroller gets programmed in site, without the need to remove it.

Since programmer can provide only limited current, the board peripheral devices can take up lots of current and programming fail. Therefore keep the power of your board ON while programming.

When programmer is connected to the board it keeps its MCLR pin high to 12V and therefore processor is not allowed to execute. After programming is complete disconnect the programmer from board, by unplugging the program cable, or simply by disconnecting the Serial cable from programmer.

Supported Processors

Although the list is long, and also depends upon the client software used. 

We have tested it with following controllers:

16F84A, 16F676, 16F628A, 16F876, 16F877, 16F877A

18F2550, 18F4550, 18F452, 18F4580, 18F4520

for more details see the software list you are going to use.