Circuit Schematics Diagrams and Projects

PIC and EEPROM Programmer

PIC Programmer

In this project we are building a JDM programmer that can handle PIC12, PIC16 and PIC18 family microcontrollers and some popular 24C family EEPROMs. The programmer also provides ICSP feature that allows In-Circuit Serial Programming.  So if you desire, you will not have to carry your MCU each time when you reprogram it. The circuit is connected to the PC via serial port and no external power supply is needed. On the other hand, if you want to use it with a laptop that do not provide RS232 connection, using the circuit with a USB to RS232 converter may not give a proper result

Supported Devices

EEPROM:  24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64/65, AT24C128, AT24C256, AT24C512, M24C128, M24C256, 24C515, PCF8572 or 8572 = 24C01, PCF8582 or 8582 = 24C02, PCF8592 or 8592 = 24C04, SDA2506, SDA2516, SDA2526, SDA2546, SDA2586, SDA3506, SDA3516, SDA3526, 4C016 == 24C01, GRS-003 == 24C02, GRN-004 == 24C04, GRN-008 == 24C04, GRX-006 == 24C04, GRX-007 == 24C04, KKZ06F == 24C01, BAW658049 == 24C02, BAW57452 == 24C02, M8571 == 24C02, X24C0

Microchip PIC: 12C508, 12C508A, 12C509, 12C509A, 12CE518, 12CE519,12C671, 12C672, 12CE673, 12CE674,12F629, 12F675, 16C433, 16C61, 16C62A, 16C62B, 16C63, 16C63A, 16C64A, 16C65A, 16C65B, 16C66, 16C67,16C71, 16C72, 16C72A, 16C73A, 16C73B, 16C74A, 16C74B, 16C76, 16C77,16F73, 16F74, 16F76, 16F77,16C84, 16F83, 16F84, 16F84A, 16C505,16C620, 16C620A, 16C621, 16C621A, 16C622, 16C622A, 16CE623, 16CE624, 16CE625, 16F627, 16F628, 16F628A, 16F630, 16F676, 16C710, 16C711, 16C712, 16C715, 16C716, 16C717, 16C745, 16C765, 16C770, 16C771, 16C773, 16C774, 16C781, 16C782, 16F818, 16F819, 16F870, 16F871, 16F872, 16F873, 16F874, 16F876, 16F877, 16F873A, 16F874A, 16F876A, 16F877A, 18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F1320, 18F2330, 18F432

Building the Programmer

As you see the circuitry contains a few components listed below.

Component List

T1, T2 : BC337 Transistor
D1, D4, D5, D6 : 1N4148 Diode
D3 : 6V2 Zener Diode
D2 : 5V1 Zener Diode
R3, R4 : 1K8 1/4W Resistor
R1 : 10K 1/4W Resistor
R2 : 1K5 1/4W Resistor
X1 : DB9 PCB Mount Female Connector
C1, C2 : 100uF 16V Electrolytic Capacitor
SV1 and SV4 : 40 Pin Machine Tooled IC Socket
SV2, SV3 : 20 Pin Machine Tooled IC Socket
SV5 (ICSP) : 6 Pin Header Connector9
L1, L2, L3 : LED (L1: GREEN, L2: RED, L3: YELLOW)


The PCB file is provided in pdf format. You can apply it to the board by using the ironing method.

Click here to download the schematic and the PCB layout files.

Printed Board

Assembling the components is straightforward. The only trick is shown in the photo. Before soldering the 40 pin socket, you must cut the plastic bridges between the sides. Another issue, don't forget to solder the diode (D6) and the jumper under the sockets first.

Cutting the Socket

Here is the final. If you don't miss any short-circuits, you will see the red LED will bright up when you connect the programmer to the serial port. Now it is ready to use. You may use ICPROG and WinPIC to start programming your PICs or EEPROMs.

LED Indications; Yellow:Clock ,  Red:Power , Green:Program

PIC and EEPROM Programmer


Placement is shown in the figure below.

Don't forget! Wrong placement may defect your IC, programmer or computer.

You may use a ZIF socket instead according to your needs.

IC Placement

Comments (155)

it works great! thanks!
Is that a JDM programmer ?
what is the software need for funtion.
Yes it is a JDM programmer and you can use it with ICPROG, WinPIC or some other software that is not tried before by us.
this can use for 93C family EEPROMs?
what is the software
You can use ICPROG.
Hello all

