Simple JDM PIC Programmer

Picture of Simple JDM PIC Programmer
I have built this project to burn my small PIC's
This is a serial programmer works on the RS232 ( PC serial port ), known as JDM Programmer, thanks to the site which contains the schematic and the programmer software.

The programmer is powered from the Serial port itself, so there's no need to any external power supply.
But be careful this circuit will not work with the Laptop Serial port due to the weak voltages it has.

- I have used a very nice programmer software called "Win PIC Programmer" you can download it from, it's very stable and powerful.

The project has been tested with the following IC's :


Remove these adsRemove these ads by Signing Up

Step 1: The schematic

Picture of The schematic
The Schematic for this project is shown below, no critical components .

Step 2: The PCB

- I have made the PCB using WinQcad Software it's easy and has a nice autorouting feature. Please download the PDF document which contains the true scale dimensions.

You will see two files :

PCB.pdf and PCB_copper_pour.pdf
the second one has a "mass copper pour" to save your etching solution and to speed up the etching process without affecting your tracks.

- I used the Toner Transfer method draw the tracks, i can say the output is nice. I have included the steps required to make PCB in the following steps.
PCB.PDF(198x112) 14 KB
PCB_copper_pour.PDF(198x112) 39 KB

Step 3: Toner Still on the PCB

Picture of Toner Still on the PCB
This output from the Ironing process, you can see the black toner tracks, the paper has been removed using a tooth brush.

Step 4: Etching

Picture of Etching
The PCB is then inserted in the Etching solution, i used Ferric chloride it's cheap in my country.
Be careful it's a toxic material don't do this step in your kitchen.
Actually i did, but my wife wasn't there :)

Step 5: Final PCB

Picture of Final PCB
I used acetone to remove the toner, then it's ready to drilled.

Step 6: Soldering

Picture of Soldering
The components are soldered.
Note the brown wire, i have made a mistake when routing the PCB in WinQCad, don't worry it's corrected in the attached pdf files.

Notice the drawings on the component side, it's a guide when placing the components in case it's a big project :-)
edy912 years ago
hello... can any one give me te references of the computer compatible with thes circuit... i am trying using a intel core 2 due but it is not detecting the circuit im the paralel port...
please help me... i am trying for a long time now...
omnibot edy912 years ago
It is compatible with any computer that has a serial-port (rs232). Do not use the paralell port (centronics).
Hope this helps :)

Except for laptops, which will give at most 7V at the "TxD". If you add a 13V external power source (and interface the TxD signal with it), it should work fine.

edy91 omnibot2 years ago
I tried in many computers. The programmer is initialized but when I try to program the pic (pic16f84a) it gives an error. The error says that “verification failed. Attempt to reed 3ff in stead 000”
ttrg edy912 years ago
it work with any PC. You need to do one thing, DISABLE your anti virus and anti spam etc.(if any). And use PICprg programmer you can download here :
ttrg edy912 years ago
use serial port DB 9 connector.
xenonic2 years ago
can I use a 5.1 volt zener diode instead of a 5.6 volt?

I would think like you, but I realised that the 5V6 zener is to compensate the voltage loss on the 1n4148 diode (aprox 0.3 - 0.5). That diode is to protect the serial port pin, it "isolates" the 5.1V mini-power source for the PIC from your computer's 12 - 13V one. I think that if you put a 5V1 zener without that 1n4148, when you unplug the DB9 socket, you may get a 5V potential right on the \MCLR pin, which may generate errors.

NICO15XD3 months ago
Wich are the materials?
MTXRooster6 months ago
Anyone know if a PIC16c54 chip would work? Not sure of the differences between a 16C54 and a 16f84?
GenesisMaster8 months ago
How did you add the silkscreen on your PCB (step 6)?
andreithug9 months ago
Is there a difference if u use different programs to create the hex ? i tried the programmer with Mikroelectronika C compiler and also with MPlab ide . With both the programming was succesful(or so did the software say) but after programming with Mikroelectronika the PIC would do nothing ...or would do weird things. After programming with MPlab it worked just like it should. I must add that i wrote both codes and both worked fine on software simulator. Why is it that on PIC one would work while the other won't ? Did i do something wrong ?
rkancharla10 months ago
Awesome!!! no errors, just follow the pcb.... thumbs up (y) A+ :)
hamid manzoor12 months ago
For how many PIC's Simple JDM PIC Programmer ( This Simple JDM PIC Programmer ) can work?????
Which are those PIC's Numbers for this Simple JDM PIC Programmer.

