Sie sind auf Seite 1von 24

partner-pub-2248

FORID:11
Search
ISO-8859-1

w w w .circuit-pro

DIY Projects
Follow Circuit-Projects.com
on Twitter

Loading the search 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,
Home
AT24C128, AT24C256, AT24C512, M24C128, M24C256, 24C515, Audio
Battery
PCF8572 or 8572 = 24C01, PCF8582 or 8582 = 24C02, PCF8592 or
Control
8592 = 24C04, SDA2506, SDA2516, SDA2526, SDA2546, SDA2586, Converter
SDA3506, SDA3516, SDA3526, 4C016 == 24C01, GRS-003 == 24C02, LED
Metering
GRN-004 == 24C04, GRN-008 == 24C04, GRX-006 == 24C04, GRX-007 Microcontroller
== 24C04, KKZ06F == 24C01, BAW658049 == 24C02, BAW57452 == Miscellaneous
Power Supply
24C02, M8571 == 24C02, X24C0 Radio Frequency
Robotics
Microchip PIC: 12C508, 12C508A, 12C509, 12C509A, 12CE518, Circuit Database
Audio
12CE519,12C671, 12C672, 12CE673, 12CE674,12F629, 12F675, Alarm
16C433, 16C61, 16C62A, 16C62B, 16C63, 16C63A, 16C64A, 16C65A, Battery
Converter
16C65B, 16C66, 16C67,16C71, 16C72, 16C72A, 16C73A, 16C73B, Control
16C74A, 16C74B, 16C76, 16C77,16F73, 16F74, 16F76, 16F77,16C84, Metering
Miscellaneous
16F83, 16F84, 16F84A, 16C505,16C620, 16C620A, 16C621, 16C621A, Power Supply
16C622, 16C622A, 16CE623, 16CE624, 16CE625, 16F627, 16F628, Radio Frequency
Test Equipment
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)

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.


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


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.


Subscribe

Blogroll
Intelligent OLED Modules
Embedded Graphics
Controllers
Hacked Gadgets
Electronics-Lab
uC Hobby
Youritronics Blog
MCU project everyday

Other
Elecfree Blog

 Custom essays
 Verizon Wireless
Cell Phones
 iPod To Computer
Transfer
 Home Cinema

interesting
System
 iPod To Computer
Transfer
 NFPA 70E

New Circuits

projects
 Bare Bones
Arduino Diecimila
Mod

 Keypad Lock Code


with Dual
Programming

Select a
 TDA7384 Based
4x24W Car Audio
Amplifier

 USB programmer
for AVR

category:
Controllers Known
as USBasp

 Monitor Tester
based on
Audio Converter Metering Radio Frequency ATtiny2313
Battery LED Miscellaneous Robotics
 Microcontrollers
Control Microcontroller Power Supply   Free of
Programming

Other
 PIC12F683
Interfaced with
Nokia 3310 LCD

 Two Huge Screens


on Nintendo DS

interesting
 PIC Controlled 3D
Vector Objects in
Nokia LCD

 Solar Power Mid-


Range PC

circuits
Select a
category:
Alarm Control Miscellaneous Test Equipment
Audio Converter Power Supply  
Battery Metering Radio Frequency  
Bookmark
Email this

Comments (98)

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

jozik

Good idea! It works great for me. Thanks!

feri

lotfan begid chetor mishe kablesho sakht

fadyl

this programmer work with USB RS232 (DB9) converter?

winy

this programmer works with 16f870?

asepHasanBasri

thank you of your sain at this web


thank .................................1000 + + +

Bala

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

Jimmy

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.
Cristian

Where can I find the pcb layout, please?

Gee99x

Read the article and ye shall be surprised at what ye shall find.. http://www.circuit-
projects.co...rammer.rar

bassem 36

thank you

nOne

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.

E_Jayson

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?
(Yes/No)

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

Mahe

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.

E_Jayson

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:

>>IC-PROG HARDWARE SETTING>COM1 PORT SETTING

E_Jayson

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?
(Yes/No)

E_Jayson

>>IC-PROG HARDWARE SETTING>COM1 PORT SETTING

Mahe

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.

Mahe

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.

E_Jayson

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


Philippine_Boy

E_Jayson

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

sandeep

Does this programmer supports pic 16f72 please write to me sandeep_koirala@hotmail.com

Thomas

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!

E_Jayson

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!
Philippine_Boy

Gerrie

Can someone please help with the pin configuration between the progammer and the
computer?
zubair

any bodey help me pls send me software.my e-mail is.zubair2280@gmail .com


thanks.

zubair

some one halp me pls send me software.my e-mail


zubair2280@gmail.com
thanks

Guru Prashanth

Thanks Bro.

Prashanth

Some one please give me sugessions on preparing a quality PCB...

Write comment

Name

Comment
smaller | bigger
Add Comment Preview
Please enable JavaScript to post a new comment
140 nk7yMLmH47gg add 0 com_content

 
Circuit-Projects-R
Get the latest projects to your e-mail box:
en_US Subscribe
Electronic Circuit Projects
Circuit-Projects.com is licensed under a Creative Commons Attribution-No Derivative
Works 3.0 License.

Contact | Privacy
Policy |
Advertising

Das könnte Ihnen auch gefallen