This project details how to build a JDM style programmer to program PIC Microcontrollers using Microchip's ICSP (In Circuit Serial Programming) and freeware software (PICPgm).  Total project cost: less than $10.  This device has been tested on both the PIC16F877 and PIC18F4550.  Check the PICPgm website to see compatibility with other PIC microcontrollers.

I used information from http://www.olimex.com/dev/images/PIC/PIC-USB-4550-sch.gif and Ian's excellent instructible http://www.instructables.com/id/Business-Card-PIC-Programmer/ to complete this project.

Step 1: Parts and Tools

Picture of Parts and Tools
Most of these parts are fairly common and can be found at Digikey, AllElectonics, or Radio Shack:

(1) DB9 Female Serial port connector w/ at least a 5 wire cable attached  (Connector was $4.50)
(1) Cable with 5 wires and a connector to connect to PIC circuit (I used an old mouse cable)
(1) 1.5K Ohm Resistor                        ($0.14 ea)
(1) 10K Ohm Resistor                         ($0.14 ea)
(4) 1N4148 Diodes                              ($0.18 ea)
(1) 8.2V Zener Diode                           ($0.32 ea)
(1) 5.1V Zener Diode                           ($0.27ea)
(2) BC547 Transistors                        ($0.41 ea)
(1) 22uF Tantalum Capacitor            ($0.32 ea)
(1) 100uF Electrolytic Capacitor        ($0.27 ea)
(1) Small Prototype Board                 ($1.99 ea)
(1) Small Mint Tin                                (Had one laying around)
Some small guage wire for connections

Tools required:
- Soldering Iron and Solder
- Wire Strippers
- Multimeter (for checking connections)

ikovalchuk1 year ago

How can I make it work with usb2serial adapter? What If I put external +12V from other source?

dirkandterra (author)  ikovalchuk1 year ago

Good question, I have been meaning to look at this for a while. Non-Usb serial ports are getting harder to come across. This might work, but I'm not sure how the constant 12v feeding the MCLR transistor will affect the rest of the circuit. Not sure either if the USB to serial adapter might do something weird to the circuit. I have done a little looking, but I am not clear if this will work or not. Sorry!

bishal2 years ago
I do not get a 13V output at MCLR pin, is this normal? JDM Programmer detected... PIC not detected help...
dirkandterra (author)  bishal2 years ago
You should get around 12VDC when you have it plugged in. Do you have anything else in circuit with the MCLR pin as part of your project? Are you using an onboard serial port, or a usb adapter for your PC's serial port? If you are using a usb to serial adapter, it will not supply the 12v that the circuit needs to work.
bishal2 years ago
I do not get a 13V output at MCLR pin, is this normal? JDM Programmer detected... PIC not detected help...
Sir can i use a normal 22uF electrolytic capacitor instead of a tantalum cap?
dirkandterra (author)  John C Sunil2 years ago
You might be able to get by with the normal cap, but I recommend the tantalum since it was spec'd out.
Sir can i program a 16f88 with this? Please reply soon!!!
dirkandterra (author)  John C Sunil2 years ago
Picpgm does support the 16F88, so it should work. I did not personally test the 88 though, sorry.
xenonic3 years ago
I found a solution if you get an error. When I run any other program than picpgm, it doesn't find the programmer. When I close everything, exept picpgm, it detects everything. Weird but true
i m getting error as "verify errors occured".plz tell me why it is?
i ahve checked all the hardware. it found ok.plz reply its urgent
dirkandterra (author)  arun_jadhav19893 years ago
Sorry for the late reply. Is it autodetecting your programmer and pic? When you power it on, does it automatically recognize that you have a 18f4520 in the programmer?
xenonic3 years ago
when i use picpgm and put in my programmer, it says:
Checking connection of JDM Programmer ...
Error opening LPT driver!
No Programmer found! Check connection!
No PIC detected!

dirkandterra (author)  xenonic3 years ago
Check your settings, it looks like you have your printer port selected. In hardware, do you have autodetected selected?
plz reply for above query its urgent....i am using pic18f4520
ign4073 years ago
is it supported for pic 18f248???

give me a schematic for 18f248 programmer
dirkandterra (author)  ign4073 years ago
I have not tested a 248, but the PICPgm site says that it is compatible

1. MCLR Pin is pin 1 on the 248
2. VDD Pin(s) is pin 20 on the 248
3. VSS Pin(s) is pin 8 and 19 on the 248
4. PGC Clock Pin is pin 27 on the 248
5. PGD Data Pin is pin 28 on the 248

The schematic will me the same for the programmer, just connect it to the pic as described above.
robot13984 years ago
this helped a lot
dirkandterra (author)  robot13984 years ago
Glad to help!
did you rate
robot13984 years ago
check out my new instructable and plzzzz rate
robot13984 years ago
do i just copy paste the code to the programming software
dirkandterra (author)  robot13984 years ago
You have to open a .hex file with the software. You can generate the .hex file using Microchip's free IDE found on their website.
chip programmed yay
dirkandterra (author)  robot13984 years ago
robot13984 years ago
where can i get a Female DB9 Serial Connector
dirkandterra (author)  robot13984 years ago
Model: 276-1538

The housing is usually sold separately. Or you can chop a serial cable in half and use it. Let me know if you have any other questions.