This instructable is an illustrated walk through building an ICD2 clone called the Inchworm.
It's a straight forward kit that lets you build an MPLAB ICD2 compatible Programmer and Debugger.
There are lots of Programmers out there but very few include a debugger, (A debugger lets you single step through your program and set watch lists (see your variables) and much more).
The full manual including schematic and notes can be found at blueroomelectronics
Step 1: Preparing the PCB
Wash the circuit board in a mild detergent and thoroughly dry before assembly.
Step 2: Solder All the "low Profile" Parts
Here I've soldered and trimmed the leads of all the low profile parts. When building a PCB it's often easiest to assemble the small parts first. This method gives you more room to work when adding the taller parts.
Add the resistors first, noting the tan resistors are the common 5% tolerance versions and the blue resistors are 1% metal film types.
Now install the diodes, both the smaller glass diodes and the larger power diodes require you to pay attention to the colored band on the cathode of all diodes. Failure to install the diodes in the correct orientation will keep the Inchworm or any electronic project from functioning properly.
Note: I'm building a battery powered version for demos, the power diodes I used are low dropout Schottky 1N5817 types instead of the more common 1N4001 diodes. The six small glass diodes are common 1N4148 types (you can also use 1N914)
Step 3: More Small Parts Added
Here the IC sockets have been added.
When you solder an IC socket its a good idea to solder in only one pin on a corner to give you a chance to have it sit properly on the PCB. Once the socket is flush continue to solder the rest of the pins.
Next the bypass 0.1 uf caps are added, these tiny caps are important when using any logic IC, they are for absorbing little glitches with digital logic chips.
I've added 5mm LEDs instead of the 3mm specified LEDs. It's simply a matter of taste.
Step 4: The Taller Caps Are Added
Here the larger electrolytic capacitors have been added.
'I've used microminiature caps when I could get them, you don't have to. There is room on the PCB for larger standard capacitors; just make sure they are correctly voltage rated. The small black 10uf caps are rated for 25v and the larger yellow cap is rated for 16v.
Step 5: Final Assembly
Now for all the large parts.
Add the power, ICD2 and RS232 connectors.
And yes it is a DE9 connector DE9 Wikipedia
Before you solder the 7805 (or LM2940-5) test fit it with the heatsink optionalinstalled before soldering. The screw and nut are #6 and fit nicely.
insert the MAX232 (or ST232) and apply power. Check the voltages at the two test points (TP +5 and TP VPP >12VDC)
Now remove power and install a preprogrammed 16F877 or 16F877A **(the bootloader firmware for the 16F877 can be found in MPLAB and the the 16F877A can be found on my site.
Note: I've used a low dropout LM2940-5 for battery operation.
Step 6: Optional Case
Here's a finished Inchworm mounted in a Hammond 1591B case. I've uses standoffs so I can attach...
It's also possible and cheaper to mount the Inchworm in a Hammond 1591BC case lid using #6 screws. Makes for a nice low profile ICD2.
Step 7: The Firefly 16F88 Tutor Mounted on the Inchworm
Here the inchworm is shown with an optional Firefly 16F88 Tutor and ZIF socket board.
The LEDs are lit because it's getting its power from 6AAA NiMH batteries located in the Orange Hammond 1591B case