This is a description of my very simplified home-made pickit2 clone.
Basically I took the schematic in the User Guide and removed everything I could.
What I removed:
Leds (pretty useless)
The eeproms (they are not even used by the firmware)
The Vdd circuitry. Hence this programmer can not supply power to the target circuit. I thought this would be a problem for older devices such as 16F628 or 16F877A that, in theory, require Vpp before Vdd, but actually, it works anyway !
The self-inductance L1 is supposed to be 680 uH. I used an unknown one, salvaged from an old PC power supply. It’s the black cylinder in the photo. Since the Vpp voltage is regulated, that should not matter.
The 10-ohm R1 is here so that C6 does not draw too much current from the USB when you plug the programmer.
C4 must have a voltage rating of at least 25V.
The Vdd feedback is set to a fixed value of 3.4V, which is OK for both 5V and 3.3V PICs. I have successfully programmed 16F, 18F, dspic30, and dspic33 chips with this programmer.
(Some parts from the schematic do not appear on the photo because I used second-hand SMD resistors, and hence they are on the other side of the circuit. The layout was originally designed for regular thru-hole components, though. See below.)
This circuit is very simple, and I built it on a veroboard.
Here is the layout that I used :
The same, viewed from below:
The lightblue marks are the places were I did cut the strips of the veroboard (with a Dremel).
There’s a slight caveat, of course: to build this PIC programmer, you need a ... PIC programmer, to load this program on the 18F2550.
You can then use the program supplied by Microchip (Here) to use it, or to troubleshoot it (Check that Vpp works fine. That’s pretty much all that remains in this circuit). The first time that you launch it it will update the firmware to its newest version.
It works ! And now you can program your PICs directly from inside MPLAB. Very handy. And VERY fast.