There are many designs on the web for PIC programmers. Some are clones of the Microchip programmers that use a PIC inside of the programmer. The first category of programmers use a PIC microcontroller as the core. Note: There is a chicken and egg bootstrapping problem with building your own PIC programmer that contains a PIC, you need a way of programming the PIC that goes in the programmer.
The second category of programmers is simple designs that do not contain an microcontroller such as a PIC. Typically these are serial port programmers, that require an RS-232 port that puts out at least 12 Vdc. Many laptop serial ports and USB serial port adapters cheat a bit and do not put out enough voltage for PIC high voltage programming (HVP) which needs 12-13 V. In order to go the full DIY route, a simple serial port programmer like the JDM2 could be used to program an 18Fx550 used in the PICkit 2 or ICD 2 clones.
b1e95dc632