The DIY Pic Programmer
The DIY Pic Programmer
The DIY Pic Programmer
By Richard C
Jan 2006 - updatedJune 2007
The 28pin/40pin Parallel Port PIC Programmer for the the project chips.
This document has been produced to compliment the Temperature Multi Controller Project.
It will enable you to quickly produce a simple, cheap, programmer for the PIC chips used.
Construction should be easy, but please read all these notes before ordering the parts.
Problems in the actual programming can be given if you do not observe these points.
It should cost very little, many parts probably in your 'junk' box, so it is ideal for the odd
programming needed for the project.
If you have only USB or need to program a wider selection, then see the PicKit2 programmer
available from Microchip Direct and other outlets for as little as US$35 plus delivery etc.
Its an excellent unit with great potential for the PIC enthusiast.
2
The Hardware.
Construction should pose no problems, but please check with your supplier the correct pin out for
their transistors and regulators incase they differ.
Please see the hardware notes in the rest of this document before ordering your parts.
Parts List.
IC1 74LS05 1
D1 1N4004/5/6 1
C1 1000 or 2200uf 63v 1 radial
C2/3 100nf 2 5mm lead spacing
C4/5 33pf 2 ceramic
REG1 78L05 +5v 100ma 1 t092 type
REG2 78L08 +8v 100ma 1 t092 type
T1/2 BC557 A/B/C 2 any version
LED1 RED 1 3 or 5 mm
LED2 GREEN 1 3 or 5 mm
R1,3,4,5,7 4K7 5 all resistors 1/2w approx
R2,6,11,12 10K 4
R8 1K 1
R9,10 100 OHM 2
ICSKT1 14PIN DIL .3 1 NEW
ICSKT2 28 / 40 PIN DIL .3/.6" 1 NEW
SK3 * 2.5mm power skt 1 + to inner or 2x5mm connector block
SK4 * d25 pcb connector 1 male or female to suit your cable
CAB d25 cable 1 parallel port to pcb cable see text
PSU as spec 1 mains plugin type psu 16-25v DC min 300ma
* extra, larger pcb pads provided to allow cables to be hard-wired, instead of sockets
Board Testing -
Visually inspect the completed pcb and clean between the joints to ensure any small solder bridges
and heavy flux residues are removed.
The PCB Layout - please check your printed sizes as 77mm square
Component silk
4
5
Hardware Information.
Please observe the following if you wish to avoid all sorts of weird problems when trying to burn.
Use only brand new ic sockets, preferably with a new pic ic. (contact resistance)
The D25 cable should be a good quality round screened type, and no more than 2m long!
It must be the Straight, Fully Populated type of D25 cable.
Do no use the crossover rs232 type.
Connect directly into the PCs parallel port, do not go via a switch box.
Do not add any extra capacitors to the circuit. These can affect the circuit timings
IMPORTANT NOTE
THIS CIRCUIT HAS BEEN BUILT SEVERAL TIMES AND ALSO IS USED VERY REGULARLY
AS THE PROGRAMMER INCORPERATED INTO MY DELVELOPMENT BOARD.
Software WinPic
From the interface folder , interface type; select custom on LTP1 from file
Then port LPT1 address 378 assuming you are using a standard port pc.
From the Custom Interfaces select Bojan Dobaj PR16PRO40
Notice that this folder also allows you to test the lines out to the programmer board.
In the options folder; select your language, and select the I/O DRIVER; SMPORT driver.
Two small files are downloaded with this document - 16f876a.dev and 18f2520.dev.
Put them in a folder on say c: These files tell the programmer about the types of chips used. In
the MPLAB DEV file dir box, browse and select this folder.
( or point the program to the respective mplab ide dev file folder if your have mplab on your pc)
From the device,config folder select the required chip, this may bring up a mismatch message,
from the option folder, reply yes, to correct.
Now from the File, Load or Open folder, load in the latest HEX file.
You are ready to program, but if you select the messages folder you can watch the messages as it
programs. Press the Program Icon to run.
Once it says done Ok then try it in the working circuit should be fine.
Check your hardware, and run the line tests from the program and check with a voltmeter.
As the program file has increased in size I noticed that , when first starting to program a chip,
verify errors were given, when the same thing worked just hours earlier.
However if I simply pressed program again, if would fail again, but doing it again, after about the
sixth attempt it programs up - ? Thereafter it continues to works fine - but power off or leave it
unused for a couple of hours and the problem returns - Windows XP fooling around ?
However, if you program just a very small file this will works fine
Other users have since reported the same problem, so it seems likely to be the WinPic program
and/or windows xp.
It means that I have to spend 2 minutes every time I start a new programming session, but
knowing how to handle the problem is the main thing - its not worth spending hours trying to find
the cause of 2 min delay once in a while.