Simple 3 Resistor PIC Programmer





Introduction: Simple 3 Resistor PIC Programmer

Micro-controllers play a very important role in electronics, as they are able to perform tasks in automation, control, image processing, among others. Their usage is immense. There are various families of micro-controllers, one of those is the Microchip’s PIC (Peripheral Interface Controller). PICs are very popular as they are relatively cheap and because of their characteristics, for example their low power consumption, internal oscillator and free development tools.

This is an example of a very simple 40 pins PIC programmer, it only needs 3 resistors:

Step 1: Schematic

As shown above, there are only three 4,7k resistors connected between the DB9 connector and the PIC. According to the schematic, these resistors are connected to the following pins of the PIC: MCLR (1), PGC (39) and PGD (40). The pin no.8 from the DB9 connector is connected to the PGD pin (40) in the PIC.

This programmer operates at 5V DC. Therefore, an external voltage source must be connected to the 2-pin connector.

Step 2: Design

We used the KiCad software to design the PCB, it is free!

Then we started making the PCB, first we printed the layout on an acetate sheet. Then we used the UV exposure method to transfer the circuit to the board and for last, we corroded the PCB with iron perchlorate.

Then we soldered all the components in place:

1 - DB9 connector;
3 - 4,7k Resistors;
1 - 2 terminal connector;
1 - 40 pin socket;

Step 3: How to Use

These are the steps to use the programmer:

1. Connect it through a serial cable to a computer;
2. Plug in the desired PIC on the board, for example, the PIC18F4550;
3. Using an IDE, like MPLAB or MikroC for instance, write, compile the code and generate the .HEX file;
4. Through a programmer software like PICPgm, send the .HEX file to the PIC.

And there you go, the PIC is ready to use and you got a new programmer for 40 pins PIC micro-controllers.

Project: here.



  • Epilog Challenge 9

    Epilog Challenge 9
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Science of Cooking

    Science of Cooking

We have a be nice policy.
Please be positive and constructive.




I made this programmer. But there is a problem. I used picpgm software. It detected programmer and serial port(com1). But there display 'pic no connected'. what is the problem. Can you help me.


Hi. Probably some bad contact in any connection. Or the PIC might be damaged.

On the 2 pin connector, 12v supply is what im gonna put there? Im a little confused..

db9 is male or female connectors ?.The Pin numbering differs for both

i made it and it dose detect the programmer but dosent detect the pic16f84a, it dosent support pic1f84a


Please notice that this programmer is made for PICs with 40 pins and PIC16F84A has 18 pins. If you want to use it, you must make sure that the right connections correspond to the appropriate pins. Which might differ from PIC to PIC.

thanks for the tutorial
I am using pic 16f877a
the program detected the programmer but not the pic
while every thing is connected right
I am using a phone charger ( 5.7 v ) and a 7805 and two 10 uF capacitors
so my output voltage is 4.92 v
and the voltage on the vss between vdd is 4.65 v is this the problem ?

fixed it and it works fine
many thanks

Would this work for PIC16F887 too? thanks