Nigel Goodwin's Website
Register on my support forum to post questions or suggestions, announcements and an FAQ are also available. Registered users will be E-mailed when any new versions are released.
I've had a lot of requests for a circuit diagram for a programmer, so you can download the diagram for the P16PRO40 programmer here, this works nicely with my software, and is one of the programmers I use. You can order it as a kit from Dontronics.
There are also details of a programmer specifically designed for in-circuit programming by Gary Aylward on his website.
first is my programmer software, this is designed for use with David Tait type serial
programmers, and includes many useful features, amongst which is an inbuilt dis-assembler.
A lot of testing and advice for this program were carried out by Don McKenzie, many thanks
to him, and I would recommend his programmer PCB's, they are very high quality and well
you would like to look at Don's products, visit his web site. He also has a recently
developed motherboard/programmer for the new SimmStick(tm) products, these are 30 pin SIMM
socket based modules. Currently they are for PIC and AVR series micros, but may expand to
cover other ranges in the future. Full details on all his products can be found on Don's
web site at the link below.
The second is an updated version of my original DOS software, it has been rewritten and now supports the later 16F84 and 16F83 as well as the 16C84. It has had a bugfix March 1999 to cure problems with inverting buffers and PNP transistors.
The DOS software versions are written in Turbo Pascal 7.0, unfortunately with the advent of very fast Pentium II processors a 'bug' in TP7 has come to light. Any programs using the CRT Unit will crash with an 'Error 200', if the machine is too fast. There is a patch available to cure this problem, if you are experiencing it running this patch program should cure your problem tp-patch.zip.
The third is a 16 bit Windows version of my PIC programmer software for use under Windows 3.x or Windows 95, it's written using Borland Delphi version 1.00 and, like all my programmer versions, has the built-in disassembler. This version also programs the 'F' series devices as well.
This has been recently updated (Oct 1998), it has had a few small bug-fixes, and now includes a Windows Help File, just extract the two files into a directory and run PICPROG2.EXE, there are no DLL files or similar to worry about.
There has also been a bugfix here (March 1999) to cure the same problem with inverting buffers.
Updated March 1999 16 Bit Windows version V1.21.
The fourth is a Windows 32 bit version for use under Windows NT, or Windows 95, it was originally ported from my 16 bit version by Andrew Jarman using Delphi 3.0 and uses a freeware driver DLPortIO.DLL which can be downloaded from: Download Driver. Once you have downloaded the driver, execute the file and it will install the driver and set everything up. Until this is done the programmer software will exit with an error.
As I now have more web-space I've uploaded the 32bit driver onto my site, so you can now also download from this local link Local Driver Download.
I've recently updated (Oct 1998) the 32 bit version using the new Delphi 4.0, basically the same updates as the 16 bit version, curing the few small bugs, and adding a help file. As with the 16 bit version, just extract the two files into a directory and run PICPRG32.EXE, don't forget, you MUST! have the driver DLL installed for this program to run.
Unless you are running Windows NT, I would advise using the 16 bit version, they are functionally identical, but the 16 bit version runs faster - due to timing problems in a 32 bit environment.
There has also been a bugfix here (March 1999) to cure the same problem with inverting
fifth is a stand-alone disassembler, this is a special version written for the UK magazine
'Everyday and Practical Electronics'. It will disassemble either their TASM generated
files, or the standard Microchip MPASM ones - from these it will also produce source code
suitable for either assembler, it's useful for converting code from one format to the
The latest version of PicProg - PicProg877 17/01/2001, this is a 32 bit version for Windows 95/98/ME/2000/NT, and uses the same driver (DLPortIO.DLL) as the previous 32 bit versions. New in these later versions is support for the 16F877 family, better configuration fuse handling, and the timing under Win32 has been improved. Support has also now been added for the new 16F628 series chips as well.
Updated 22/10/2000 - to cure problems with the 16F84A, Roman Black kindly sent me a chip, and I've altered the program to solve the problem (the erase routine wouldn't work for the 84A - yet it was fine for the other chips?).
Latest update (17/01/2001) has added a 'Reload' button and an 'Auto Program' checkbox, using these together gives a 'one button' solution to re-program the target PIC after altering the program code. At long last I've got around to rewriting the helpfile, and also added an InstallShield install routine, simply un-zip the file and run setup.exe to install the software.
I've not had many bug reports (so hopefully it's fairly bug free?), but I'm pretty sure the dis-assembler will die if you try to dis-assemble any large programs - I was struggling for space in the 16C84 version, so having eight times as much program space is going to cause trouble :-). I might eventually cure this by disabling it?.
With my present martial art commitments I don't know when I'll get more work done on it, but free 16F877 programmers seem a bit thin on the ground, so I thought I'd release it - feel free to let me know of any problems, and I'll try to fix them when time allows.
I've added an extra hardware line 'Vpp40', as used in the P16PRO40 hardware, and the software works with that hardware - when you select a 16F8** chip Vpp40 is used instead of Vpp.
I haven't tried it yet, but if you set 'Vpp40' to the same as 'Vpp' it should work OK with the DT001 SIMMStick programmer - it's something else I'm trying to find time for. A number of people have reported this works fine, I still haven't found time to try it myself yet.
Version 1.74 - February 2002 - I've done a few small changes, in particular I've added support for the extra clock modes on the 16F628 series chips, and I've changed the wording on the Verify error routines - following a suggestion from Andrew Heard in Australia. Also new is an option to turn off Auto-Verify, and default hardware settings - the Hardware window now includes defaults for SimmStick and P16PRO40 (both 7406 and 7407 types) programmers, plus the original manual settings. The help file has been updated accordingly.
Windows 2000 - there's been a few problems with the program under Windows 2000, it has a problem loading files, and fails with an error displaying a '$'. I don't know why this happens under 2000, but I'm looking into it, in the meantime if you select the 'HEX File' tab before you load a file, it works OK.
I retain copyright to all programs, but they may be freely downloaded and distributed, as long as no charge is made. This means they may NOT be distributed via BBS's using premium rate (RIP-OFF!) phone numbers.