
instructables
How to Make a PIC Programmer - PicKit 2 'clone'
by Mati_DIY
Hi! This is a short Instructable on making a PIC programmer which acts as a PicKit 2. I made this because it is
way cheaper than buying an original PicKit and because Microchip, the manufacturers of PIC microcontrollers and
the PicKit programmer, provides schematics and software, making it really easy for us to design our own
programmers, definitely an advantage of using PICs.
Tools Needed:
Soldering Iron and solder
Wire Snips
Needle Nose Pliers
PCB etching tools and materials - Can be replaced with a breadboard but will take up more space
Already working programmer (This is the downside, maybe you can borrow one)
PC (for programming the PIC that goes into the PicKit)
Materials Needed:
2 x 100nF ceramic capacitor
2 x 15pF ceramic capacitor
2 x 47uF 16v electrolytic capacitor
1 x 10uF 16v electrolytic capacitor
2 x 1N4148 diode
1 x PIC18F2550
1 x 28 pin thin IC socket (for the PIC18F2550)
1 x 680uH inductor, resistor-like package
2 x 3mm LED (one green and one red)
3 x BC548 transistor
1 x BC557 transistor
1 x 20MHz oscilator crystal
3 x 33 ohm resistor
1 x 100 ohm resistor
2 x 330 ohm resistor
How to Make a PIC Programmer - PicKit 2 'clone': Page 1

1 x 1k resistor
1 x 2k7 resistor
2 x 4k7 resistor
3 x 10k resistor
1 x 100k resistor
1 x 2-pin tactile switch (button)
1 x pin strip (only 6 needed)
Step 1: Schematics and PCB design
For the schematics, I based my design on the one
provided by Felixls in his page:
http://sergiols.blogspot.com.ar/2009/02/pickit-2-c...
He also provided a PCB design, but I found that the
traces were too thin to make at home, so I redesigned
the PCB on Proteus.
Here are the files of the design and a pdf to print for
making the PCB.
Download (https://cdn.instructables.com/ORIG/F PM/WQ7I/IZ 6E504H/FPMWQ7IIZ6E504H.pdf)
http://www.instructables.com/ORIG/FPM/WQ7I/IZ6E504H/FPMWQ7IIZ6E504H.pdf
(https://cdn.instructables.com/ORIG/FPM/WQ7I/IZ6E504H/FPMWQ7IIZ6E504H.pdf)
How to Make a PIC Programmer - PicKit 2 'clone': Page 2

Download (https://cdn.instructables.com/ORIG/F 16/FZN5/IZ6E504F/F 16FZ N5IZ6E504F.pdf)
Download (https://cdn.instructables.com/ORIG/F XU/EGRY/IZ6E504I/FXUEGRYIZ6E504I.pdsprj)
http://www.instructables.com/ORIG/F16/FZN5/IZ6E504F/F16FZN5IZ6E504F.pdf
(https://cdn.instructables.com/ORIG/F16/FZN5/IZ6E504F/F16FZN5IZ6E504F.pdf)
http://www.instructables.com/ORIG/FXU/EGRY/IZ6E504I/FXUEGRYIZ6E504I.pdsprj
(https://cdn.instructables.com/ORIG/FXU/EGRY/IZ6E504I/FXUEGRYIZ6E504I.pdsprj)
How to Make a PIC Programmer - PicKit 2 'clone': Page 3

Step 2: Making the board
If you want to learn how to make a PCB at home
there are plenty of Instructables online where you can
learn.
Once you have finished making the board you will
need to solder the components, you can use these
pictures to help.
Component list:
C1 100nf
C2 47uf 25v
C3 100nf
C4 47uf 25v
C5 10uf 50v
C8 15pf
C9 15pf
D1 1N4148
D2 1N4148
IC1 PIC18F2550
L1 680uH
LED RED LED 3MM
LED GREEN LED 3MM
Q1 BC548
Q2 20MHZ
Q3 BC548
Q4 BC548
Q5 BC557
R1 33
R2 33
R3 33
R4 4k7
R5 330
R6 1k
R7 330
R8 100k
R9 2k7
R10 4k7
R11 10k
R12 100
R13 10k
R14 10k
BTN tactile switch
SV3 6 pins
X3 USB B female
How to Make a PIC Programmer - PicKit 2 'clone': Page 4

1. A wire goes here to make a bridge
1. Writing the pin functions with a permanent marker helps a great deal
1. Remember soldering a jumper wire / bridge
How to Make a PIC Programmer - PicKit 2 'clone': Page 5

Step 3: Programming the programmer
To program the PIC18F2550 to use in the
programmer you will need a functioning PicKit. Once
you get one or borrow one, you will need to install the
PicKit 2 software: PicKit 2 v2.61
First open PicKit 2 and plug your functioning
programmer. If it doesn't say 'PicKit connected' in the
message window, try clicking ‘Tools > Check
communication’.
Then connect the PIC18F2550 to your functioning
programmer using a breadboard and making the
appropiate connections, like the image above shows.
If it isn't detecting the PIC, showing 'PIC Device
Found', then try clicking ‘Tools > Check
communication’ a couple times. If it still doesn't detect
the PIC, check the connections.
To upload the program to the PIC go to ‘File >
Import’, then ‘C:\Program Files (x86)\Microchip\PICkit
2 v2\PK2V023200.hex’ and click 'Open'
Wait until it says 'Hex file successfully imported' and
click ‘Write’ , the wait for it to say 'Programming
successful'
How to Make a PIC Programmer - PicKit 2 'clone': Page 6

Step 4: Using the PicKit
First plug in our programmer and open PicKit 2. Wait
for PicKit to detect the programmer, and if it doesn't,
click 'Tools > Check Communication'.
Connect the PIC we want to program to our
programmer. If you don't know how you can search
online for the pin distribution of the PIC and find the
corresponding MCLR, VDD, VSS, PGD and PGC
pins to connect to the programmer.
Wait for PicKit to detect the PIC showing 'PIC Device
Found', if it doesn't then try clicking ‘Tools > Check
communication’ a couple times. If it still doesn't detect
the PIC, check the connections.
Open MPLAB, MPLAB X, or whichever IDE you are
using and compile the program.
After compiling, go back to PicKit 2 and go to 'File >
Import Hex'. With MPLAB X you can find the hex file
of your project in 'Project_Directory > dist > default >
production > Project_Name.production.hex'
Click 'Write' and wait for it to show 'Programming
Successful'
If you wish to modify your program you don't need to
import the hex file again, you should just compile it an
click 'Write' in the PicKit software. Among the
messages it displays it should read 'Reloading hex
file' .
That's it !
Happy programming
How to Make a PIC Programmer - PicKit 2 'clone': Page 7