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 http://pic16f84.hit.bg/ 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
http://freenet-homepage.de/dl4yhf/winpicpr.html, it's very stable and powerful.

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


Step 1: The schematic

The Schematic for this project is shown below, no critical components .
<p>thanks for sharing..</p>
<p>Can the circuit work equally well,if i use 1N4007 diode instead of 1N4148??</p>
<p>i have a problem , my Serial port outpot is just 9 volt , what is the solution? </p><p>thank you for your time :)</p>
<p>Used a slightly different circuit but it works! p.s zener diode is under the board</p>
could you share with us the parts layout, component side, for the new design ? thanks !
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!
<p>micro bacic</p>
I've asked that question in the Q&amp;A and here's the answer: <br> <br>http://www.instructables.com/answers/PIC-programming-How-can-I-learn-to-write-my-own-/
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...<br>please help me... i am trying for a long time now...<br>
Hi.<br>It is compatible with any computer that has a serial-port (rs232). Do not use the paralell port (centronics).<br>Hope this helps :)
<p>Except for laptops, which will give at most 7V at the &quot;TxD&quot;. If you add a 13V external power source (and interface the TxD signal with it), it should work fine.</p>
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 &ldquo;verification failed. Attempt to reed 3ff in stead 000&rdquo;
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 :http://www.onlinetps.com/resources/PIC_Programmer.zip........
use serial port DB 9 connector.<br>
can I use a 5.1 volt zener diode instead of a 5.6 volt?
<p>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 &quot;isolates&quot; 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.</p>
Wich are the materials?
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)?
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 ?
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????? <br>And.. <br>Which are those PIC's Numbers for this Simple JDM PIC Programmer. <br> <br> <br>Thank You.
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
Hi, <br> 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. <br> Can you please suggest me good programmer? <br>Regards, <br>Chetan
i don''t have serial port on my pc,so can i use serial to usb adapter,will it works? <br>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. <br> <br>Ciao!
I have the same question :)
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 ! <br>Many thanks for this project A+
hello there.. will it work if i use a serial to usb interface cable?
wil this surely works with PIC16F684 and PIC16F676???<br><br>give also terminal pin numbers of DB9 port..<br><br>is the 3 on TxD is 3rd pin of DB9 programmer connector and all other inputs like that one?<br><br>Reply, thanx.
is the 3 on TxD is 3rd pin of DB9 programmer connector and all other inputs like that one?<br><br><br>Yes
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
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
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.
Tested &amp; working with a PIC16F819.<br>I'm using Picprog 1.9.1 on Fedora 16 Verne (GNU/Linux).<br><br>Sometimes it fails to program the chip, <br>&quot;Burning program memory,/dev/ttyS0:0000: programmed=2cc4, read=2c40:unable to verify pic while programming.&quot;<br><br>I'm not sure why but i think there's not enough energy to power the chip.<br>That's why i've replaced the 10&micro;F capacitor by a 22&micro;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.
Gr8 work thanks for sharing this info:)
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
I tried it to write eeprom 24C04, using the pins Vdd, Vss, clock, and data. But it didn't work. Why? <br>I used the ponyprog and ic-prog.
It's so simple i was able to build it on a break-out board in minutes and it works!<br>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.
would i be able to swap out the serial connector for usb?<br>
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?
i built and checked the programmer and caused me many problems too. First time workerd (almost) properly and then no matter how many tries i gave , i could not write succesfully. Well, it seemed that some of the bytes where written wrong while other where writen ok so it had to do with the frequency of the signal. After 3 days on the row of researching i managed to make the programmer work perfectly without any alterations on the circuit, just added a led after the 10 resistor. I programmed and reprogrammed more thatn 10 tiimes ,both 16f84A and 16f628A and had NO PROBLEMS at all. <br>so, what work for me is the DL4YHF's WinPic software programmer. <br>Download mplab and copy the 16fXXX dev files to the winpic fodler or set from the options tab the mplab folder that contains all the dev files. <br>Set interface as com84 (i think it will work for JDM too) and increase the period of the clock up to 100 times. The preset was 3 but it was toooo small for the above programmer. The programmer will need more time to be written and read but we are talking about few seconds nothing more. <br>The result will be 100% error free writting and verifying.
where did you put the led, between the com port and the resistor or between the ic socket and the resistor?
the led is not crucial. I placed it just to have a lighting signal so as to check that the programmer is receiving voltage.Place the anode of the led either on vdd or vpp and use a proper resistor. Avoid the other pins because you will add a delay on the signal which is bad. <br>I have altered the programmer now and i have discarded the zener diode and used an 7805 ic + some capacitors to stabilise the voltage on 5V. <br>Also added a 12 v zener to stabilise the programming high voltage. <br>Still getting the same results but have managed to make it work avoiding the high period clocks i've mentioned before when using DL4YHF software. <br> <br>The programmer is a good start but after exploring the &quot;in circuit programming&quot; that most PICs support, you will dimistify everything and even be able to make a more sofisticated programmer of your own by using a 16f628a pic as a controller, which you will have initial program using the design that is described here. <br> <br>It easier than it sounds and I 've got there from flashing some leds just after 2 months and having no prior experience. <br> <br>Try to use Asm and not C or Basic so as to realy understand what's happemimg inside the pic. Find also a simulator program which i found extremely helpful. <br> <br> <br> <br>

About This Instructable


157 favorites


More by hosam_eldin: Simple JDM PIC Programmer How to make Lithium charger NiCd - NiMH PC Based Smart Charger - Discharger
Add instructable to: