This programmer is intended for people who need a microchip pic programmer to flash at hex file onto a micro controller, but seldom do so and find investing in a pic kit of some sort too expensive. The programming process will take a long time, 5-30 min depending on hex file size, so its NOT recommended for microchip software developers.
What you need:
USB virtual com port module or cable with DTR, CTS and RTS.
1 x NPN Transistor etc. BC547B or BC338
2 x 10 Kohm Resistor
1 x 4.7 Kohm Resistor
A STABLE 12 volt power supply
Some wires a soldering iron
Step 1: The Circuit
This simple circuit will work with the free programmer software PICPgm
selecting it to operate as an JDM programmer.
Check out the the amazing numbers of supported devices and the software is available for Windows, Mac OS and Linux.
The second circuit makes the USB com both an programmer and a standard serial cable.
Step 2: The USB Virtual Com Port
My solution is based on the 2 $ USB virtual com port chip PL2303HX CABLE from ebay see it here
As seen on ebay there is a housing and you cant see the available pin outs. The housing opens easely. My cable came with the following pins TX,RX, +5V, +3.3V, Ground, RTS, DTR, DSR, CTS, DCD, but you need to ask seller which pins are available to be sure.
All other USB com modules with the RTS, DTR, CTS pins available will work.
20.5.2015 Note: Some time after publishing this instructable I became aware that some of PL2303HX chips on the marked are counterfeit. I tested this instructable on XP machine and had no problems and therefore not aware of this. I installed a custom hardware solution on another computer running windows 8.1 with another cable and realized that cable was counterfeit.
If you bought a counterfeit model and you are having driver issues, the driver error code will most likely be 10. If you google the chip number and the error code you will find a solution to make it work. I'm sorry for this issue, I don't support counterfeit.
Step 3: The SMD Hack
This even cheaper module as the picture shows, can be used if you can solder on smd chips. Remove the plastic and look for the dot which is pin 1. Solder wires on pin 2, 3 and 11.
Step 4: PICPgm Software
As the picture show I have successfully recognized a PIC18F448
Step 5: PICPgm Settings
In Hardware Settings choose JDM programmer, the correct com port. Invert all pins except MCLR.
You now have a functional ICSP programmer. Good Luck