3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Simple JDM PIC Programmer

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 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 :

PIC16f84A
PIC16f628A

 
Remove these adsRemove these ads by Signing Up
 

Step 1The schematic

The schematic
The Schematic for this project is shown below, no critical components .
« Previous StepDownload PDFView All StepsNext Step »
169 comments
1-40 of 169next »
Apr 9, 2012. 7:09 AMPranjal Joshi says:
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.
Apr 16, 2012. 12:23 PMpvujoaevi says:
is the 3 on TxD is 3rd pin of DB9 programmer connector and all other inputs like that one?


Yes
Mar 22, 2012. 11:45 PMqwerty0987 says:
can i use ZIF socket INSTEAD of IC socket
Mar 31, 2012. 9:56 AMmarco.klimmen says:
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
Feb 28, 2012. 2:45 AMmarco.klimmen says:
can I use a 5.1 volt zener diode instead of a 5.6 volt?
Jan 25, 2012. 5:30 PMAndreasR says:
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
Dec 28, 2011. 11:05 PMMr Sinster says:
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.
Jan 23, 2012. 12:58 PMbowlofpudding says:
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.
Jan 23, 2012. 8:00 AMBjornR says:
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.
Dec 14, 2011. 9:04 AMyooooo1089 says:
Gr8 work thanks for sharing this info:)
Nov 26, 2011. 6:45 PMredmatrice says:
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
Nov 20, 2011. 10:59 AMjohn66 says:
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.
Nov 7, 2011. 1:25 PMBjornR says:
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.
Nov 4, 2011. 3:50 PMechamba says:
would i be able to swap out the serial connector for usb?
Sep 16, 2011. 12:36 PMedy91 says:
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...
Oct 23, 2011. 7:10 AMttrg says:
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........
Oct 23, 2011. 7:07 AMttrg says:
use serial port DB 9 connector.
Sep 23, 2011. 11:04 PMomnibot says:
Hi.
It is compatible with any computer that has a serial-port (rs232). Do not use the paralell port (centronics).
Hope this helps :)
Sep 26, 2011. 8:39 AMedy91 says:
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”
Sep 30, 2011. 10:24 AMRESHMA BANSODE says:
THANK YOU.IT WORKS.
Sep 25, 2011. 6:18 AMKarateLover21 says:
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.
Apr 12, 2011. 6:46 PMTacoTormentor says:
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?
Apr 14, 2011. 1:38 AMtcop says:
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.
so, what work for me is the DL4YHF's WinPic software programmer.
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.
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.
The result will be 100% error free writting and verifying.
Sep 24, 2011. 12:44 PMpongpak says:
where did you put the led, between the com port and the resistor or between the ic socket and the resistor?
Sep 25, 2011. 4:37 AMtcop says:
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.
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.
Also added a 12 v zener to stabilise the programming high voltage.
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.

The programmer is a good start but after exploring the "in circuit programming" 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.

It easier than it sounds and I 've got there from flashing some leds just after 2 months and having no prior experience.

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.



Apr 14, 2011. 4:36 PMTacoTormentor says:
Thank you very much!
Mar 17, 2011. 1:53 AMtzq33tdq says:
are there any other programs to use with this??? this is awesome!!!
Sep 3, 2011. 9:13 AMjcorręa2 says:
do you mean software to program? can be ICprog, Winpic, PICPgm (i 'm using this)..
Nov 3, 2010. 8:38 AMminchansike says:
When we building is end .. How to join whit compute ...
What we need ....
What Software must use to connect PC .
Sep 3, 2011. 9:09 AMjcorręa2 says:
Any Software. Winpic, icprog, PICPgm. I prefer to use the PICpgm, bcz it detects pic and programmer, and so you can detect errors by that.
Aug 9, 2011. 1:18 PMpshop1 says:
hi, the schematic is different from the actual PCB, and the difference is this: the pic pin 13 has to be also directly connected to pic pin 7. It did work perfect for me after I noticed this. If you look carefully at the PCB pictures and layout, you will see that error.
Aug 4, 2011. 8:52 AMMuciek says:
What type of Led diode I should add after 10k resistor? I build this version from schematic up and I'm getting error with verification.
Jul 23, 2011. 4:10 AMBarramundi says:
is there any software? how does the novice go about using thhis once it is assembled?
Jul 21, 2011. 2:00 AMBarramundi says:
you should specify that the pdf drawings do NOT need to be reversed, I made that mistake because I wanted to ge the words the right way around
Jun 19, 2011. 2:20 AMvadjar says:
how to use Mr. if use winpic800 or IC Prog??
Mar 17, 2011. 2:02 PMwii552 says:
is there any way to add status LEDs, i.e, power and one that blinks for transfer. Even better, tx and rx, like on the arduino
Apr 15, 2011. 6:24 AMtcop says:
here dtr is for tx and cts is for rx. you can give a try and add two leds but for the cts you will need a resistor too. Carefull on the right polarization . There is a chance though that the com port will receive very low current and will not recognize the data. you have to try it to be sure. i'll give a try too.
Apr 15, 2011. 9:29 AMtcop says:
i tried it but didnt work. the leds switch very slowly and the signal is lost.even a general purpose diode is not switching fast enough to transfer the signal. there is no way of achieving it without using a transistor but then whats the point of doing this programmer instead of the standard JDM?
Apr 15, 2011. 10:07 AMtcop says:
actualy you can add only one led + resistor to rb7 and to ground and have a blink both for tranfer and and receive. just tried it and works perfectly.
1-40 of 169next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
23
Followers
4
Author:hosam_eldin