After many days of work and
research I am now ready with Microchip PICKit2 programmer clone with Minimum
and easily available parts with almost full functionality necessary for
programming. This is based on the microchip PICKit2. Unlike the original, it also support
ICSP (In Circuit Serial Programming) as well as provision of 8/14/18/20/28/40
pin programming adaptor is also incorporated to make programming easier. It supports 5V as well as 3.3V devices. The
controller is fully compatible with the MICROCHIP PICKit2 v2.61 /Microchip MPLAB
IDE and as the firmware is
developed by Microchip all devices are supported by this
programmer like : PIC10F (DIP8) PIC12F (DIP8) PIC16F (DIP14, 18, 20,
28 and 40) PIC18F (DIP18, 20, 28 and 40) dsPIC30F (DIP28 and 40). I
personally program and verify 16F628A without any problem , in theory, they require Vpp before
Vdd, but actually, it works anyway !. I try my best to reduce the component count
as low as possible without losing functionality, also I keep in mind that some
of the components used in Microchip original design is not easily available everywhere
therefore the components I used here, except
18F2550 is of general purpose type.
Inductor L1 is not so critical you can use any value between 450uH-1mH but the
current rating should be at least 10mA or more. You can arrange the inductor
from any 20/25W old CFL (generally 1mH inductor used in CFL’s).
The push button used here to force PIC18F2550 to enter in bootloader
mode at power-up, or trigger chip programming after power-up (Generally
used for standalone programming, and almost useless here and incorporated only as some conditions
demands sometimes).
Here for 3.3V devices the required VDD is generated using LM317 regulator because the USB supply varies from 4.75V to
5.25V from PC to PC
ICSP
MALE & FEMALE CONNECTOR
The "POWER"
LED will be constantly lit when PICkit2 is power up.
The "TARGET" LED
will lit when PICKit2 supply Vdd to external circuits.
(you can even omit this if you like)
The "BUSY" LED will lit when PICkit2 is communicating with PC or
programming a chip.
Resistors
R9, R14, and R19 are used to limit the current to LEDs.
Two pins (i.e. D+ and D-) of PIC18F2550 are
used to connect to USB Data+ and Data- to PC and used for communication.
An internal 3.3V regulator is used to power the internal transceiver. A 0.47uF capacitor C2 (use only 0.47uF polyester
type capacitor here) is used to
stabilize the 3.3V supply.
PICkit 2 is a USB powered, low-power device, it gets all the power from
PC USB +5V power supply. The USB port
provides a 5 V(±5%) supply and
maximum permissible load current is 100mA in USB 2.0. When the total
current for both target and the PICkit2 programmer exceeds this current limit,
the USB port may turn off. If this situation arises then target needs external
power supply.
Since PICKit2 itself can draw current as high as 75mA, therefore the target circuit should be limited to 25mA if PICkit2 programmer supplies power. It is always a good in practice to use external power supply when programming hi-performance chipsets, like dsPIC30Fs (they normally consume more current).
Since PICKit2 itself can draw current as high as 75mA, therefore the target circuit should be limited to 25mA if PICkit2 programmer supplies power. It is always a good in practice to use external power supply when programming hi-performance chipsets, like dsPIC30Fs (they normally consume more current).
Important Note :-During the construction of this programmer I face a strange problem
related to the USB, my PC is not detecting the hardware, then I searched
datasheets and web for solution but nothing found , after that I connect a pull-up resistor (i.e.4.7k) from
pin No.14 (i.e. VUSB) to +5V supply(i.e. Vdd) ( as shown in figure below) …..and
it works perfectly as a HID device…..in
case, if you also face the similar situation then try this, otherwise go for
straight way.
Boost voltage Generation and Control
VPP Boost voltage Generation and Control
As the VPP voltage requirement for PIC varies from 3.3V (dsPIC33F) to 13V (PIC18F ) and as USB port supplies only 5 volt. Therefore a switch mode boost circuit (as shown above) is used to generate the required target voltage ("VPP").
As the VPP voltage requirement for PIC varies from 3.3V (dsPIC33F) to 13V (PIC18F ) and as USB port supplies only 5 volt. Therefore a switch mode boost circuit (as shown above) is used to generate the required target voltage ("VPP").
To stabilize the power supply of the switch
mode boost circuit and damp the possible noise , C7 is used, and they should be
placed as close as possible to inductor L1. The PIC18F2550 controls the switching
of Q1 (i.e. BC548 or you can use any general purpose transistor
here) .The current handling capacity for inductor L1 should be at least
10mA. When Q1 is on, electric current flow through L1 and Q1, energy is stored
in L1. When Q1 is turned off, a high voltage is generated at collector of Q1.
The diode D1 i.e. IN4148 conducts and
charged the capacitor C1, electric current will keep flowing through L1
and D1. This will charge the capacitor and raise its voltage to desired VPP
voltage. Resistor R2 and R3 generate a feedback signal which is send back to
PIC18F2550 pin No.2. With this "VPP_FEEDBACK" signal, the PIC18F2550
precisely adjust the switching frequency
of Q1. Thus this feedback boost circuit can generate the required "VPP " voltage.
R4, R5, R6, Q2 and Q4 are used as ON/OFF
switch for VPP. When "VPP_ON" is set at high logic by PIC18F2550, Q2
will be on, which will then turn on Q4, and the voltage on C1 will appear on
ICSP VPP Pin No.1. When a low logic is send to Q2 by PIC18F2550, Q2 and Q4 will
be turned off. This in turn cut off the VPP supply to external circuit. When Q4
and Q3 are both off, the VPP Pin No.1 is in floating condition. The PIC18F2550
can turn on Q3 and it will clamp VPP Pin to ground. This has been used for PICkit2 self test procedure,. thus overall
VPP control procedure makes it possible to turn ON and turn OFF VPP at any time.
Note :- The voltage rating of capacitor C1
should be 25v or more . R2 and R3
should have 1% or better accuracy. If
possible try to use Schottky type diode(like
BAT54) in place of D1 to ensure
low voltage drop otherwise use
IN4148.
Important Note :-Generally PICkit2 can provide Vdd to power external circuit but in situations where target is powered by external source it is necessary to remove the “Vdd selection(3.3v-5v) jumper J1 to isolate the internally generated Vdd from the external Vdd, otherwise target device may be damaged.
Software, Firmware & Schematics
You can download the required software’s, firmware & Eagle schematics from the links given below, also it is recommended to read the “PICKIT 2 user manual” as well as “Programmer-To-Go_User_Guide” placed in help section of software before using this.
Important Note :-Generally PICkit2 can provide Vdd to power external circuit but in situations where target is powered by external source it is necessary to remove the “Vdd selection(3.3v-5v) jumper J1 to isolate the internally generated Vdd from the external Vdd, otherwise target device may be damaged.
Software, Firmware & Schematics
You can download the required software’s, firmware & Eagle schematics from the links given below, also it is recommended to read the “PICKIT 2 user manual” as well as “Programmer-To-Go_User_Guide” placed in help section of software before using this.
Firmware :- BOOTLOADER.HEX
Remember :- Remember
that, only BOOTLOADER.hex file need to be burned in the 18F2550 and nothing else. After that when you connect the PICKIT2 to PC
using PICKit2 v2.61 software it shows a message “ No OS found, download the required firmware”….then go to the TOOLS > Download pickit2 operating
system…. And you find that target folder contain the required firmware file PK2V023200.hex, choose it , wait for a minute
till the firmware is successfully uploaded to 18F2550 and enjoy!!!!!
One more thing you need a extra programmer to burn the BOOTLOADER.hex to the 18F2550, a serial
based JDM programmer is suitable for that. For your convenience JDM based programmer schematic
and required software link is provided below
JDM
programmer schematic
Software
for JDM programmer :- WinPic800
Still if you have
any query or questions feel free to comment I will try my best…….
Regards
Rishi kumar Sumal
hi this is vikram i have built pic kit2 but when i conect hardware to pc it showing no drivers installed..........unknown usb device not recognized, can you please help me when i try to select .inf files of microchip it saying drivers on hardware is not matching
ReplyDeletecan you please send me this .inf file for the above bootloader.hex file please. my mail id is sankervikram@gmail.com
Dear vikram i think you not read the above blog carefully, here I mention the remedy for USB malfunction.....and there is no need of any .inf file for your pickit2...it is detected as a HID device.....after installing the bootloader.hex just update the 18f2550 with latest firmware which you can download from the link given above in blog or from microchip website
ReplyDeleteyA when i connect hardware to pc it is not being detected as hid instead it is detected as usb device i have tried by connecting to desktop and also laptop. please tell me now what should i do next.....
Deletedear vikram I request you to download the bootloader.hex from link given above in blog and burn again in 18F2550 and then try....... as u mentioned that your H/W detected as normal USB, it means your H/W is Ok.......problem seems to be related to Firmware...
Deleteregards
Rishi
The problem is loading bootloader in pic
Deleteplace 470nf with 14th nos pin of 18f2550 for unrecognise usb problem.
ReplyDeleteNice post,
ReplyDeleteI've make this PICKIT-2 clone successfully. Also checked with PIC18F2550, PIC16F76 and PIC16F877A and working OK.
Thanks again for detailed instructions.
Thanks Mr. Ahmed for sharing information ..... :)
ReplyDeleteregards
Rishi kumar
thanks Rishi rajput & Mr. Ahmed
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHi , I'm facing a problem. The pickit2 software shows vpp voltage error.
ReplyDeletePickit2 v2.61.00
Hai, am Anoop,
ReplyDeleteThe link that doesn't contain BOOTLOADER.HEX and Eagle Schematic and PCB ....pls send me the same
anoopcuiet@gmail.com
This comment has been removed by the author.
ReplyDeleteThanks to Rishirajput.
ReplyDeleteHi friends i have made this pickit2 clone on 30/03/2016 with BAT85 Instead of 1n4148 ,and 470UH inductor ,no need of extra resistance at pic18f2550 pin-14, with only loaded standard firmwarePK2V023200 .hex(without Boot loader)to 18f2550 and tested to pic16628a with pickit2 software PICkit 2 v2.61,and working, but in mplab ide 8.36 it programs without any Erro code But pic is not working in my practical circuit.so can be constructed and used with pickit2 software Witout any problem (I have not checked other PIC MCU) if any friend wish.
I would highly appreciate if you guide me through this. Thanks for the article…
ReplyDeletehotmail.com account
Please can you upload the PICkit 2 Development Programmer / Debugger PICKit 2 v2.61 PK2V023200.zip
ReplyDeleteFirmware :- BOOTLOADER.HEX
Eagle Schematic and PCB.
The ziddu link is dead
Can you upload and schematic and pcb..the ziddu link not working
ReplyDelete