After looking at the circuit design of the P16PRO40 programmer, I decided to build myself a similar one too. However, my ambitious aim is to make one that works with as many different programming softwares as possible because no one programming software covers all PICs available on the market. The trouble is different programming software uses different data signals for particular function. Some software like WinPicProg allow user to re-assign different signals but others only allow user to pick a certain design from a list. The well known programming software IC-Prog is one of these. Thus my quest is to design one which sort of universal and satisfy requirement for these programming softwares so that I can freely choose whatever programming software that suits me and covers the PIC in use. Best of all, if one gives me troubles, I can always try another one to make sure whether the problem is in the PIC, the programmer or the software.
For the connection to the PIC, I have used a six-pin socket with two ground connections. One is for the power to the pic and the other one will go to the PGM pin of the PIC to pull it LOW.
Once you have the ability to program a PIC, the wise thing to do would be to program a pair of "id" words into the flash memory and the data EEPROM. I always put "3210" and "1234" in flash and "12" "34" in EEPROM on all the PICs I have. Next time when you want to use them to check out new programmer or programming software, the "READ" operation can at least tell you that the setup is working fine or whether some data/control lines are inverted.
I have decided to call my own design PIC1388, simply because I use the handle eblc1388 in electronic forums.
The modulator of this forum I frequented is Mr. Nigel Goodwin who is also the author of the WinPicProg software listed below.
There is another simpler version here of the programmer that I built for my friend.
So far I have managed to make it works on six programming software. There are as follow:
IC-Prog
PicAll
PP18
WinPic
WinPic800
WinPicProg
Does it matters which software to use, I heard you asked. Oh, yes. Very often there are minor timing differences between programming softwares so changing to another might work for a particular PIC that appears dead in one software. If several programs failed to program it, it can be officially declared dead.
Like what you have seen so far? I have gone all the troubles in saving up all the settings details so you can set the software up like mine immediately. With the help of image, there is no room for possible errors and guessing. I hope wou will like what I have done. Don't forget to email and tell me of your success.
In alphabetical order:
This is the last software I have tried and it gave me some troubles as a valid selection using "BUSY" does not work and the program always reported error. I have no problem using the "BUSY" line on all other softwares. Therefore I was forced to use up my remaining TTL buffer and wired the signal also to "ACK" line. Another problem is its programming algorithm which gives troubles on programming the 16F628A. The solution to this problem, which I found after searching a long time on the NET, is also clearly shown in the image.
Very stable and fast and has a nice GUI. I'm having a bit of problem understand how the hardware setup tick boxes work. Best setting up using a pre-programmed PIC to confirm correct reading of data.
Also very stable and fast but the range of PICs covered is a bit limited with regard to other programming softwares.