Circuit-Projects.com New Projects
New Projects
RSS
Get the latest circuits to your e-mail box:
Microcontroller

PIC and EEPROM 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)

Components

Before printing the PCB layout, make sure you set the "Page Scaling" value to none in the printing options window. We used the ironing method to transfer the PCB layout. Be careful and don't forget to check the thin wires between the socket pins before etching.

Click here to download schematic and 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

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 (69)

miko
it works great! thanks!
Anass
Is that a JDM programmer ?
carlos
what is the software need for funtion.
sam
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.
yl
this can use for 93C family EEPROMs?
thx
khaled1
what is the software
sam
You can use ICPROG.
gb
Hello all

thanks for the this clear tutorial!

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

jck
This is only a programmer not a debugger.
nergal
Does it work with pic 16F88 ?
wellboy
What is the use of DB9 PC Mount Female Connector?
Thanks...=)
jack
Hi, the mistake is corrected thanks smilies/smiley.gif The right writing is "DB9 PCB Mount Female Connector"
Pepito
The RED led turns ON inmediatly you connect the programmer on the PC????? Even if a driver/software to programm isn`t running????
jack
You should also check the connections especially between the socket pins. Which software are you using with the programmer?
Pepito
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. ^^
jack
Hi Pepito,

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

http://www.ece.nus.edu.sg/ee2001/html/Common/WinPic/WinPIC.zip

If this time it also fails, then I think it is a hardware problem as you said.
Ed
"SV5 (ICSP) : 6 Pin Header Connector"
sry, but what is this used for?
I thought only to use the "DB9 Connector".
tnx
robotsmani
how can i connect a 40 pin zif socket
robotsmani
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 me..it is very urgent....
jack
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.
robotsmani
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...
Ed
"SV5 (ICSP) : 6 Pin Header Connector"
does anyone know what is that used for?
jack
Hi Ed, it is used for ICSP (In Circuit Serial Programming).

For more info about ICSP please check;

http://ww1.microchip.com/downloads/en/DeviceDoc/30277d.pdf
http://www.embedinc.com/picprg/icsp.htm
Ed
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?
robotsmani
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.
GaneshKumar.SW
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
GaneshKumar.SW
IF RED LED is not glowing then which part of the circuit is to be tested for debugging
jack
Hi GaneshKumar, it is really hard to guess the problem you should check all the connections till you find it out.
omid
what about 14pin pic in soket???
jack
Hi omid. The programmer doesn't support 14 pin PICs.
Bob
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?
Jeep
it a good eeprom programmer
Inovator
where is power supply?
YAWN
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.
hrvat
Is that work for sure?
hrvat
where is assembly picture? how can i know where components goes, except that i look on schematic...
siltorres
Can this circuit program BIOS 16 pin (eeprom)and the power supply of the DB25 is sufficient to record all these chips memory?
harish
I checked hardware thoroughly..Not working...Which software to be used..Winpic or ICprog?Any special settings to be made in IC-Prog software?
harish
How many of you all have got this programmer working? Which programmer software to be used? any settings required?
manoj
hi

i wana reduce som kilometer in my car odometer

so please sajes me a circuit

Tilo
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?
TYIA,
Tilo
qwer
"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
Programming...
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 !
matt
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
matt
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
matt
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
matt
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 http://www.instructables.com/i...rogrammer/
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?
arlene
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!
JN
Does anyone have digi-key part list to build this ? Thanks in advance.
Thormar87
Hi.
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.
wooly
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.
wooly
sorry i found them
Ali
hi.
I need simple program about arry it has 20 number and the program work to find maximum number.....
plz
wooly
i would like to know if your programer can program this chip PIC16LF628A
socket
Hi, in your text you mention (twice) a "80 pin" IC socket. However, isn't it actually a 40 pin socket?
jack
Hi you are actually right the mistake is corrected thank you
bossmazak
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 .
SOME ONE TO HELP ME PLS?
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 :)
Topbanj
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.
vincom
how can i get schematic

Write comment

smaller | bigger

busy
 
Subscribe to RSS Feed
RSS
Get the latest circuits to your e-mail box:
Contact | Advertising | Privacy Policy | Disclaimer | W3C XHTML 1.0 | Circuit Index
Subscribe to RSS Feed