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 :-)
1-40 of 190Next »
hedra.adel2 months ago

i have a problem , my Serial port outpot is just 9 volt , what is the solution?

thank you for your time :)

GarethA1 made it!5 months ago

Used a slightly different circuit but it works! p.s zener diode is under the board

Yoruk7 months ago
could you share with us the parts layout, component side, for the new design ? thanks !
xenonic2 years 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!
eshahnazi xenonic8 months ago

micro bacic

I've asked that question in the Q&A and here's the answer:
edy913 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 edy913 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 omnibot3 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 edy913 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 edy913 years ago
use serial port DB 9 connector.
xenonic3 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.

NICO15XD1 year ago
Wich are the materials?
MTXRooster1 year ago
Anyone know if a PIC16c54 chip would work? Not sure of the differences between a 16C54 and a 16f84?
How did you add the silkscreen on your PCB (step 6)?
andreithug1 year 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 ?
rkancharla1 year ago
Awesome!!! no errors, just follow the pcb.... thumbs up (y) A+ :)
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.
Larry99W2 years 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
chetancc2 years 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?
faneendra272 years ago
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 :)
Richie_asg12 years ago
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+
waddaphak2 years 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?

qwerty09873 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
AndreasR3 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 Tech3 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.
BjornR3 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.
yooooo10893 years ago
Gr8 work thanks for sharing this info:)
redmatrice3 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
john663 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.
BjornR3 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.
echamba3 years ago
would i be able to swap out the serial connector for usb?
1-40 of 190Next »