DIY PIC Programmer
Since buying a commercial PIC
programmer will often cost more than any single PIC project
altogether, the DIY solution well worth the effort. I built my entire
programmer for no more than 15 dollars. The programmer is designed by
David Tait and modified by Bob Blick. You can get the schematic and
rest of the info from
So that’s how great it can look! If
you’re as lucky as me and find a parallel port female and cable,
the programmer can be very sleek. One important thing to notice is
the input voltage, it must be over 15 volts or the MCLR voltage will
not be high enough. This programmer is very reliable and will work
every time once configured correctly.
For burning .hex files I use ICprog. To
get ICprog to work do the following;
Download ICprog and NT/2000/XP Driver.
Extract Icprog to any folder
Extract Driver to same folder
Run ICprog, ignore error messages.
If hardware setup appears, go to step 7, then step 4.
Settings -> Options -> Misc
-> Disable NT/2000/XP driver
Enable Disable NT/2000/XP driver,
allow ICprog to restart
Allow driver to be installed
Now after opening the program,
press F3, and set the following, if using a 7407.
If you get an error at 0000h, open
ICprog -> Settings –> Hardware Check. With the programmer
plugged in, without a PIC, check off each choice.
Enable MCLR should give 13-14 volts at pin 4
Enable VCC should give 5 volts at pin 14 and light the LED
Enable Clock and Data Out will change the output voltage at either
pin 12 or 13.
Here’s a little something to make
sure that the programmer is working properly. Download blink.hex and
burn it to a PIC16F84A, then build the following schematic. If
everything works you should have an expensive blinking LED.
I built the PIC-programmer into a spare
floppy disk, greatly improving usability. The pictures describe the
construction process. The extra long parallel port cable was made
from a standard IDE cable. The I/O for the programmer is soldered to
the existing I/O port, after cutting the traces. A small joule thief
like boost converter is used to supply 16V for the regulated 13V
This is the boost converter. Inductor
is center tapped, and non-critical. The transistor heated on me, so
you may want to experiment with different component values.