thanks for the this clear tutorial!

Does any one can tell if it works also with mplab ide ?

This is only a programmer not a debugger.
Does it work with pic 16F88 ?
What is the use of DB9 PC Mount Female Connector?
Hi, the mistake is corrected thanks smilies/smiley.gif The right writing is "DB9 PCB Mount Female Connector"
The RED led turns ON inmediatly you connect the programmer on the PC????? Even if a driver/software to programm isn`t running????
You should also check the connections especially between the socket pins. Which software are you using with the programmer?
I'm using winpic800. When I test the programmer with winpic the yellow led (CLOCK) doesn't turn ON, and the RED & GREEN leds turns ON during the HARDWARE TEST or DETECT DEVICE of winpic.

Also the RED & GREEN LEDS doesn't bright so much during the test, the led's light are visible just when I turn off the room's lights :p

So I thing in two possible reasons:

a) I failed something in the mount
b) I have to configure something about the COM port on windows &/or winpic because the clock doesn't shows life signals :p

I'am using windows XP sp2, Winpic800 and I selected as the hardware a JDM PROGRAMMER.

If someone knows a trick I'll be thankfull because is my first project with a PIC. ^^
Hi Pepito,

Please try once more with winpic (not winpic800) . You can download it from the link below

If this time it also fails, then I think it is a hardware problem as you said.
"SV5 (ICSP) : 6 Pin Header Connector"
sry, but what is this used for?
I thought only to use the "DB9 Connector".
how can i connect a 40 pin zif socket
Can you please tell me, how can i connect a 40 pin zif socket. Is the re any change in the PCB. Because this weekend i am planning to make this PCB. Please reply is very urgent....
Hi robotsmani you can connect a 40 pin zif socket if you use only 40 pin ICs. So then you can not program 8, 18 and 28 pin devices.
Using 40 pin zif, you can connect any type of pin right, only think i feel that, we need to reconfigure the pin connection to program any type of pin devices. Normally you know, all universal programmers will have the zif socket...

anyway thank for your reply Jack..if you have any schematic using zif socket...let me know...
"SV5 (ICSP) : 6 Pin Header Connector"
does anyone know what is that used for?
Hi Ed, it is used for ICSP (In Circuit Serial Programming).

For more info about ICSP please check;
Oh, nice.. ty.
Why dont you used external power souce ? and other do.
kathir kama kannan
hello friends any one could tell the use of header connector?
How can i know this circuit is working. i built this and connected to the computer. the red and green LEDs are glow. Installed WinPic from the above url. I did some blank check. the blue LED glow...after that no LEDs are glowing. Is my circuit is working. How can i check before program some PIC.
I ve designed that board completely. As soon as I connect this board i could get the RED LED glowing brightly but after some 10 seconds it fades off and no recognition could you guess what might be the problem
IF RED LED is not glowing then which part of the circuit is to be tested for debugging
Hi GaneshKumar, it is really hard to guess the problem you should check all the connections till you find it out.
what about 14pin pic in soket???
Hi omid. The programmer doesn't support 14 pin PICs.
Hi ,
my programmer do not int. ( Winpic )failled reteurn DATA (high) and how is the setting for the com port
will someboddy tell my.
Harish Sowkur
I would request anybody who got the board working successfully. More information needed on exact programmer software to be used. Any particular settings in software required?
it a good eeprom programmer
where is power supply?
hey I would like to ask how to place the chip on the programmer. the arrow indicates what? I'm beginner here.1st time learning PICs.
Is that work for sure?
where is assembly picture? how can i know where components goes, except that i look on schematic...
Can this circuit program BIOS 16 pin (eeprom)and the power supply of the DB25 is sufficient to record all these chips memory?
I checked hardware thoroughly..Not working...Which software to be used..Winpic or ICprog?Any special settings to be made in IC-Prog software?
How many of you all have got this programmer working? Which programmer software to be used? any settings required?

i wana reduce som kilometer in my car odometer

so please sajes me a circuit

Hi, Tyvm for the tutorial and files. I would like to cheat someone who is buying my car. Would you be willing to GIVE me everything I need to do that?
"using the circuit with a USB to RS232 converter may not give a proper result"...

MAY, or NOT give, anybody tested it with USB circuit??
joseph assem
hi i did the programmer and winpic recognize it successfully ,read it successfully , erase it successfully but when i try to write to it ,it says programming failed so what is the problem any ideas or trials u can suggest on me ?
joseph assem
i get this log
Erasing ("bulk" or "chip") ...
Programming CODE, 0x000000..0x00053D
Verifying 0x000000..0x00053D
Verify Error: 000000: read 003FFF, wanted 0028C5
Verify Error: 000004: read 003FFF, wanted 0000BB
Verify Error: 000005: read 003FFF, wanted 000E03
Verify Error: 000006: read 003FFF, wanted 0000BC
More Verify Errors, unable to list all (total=1339)
Programming DATA, 0x002100..0x00213A
Verifying 0x002100..0x00213A
Verify Error: 002100: read 003FFF, wanted 000000
Verify Error: 002101: read 003FFF, wanted 000001
Verify Error: 002102: read 003FFF, wanted 000000
Verify Error: 002103: read 003FFF, wanted 000020
More Verify Errors, unable to list all (total=59)
Programming CONFIG, 0x002000..0x002007
Verifying 0x002000..0x002007
Verify Error: 002007: read 003FFF, wanted 003F74
ERROR: Programming FAILED !
Hi Joseph, I am using this programmer too and winpic sometimes gives error but actually it writes on PIC succesfully. You can try your PIC in your circuit you will see it is working. On the other hand which PIC are you using?
joseph assem
i am using 16f628a
are u sure it writes although i get this error ?

cause as u see in the verify it says as an example Verify Error: 000004: read 003FFF, wanted 0000BB and 003fff is the value of the pic when it is empty and this means that it is still empty and it is not programmed i think

also if it program in the right way why i get this error is it problem with winpic and if so does it gives this error with all pic's or its only with some pic's

and one last question which program to use so as not to get writing error's
I used 16f628a with winpic and this programmer. No problem occured. I just check your error message, it seems your pic is defected and memory partitions are not working properly. I suggest you change your pic. Additionally don't forget to select your PIC device from the related section of winpic.
joseph assem
i have also 16f630 i was trying to program it now but i don't know how to put it is in the supported list but it has only 14 legs i can't see where to put one with 14 pins in the above image showing where to put pic's
Hi Joseph, The programmer does not support 14 pin ICs. You may try your chanse by rechecking your programmer connections.
joseph assem
also to prove my point when i programed it and it gave me this error i tried the check blank test and it says that the pic is blank so how it comes that u say it already programed the pic when it is still blank
joseph assem
note: this last trial in the above comment was on pic16f628a
When a pic is defected winpic can give weird results like saying the pic is blank after blank test or succesfully erased etc. but when you try to program the pic, it wont work as you experience. My opinion, try again after changing your pic16f628a. Because this model is really troubleless one and it is hard to have problem with it. I will be glad if you will inform us too. regards.
joseph assem
i noticed that the yellow led lights very well but the green and red leds light are so dim and i can't see specially the green led without turning the room light off so it came to my mind that i did't find the 1.8 k resistor so i replaced it with 1.5 k resistor could this be the reason for my problem and if so which resistor to put i did't find except 1.5k or 2k
joseph assem
hi all i think that the problem is not from this programmer cause after i failed with this programmer i made this programmer
and in the site they say they tested PIC16f84A
PIC16f628A and both worked fine but in my case when i made this programmer and i tried both PIC16f84A PIC16f628A a got the same error from the programmer posted here in this page so i guess the problem is not from the programmer so what could it be?
may be serial port on my pc is not giving the right voltage and to know that what is the appropriate voltage for serial port and how to measure mine what pin numbers to measre?
I tested this programmer with PIC16F84, PIC16F628, and PIC18F452 and it is really working fine and it is really fast! If I have chance to try with other PIC then I will write my experience here. Thanks a lot!
Does anyone have digi-key part list to build this ? Thanks in advance.
I was wondering, on the Eagle CAD schematic there are only PIC pin names on the wires that go from the DB9 to the IC sockets. Which RS-232 signal wires go to which DB9 pin.
i would like to know the value of the r1,r3,r4,d6, d3,d2,d5,d4,t1,c2,c3 can somebody help me plz.
sorry i found them
I need simple program about arry it has 20 number and the program work to find maximum number.....
i would like to know if your programer can program this chip PIC16LF628A
Hi, in your text you mention (twice) a "80 pin" IC socket. However, isn't it actually a 40 pin socket?
Hi you are actually right the mistake is corrected thank you
Hello , I have progblem with pic16f628a-I/P I was programming and it wrote in winpic:
Programování PROGRAM, 0x000000..0x000302
Ověření 0x06lX..0x000000
Ověřit chybu: 000000: čtení 003FFF, hledá 002806
Ověřit chybu: 000004: čtení 003FFF, hledá 002AE8
Ověřit chybu: 000006: čtení 003FFF, hledá 001303
Ověřit chybu: 000007: čtení 003FFF, hledá 00019F
Další Ověření Chyb, neschopný vypsat všechny (total=767)
Programování CONFIG, 0x002000..0x002007
Ověření 0x06lX..0x002000
Ověřit chybu: 002007: čtení 003FFF, hledá 003F10
CHYBA: Programování špatné ! (bad programming)

and in icprog: verify failed at address 0000h .
ryan agoncillo
I had a few experience in dealing with these programmable ICs when we were fixing the system boards of ATM bank machines. But it's really not my interest to work on component level. Keep working guys :)
I tried printing the circuit but my 40pin ic socket will not fit in to the printed circuit. I have tried different ways but to no avail. I need help here. Someone pls tell me how i can get this thing working.
how can i get schematic
Good idea! It works great for me. Thanks!
lotfan begid chetor mishe kablesho sakht
this programmer work with USB RS232 (DB9) converter?
this programmer works with 16f870?
thank you of your sain at this web
thank .................................1000 + + +
Its awsome...... Thank u....
j. smith
better to be safe and sure when placing the IC cause it will be a waste of money if the right way of inserting it is not followed...
Hi, when i connect the programmer both red and yellow led's are on, is there a problem with that? please if someone had the same problem help me.
Where can I find the pcb layout, please?
Read the article and ye shall be surprised at what ye shall find..
bassem 36
thank you
I built this programmer and used it to program pic16f628 using ICProg but it gives me a 'Verify failed at address 0000h'. Then when i read the from the pic it's blank. By the way the power LED do light but it's not that bright compared to the Program LED and the Program LED flickers while ICProg try to write the on the IC but I don't see any lights from the CLOCK LED. I've been checking the circuit since last night and it seems alright. What do you think is the problem here.
Hi, I built this programmer on a breadboard according to the schematic diagram. When I plug it in, the red led lights up. I used IC-Prog 1.06B when I read the 12C508 chip the yellow clock led also lights up. But when I programmed the chip, the green led doesn't light up. And I get this message:

No "Oscillator Calibration Value" found.
Do you want to use value from file (0FFFh) instead?

Either I choose yes or no, this message pops up when it starts verifying the PIC chip.

"Verify failed at address 0000h"

I check the diagram many times, and it was the same as it should be. I even try to set the serial port settings but it gives the same message again and again. I don't know if there was wrong with the VCC or MCLR voltages. As the others saying, it should reach about 13v & 5v. But when I test both output VCC/MCLR the maximum voltage I can read is only 5v max.

Is there something wrong with the schematic or it's just me with the wrong settings?

Any kind ideas how can I make it worked?

Thanks in advance:)

Hi Jayson, While the programmer is running, the yellow and the green LEDs shuld both blink. I think you have a connection error in somewhere.
I checked the connections all night and there's nothing wrong at all.

In fact even when I open a hex file then clicked "PROGRAM ALL" and removed the PIC chip, IC-Prog continious to program without a chip. And gives again that message "Verify failed at address 0000h".

Same when I opened a hex file then clicked "Verify" it shows the same message "Verify failed at address 0000h".

On the other hand, here's my settings:

I almost forgot to ask,

what is an "Oscillator Calibration Value" anyway?

They said it can be found on the PIC's last memory, but I have no idea where I can find it.

Because this message always prompted when I clicked Program all...

No "Oscillator Calibration Value" found.
Do you want to use value from file (0FFFh) instead?
Please use WinPic as the programmer. Choose your device and start programming. Sometimes ICProg causes problems. On the other hand, you can test your Vpp, clock and data LEDs/signals by using the "Interface" tab of WinPic. So you can understand where the problem is easier.
Other notes,

- Choose your wires as short as possible (since you don't use a PCB, this point is the most important one.)
- Make sure your transistor connections are ok
- Check your diodes
- Check your resistors and LEDs
- Make sure you capacitance values are exactly same with the caps in the schematic
- Check your PGD, PGC, PGM , Vpp and GND connections. Try interchangin PGD and PGC lines, one time it worked for me.
I can see that IC-Prog has hardware check, so the only thing I'm having problem is the green led.

On WINPIC I'm not able to program my PIC12C508 Chip, it doesn't support that chip and also it isn't include on the device list.

But on the other hand, I made the green led light "up" when I check MCLR on hardware check at IC-Prog also when I start programming. I changed the placement of "D1 diode" but when I test MCLR/VPP output, the voltage only reaches 5v same as VDD, it's also the same when I don't change any placement of the diodes on the original schematic. I'm very close on that one:)

About PGD & PGC lines, where should I switch it?
is it on the "DB9 female connector" or at the "IC socket"?

Also with wires, I used short as possible.

As for my Programmer... I broke it by now:)
I accidentally made a jumper between pins of "T1 transistor"

Anyway I'll try your suggestions later after I've repaired it.

Thanks for the tip:)
It's not the programmer I broke, I over supplied the voltage for MCLR/VPP. So my PIC12C508 burnt up :( and the output from pin4 is 0v.

But when I plugged my reserved PIC12C508 chip, the output of MCLR/VPP is 5v again.

Any suggestions how I can reach 13v output from MCLR/VPP/PIN4, I'm only having the problem measure of 5v output when I use hardware check on IC-prog and when clicking "Program all".

I think that's the problem why the program can't be embedded on any of the PIC chips, the power was insufficient.

(There's must be wrong with the value of components or the schematic diagram.) I have clearly built this programmer according to the right diagram, And nothings wrong with it, except that I built it on a breadboard.

The interchanging of PGD/PGC doesn't work either.

Any more ideas out there?

Thanks again:)

will this programmer grantee more programing times?
how many times?
i have bought an parallel programmer,so will program 16f84a just less than 60 time! after this, IC is converted to a trash!
This programmer actually works!

I had made a mistake with the transistors. I've placed it wrong so it won't work on first time.

But now it works, I used it to program my PIC 12C508A. In less than a minute it's finish and verified successfully!

Thanks a lot!
Can someone please help with the pin configuration between the progammer and the computer?
Guru Prashanth
Thanks Bro.
Some one please give me sugessions on preparing a quality PCB...
Silver Aaron
Hi firstly thanx for the great web site very useful with regards to downloading the pcb out lay what format is it saved under as i can not seam to open it with any of windows standard programs thanx very much looking forward to programming
hi,i am using usb to serial port. which software should be used ?
wher to put pic 16f84 when you want to program it this shematic example of placement is a litle bit not understanduble
hi i build the programmer on a breadboard and have the Yellow & Red LED on but it dosn't works .
in the schematic one of the transistors EMITTER is in the worng side -- is it a mistake or i should connect it as show ?
The programmer gets initilized good....
Need Some help;
I get as below,
Info: Loading definitions for "PIC16F628" from devices.ini .
Couldn't find "C:Program FilesMicrochipMPASM", please borrow/copy from MPLAB !
need to program the same what do i do????
The programmer gets initilized good....
Need Some help;
I get as below,
Info: Loading definitions for "PIC16F628" from devices.ini .
Couldn't find "", please borrow/copy from MPLAB !
need to program the same what do i do????
bob ms
This is very useful! make money
Does this also program the PIC 18F2455/4455/4550?
does it work with a serial to usb converter cable
does it work with a serial to usb converter cable

Can you change the DB9 connector for a USB connector?

can i use BC549 or ZTX450 or anything else instead of BC337?
btw. can i have a complete description of the diodes (parts
like what is a 6v2 zenner diode or 5v1 is it 5v 1W?
Thnx Thnx Thnx Thnx I work . The first programmer that I tried was that JMD Simple programmer , that didn't work , bunt this one work perfectly thnx, for the instructional, and have a nice day.
hey can it program 18f452 ?
I did all connections correctly but no led s are blinking or illuminated. not even the RED LED. I did the following steps.
1. connected the serial cable.
2. connect to the programmer with other side of the cable.
no software was installed.
i was able to programme 16f84a, however not able to programme 16f873a (28 pin), help pls
ali shaheen
i am having a problem......i had made it and using picpgm for burning....that software is detecting the device as JDM programmer...but not the IC.....I had tried with two different ICs but it is still not using pic18f452....when i connect the serial port the red led glows...and when i open the software yellow led glows......without placing the pic when I press auto detect device....all three LEDs glows then i place the Ic in the 40pin zif socket...but still no detection from the more thing that I havnt made the ICSP the Emitter of the second transistor is unused wld that be a problem.......please help.......!!!!!!!!!!

ali shaheen
ali shaheen
its working thank you..........!!!!!!!!
Grat this programmer working Great it takes only Half program PIC16F628A.Working well.
hi, i want to know if this Programmer can program PIC 16LF628A, Thanks
6V2 = 6,2V
5V1 = 5,1V
can i ask? how to use the ICSP method? do we have to use all the 6 wires and connect it to the pins of the PIC16F84A?
Can you help me how to program my PIC? I made my own PIC Programmer based from JDM Programmer but omitted the IC sockets. I am using the ICSP method. My PIC is placed on the breadboard and I'm just connecting the 4 wires from the programmer to its corresponding pin. Is it right to use only the 4 wires? or do i need external power supply?
Great!!!! Thank you.... I hope it will be working..
Hey people. I just finished soldering the circuit on PCB and burned a hex file successfully on a PIC16F628A using WinPic800 v3.63c. It works great. Thanks for the circuit!
anybody tried usb to serial converter for jdm programmer?
help it doesnt work the led does not glow all of them, what should be the problem and i saw the placement and the sv5 is shorted between the middle.Is that really be shorted? pls anyone help tnks
guys I have fix my burner but i cant program the 16F628A it errors at verification 000h address, the LED clock and program does not glow please any one help... thanks!
To use ICSP, I did the following connections:
1.Vdd to cathode of IN4148 diode and anode to Vcc of application circuit
2.Vpp similar to Vdd but with 10K resistor in between anode of the diode and Vcc of the circuit
3.Vss connected directly to ground
4.PGD and PGC depends on the application circuit. In mine they were connected to LED's through resistors.

Now whenever you want to program the PIC put off the application circuit power supply and then connect the ICSP wires coming from the programmer directly to the pins of the PIC which are specified. To do this easily keep a FRC male connector connected to the necessary pins of the PIC. The programmer wires should be wired to a FRC female connector so now you can just plug in the programmer when you want to program the PIC. After programming successfully disconnect (plug out) the programmer and then test your application circuit. Ive programmed a PIC16F628A exactly this way with success, but I dont know about the PGD and PGC pins if they are connected to something like Vcc or ground directly. Maybe in that case you'd have to connect a 1K resistor in between the pin and whatever its connected to so that the clock and data outputs of the programmer dont short out whilst programming.
hi electrocrat tnks, but is there any other option rather than that becuase it's my first time to use this PIC programmer. i only copied the PCB design but i did not use the 6 pins connector. The RED LED glows but the other two LED does not and after programming the 16F628A (using ICprog) it erros at verification address 000h...

thank you and Godbless!

Thank you alot
It's already built one? Does it work? Thanks
I made this JDM programmer but i got problem with the ICprog configuration is it "windows api or directI/O"? in Direct I/O there is an error with the privileged instruction but in windows api the verification error occurs. I also try the winpic800 it's the same with the icprog.I'm using 16F628A & 16F628 please help tnks!
hi.....when i connect the circuit the red light and the green light is glowing but when i connect the PIC the red and green light is turned off? is it ok? if not what seems to be the problem?
The connections I have described were not found together at one place but took weeks to be found and verified. The easier option would be to solder a 18 pin IC base to the programmer PCB and plugging in the PIC whenever it has to be programmed. Thats what I had done for the very first time I jumped into the PIC world.
The Red LED glows and has to glow when you just connect the programmer to the serial port (this is normal). If it turns off when you connect the PIC that means you are either connecting the wrong pins of the PIC OR the PIC is faulty. I mount the PIC on breadboard along with the other stuff mentioned above and then
tap the 5 (actually 4 because ground can be connected anywhere) necessary pins to a corner where I can smoothly connect the FRC.
Now the error that you have mentioned is because of some loose connection to the PGD and PGC pins so check those paths in the PCB design. In WinPIC800 there is an option to check whether the programmer alone is working(dont know about IC Prog). Check if JDM programmer is selected in the settings. Check for proper transistor polarity or else there might be an open circuit or short circuit somewhere. I have been using the same circuit for a PIC16F877A without any trouble.
A word to the wise: VERIFY the BCE leads match your transistors and the ones used in this circuit. I used the NTE equivalent of the BC337 and the BCE was reversed.
i plugged it in the serial port but none of the LEDs lit up...

I checked the connections using a VOM but found nothing wrong...

What should be the problem behind this?
Hi does it work with usb port because my computer dosen't have serial port. Thank
The program works like the magic
just check the connection between your programmer and com1
I try on my laptop and its working Parfet
Hi guys i build up the JDM programmer also and i can say it works 100% with windows xp sp3 on modern PC even writting a HEX with code protection ACTIVATED...

i will explained how i tweaked it to avoid that silly error failed to verifi address 000h

1- make folder on disk C: hard drive with name IC-PROG
2- put icprog.bat + allow io.exe + porttalk.reg + portalk.sys on folder, then download ICPROG and put icprog exe in same folder
3- run icprog.bat to install xp drivers etc..
4- open ic prog and click on settings/options/select programming a device, erasing device
5- after select MISC and tick on the box from enable vcc control for jdm.
6- then selec process priority NORMAL
7- then on option programming tick box verify during programming
8- then on hardware selec JDM PROGRAMMER and select interface DIRECT I/O
9- then I/O delay 5 normally is 10, put it 5
10- and at last on the hardware check tick on box ENABLE MCLR this way it will output via the serial the 12v required to enter the pic into programming mode.

test and output results please.
Thank you for this programmer. I maded It on a perforated plate and it works perfect. The PIC I programmed was 16f84A on Windows 7 with WinPic (run it as administrator).
Hi there i just build this programer from scratch and every time I connect it to the desktop using Serial straight cable the GREEN and the RED stays on steady and the GREEN LED does not turn off so whats your recommendation about this and how do you fix it?? what area should i check to fix the problem??

thank you for everyone's tmee.

thank you.
Joe Joe
It really works! Thank u
Works great!! Thank you! My PIC16F84A is programed!
hi ! i found the programmer is very intelligent and i wanna build one but i have to ask you please before this. can i delete the SV5 (ICSP) : 6 Pin Header Connector9 ? because i don't will use this connector. thanks a lot!
Hi, thanks for the nice work.. but...

I follow all your instructions, did the circuit and connected it. Im using ICPROG with 16f88 and when i want to program anything it comes "verication failed". Neither yellow nor green leds are turning on.

I already verified the hardware. Is there anything i should have in mind about the config from ICPROG??? Please I will be glad if you answer!
Will this Programmer work on Crome or SST 27SF512 chips
hi frnds i want to learn microcontroller's programing, with any simple softwares, idont knows any thing abt microcontrollers, tell me how to know to using of microcontrollers by my own. but i know pcb design.
Hi guys I want to build one.
But there are thee different transistors:
BC 337-16
BC 337-25
BC 337-40
Which one should i use?
Okay -.-
Now I used the BC 337-25.
The Programmer works great with WinPic! :)
But don't use a USB to RS232 converter!
I testet three different converters and no one
could write to my PIC (16F876). The software says that
deleting and reading is successful but im not sure to believe that.
The LEDs are many brighter in a real COM slot, too.

Thanke you for sharing this project ;)
I want ask something...
What kind of program I need for programming?
Thank you.
Hi, this programmer works with PIC18F2550?
pic16f688 with winpic800 it is programming ok
i m using 18f4520 n i have noticed sumthng
the PGM pin for 18f series is pin 38 and for 16f series is 36
here in the circuit it is connected to pin 36 which is ok for 16f series but needs to b changed for 18f series
i was nt able to get my device detected
i will change n try again
hy all,some body tell me about method of writee programing in WinPIC,How i can program pic for specific purpose,other words what is programing method of pic? like use LED blinking and LC Meter projects etc.thanks
Cud you explain "SV5 (ICSP) : 6 Pin Header Connector9" is this jumper point? how is it use?


Cud you explain "SV5 (ICSP) : 6 Pin Header Connector9" is this jumper point? how is it use?


the SV5 connector is used for in circuit serial programming
this means you can program a pic without removing it from the circuit that is being used
Mr Kashif
is this valid for 24c08 02 04 06 etc?
Hi, First of all have to say thank you for the circuit. I built it and it lights up the red, green and yellow led s when connected to the pc and when reading and programming the pic. What my problem is when programming it gives an error says pic programming failed. and even verifying error. It doesn't detect the pic it says "unknown". Am doing something wrong when placing the pic on the socket or is it something to do with the software. I use WinPic, WinPicpr, WinPic800 3.55, WinPic800 3.57. Nothing programs the chip. Any advice..

Thank you

Write comment