A simple programmer for PIC microcontrollers
Perhaps this circuit is the simplest programmer for PIC
microcontrollers you can build. It is connected to serial port
of your PC and it has a very similar design with the SI-Prog
programmer for the AVR microcontrollers. With the help of
adaptors you can extend the possibilities and program more PIC
By default this programmer supports the micros:
PIC16C8x, PIC16F8x (PIC16F83, PIC16F84, PIC16F84A),
PIC16F62x (PIC16F627, PIC16F627A PIC16F628, PIC16F628A),
PIC16F648A, PIC16F716 and generally any PIC microcontroller
which has the same pinout, with the very well known PIC16F84.
However, with the help of the adaptor, you will be able to
program almost any PIC micro that supports the ICSP programming
Keep in mind that the programmer is not
supporting low voltage programming. So you must always leave the MCLR fuse selected.
USB to serial converters will not work
with this programmer. Your motherboard must have build in serial
ports. If it doesn't then you can use PCI serial cards (for
one serial port the cost is low).
- Two Zener diodes at 5.1V (low Watt).
- One 10KÙ resistor (1/4 Watt).
- Two 4.7KÙ resistors (1/4 Watt).
- One 100ìF electrolytic capacitor (16
- One 100nF capacitor
- One 7805 voltage regulator (you don't need any cooler).
- One 1N4001 common diode.
- One resistor of 270 Ohms (1/4 Watt).
- One common green LED.
- A 18 pin DIP socket (for the PIC16F84 type of micros).
- A female 9 pin DSUB connector (for PCB).
- Male pin header (5 pins. If you have one with more pins, just
- One power jack.
- A small piece of a Veroboard.
- Wire for connections.
- Solder and soldering iron.
Also you will need a stabilized 9V or 12V external power
supply. A 9 Volt alkaline battery is the perfect choice.
Here is the schematic diagram of the simple programmer
for PIC microcontrollers (click on the picture to enlarge)
Attention: As we said earlier this programmer doesn't
support low voltage programming. So keep the MCLR fuse always
selected (read the settings section).
your serial port is capable to generate the necessary
programming voltage (about 11 - 14V) at pin 3 (TxD -
Transmit Data). This is important to get into programming
mode. Although, in most cases (over 90%), you will not
have any problems.
You can program more PIC microcontrollers with
the adaptor. See how you can program PIC16F876, PIC16F876A,
PIC16F873, PIC16F873A micros by building the
In order to
work with this programmer you need also the appropriate
software. You can find a large number of free software you can
use. However here, I will discuss the settings only for icprog
If your computer
isn't fast enough increase I/O Delay. With a Pentium II 333MHz I
didn't have any problems with the delay.
Attention: In order to
use Direct I/O in Windows XP, you need to download the
appropriate driver from the same source you downloaded icprog
Don't forget to
leave the MCLR fuse bit selected, like in the following picture
uncheck the LVP fuse bit (but this is not so critical).
following pictures you see the programmer build on small piece
of a Veroboard.