Thank You.
Larry99W1 year ago
Very Good Article. I need to program a 28 pin dip (PIC18F2220). Will this do the job? What mods are needed other than the bigger socket? What software do you recommend? Many Thanks. This is for a GPS Disciplined Oscillator. 73, Larry
chetancc1 year ago
I want to program PIC12F629 with readymade .hex code. Which programmer should I use? I would like to know the best and cheapest programmer available. I bought PICKIT2 clone from India but I had very bad experience with it. I couldn't program with it.
Can you please suggest me good programmer?
i don''t have serial port on my pc,so can i use serial to usb adapter,will it works?
reply me plzzz i need to program pic16f628A.thanx in advance
Hi, did anyone ever your question about converting to USB? I have the same issue.

I have the same question :)
xenonic1 year ago
I made it and it just works... AWESOME! really fast programming with PICPGM. Thanks a lot! Now i only need a software to write the code in basic and compile it to hex. Does anybody knows that kind of software? THANKS!
I've asked that question in the Q&A and here's the answer:
I made up the circuit - but used a female db-9 connector. All the pin numbers are reversed, so make sure the connector used is a male with shroud(so you see the pins) type !
Many thanks for this project A+
waddaphak1 year ago
hello there.. will it work if i use a serial to usb interface cable?
wil this surely works with PIC16F684 and PIC16F676???

give also terminal pin numbers of DB9 port..

is the 3 on TxD is 3rd pin of DB9 programmer connector and all other inputs like that one?

Reply, thanx.
is the 3 on TxD is 3rd pin of DB9 programmer connector and all other inputs like that one?

qwerty09872 years ago
can i use ZIF socket INSTEAD of IC socket
Of course you can! Only if you're gonna make a pcb by your own, think about the size of the socket. Cheers from Holland :D
AndreasR2 years ago
I build a pcb, and want to complite the device, but its total diverence then that you build, in the pcb com pin 5 and 4 are not conectet to anything?! can someone help me please?! thanks andreas
Kante Tech2 years ago
Okay but what if i really wanted to use it with a laptop is possible for me to add a outside powers source and if so can you show me how.
a simple way to add external power for VPP is to hook up the 10k resistor going to pin 4 into the base of an NPN transistor instead of pin4. hook the collector to 12-13volt positive, and the emitter to pin 4.(i know this arrangement is backwards so make sure to use a bipolar transistor, most small ones would work) and lastly hook 12-13volt GND to pin5. i use a similar mod for programming with my laptop serial port. if i'm wrong please correct me, use at your own risk.
BjornR2 years ago
Tested & working with a PIC16F819.
I'm using Picprog 1.9.1 on Fedora 16 Verne (GNU/Linux).

Sometimes it fails to program the chip,
"Burning program memory,/dev/ttyS0:0000: programmed=2cc4, read=2c40:unable to verify pic while programming."

I'm not sure why but i think there's not enough energy to power the chip.
That's why i've replaced the 10µF capacitor by a 22µF one and i send some dummy data to the serial port before actually programming it. This way the capacitor has charged enough to power the chip.
yooooo10892 years ago
Gr8 work thanks for sharing this info:)
redmatrice2 years ago
thank you from morocco i had some trouble making it, cause this is the first time for me :), but know it works great thank you again
john662 years ago
I tried it to write eeprom 24C04, using the pins Vdd, Vss, clock, and data. But it didn't work. Why?
I used the ponyprog and ic-prog.
BjornR2 years ago
It's so simple i was able to build it on a break-out board in minutes and it works!
Using IC-Prog 1.06C and a PIC16F819 i do often get validation errors though but i expect it to be solved by using a larger capacitor.
echamba2 years ago
would i be able to swap out the serial connector for usb?
hosam_eldin (author)  RESHMA BANSODE2 years ago
Great !! have fun :)
Is there a way to do this with the USB-Serial thing the Arduino has instead of the regular serial port? I don't have any computers with a serial port.
Unfortunately, this doesn't work with my PIC12F675s. It programs nicely the first time, then the calibration bits get lost somehow, then it just stops accepting programs all together! I'm using a desktop PC with WIN PIC, and I have not modified the schematic (except for the pinout, obviously!). Am I doing anything wrong, or does this programmer just not work with my PIC?

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!