Simple 3 Resistor PIC Programmer


Introduction: Simple 3 Resistor PIC Programmer

About: eLab Hackerspace

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.



  • Woodworking Contest

    Woodworking Contest
  • Make it Move Contest

    Make it Move Contest
  • Planter Challenge

    Planter Challenge

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.

2 replies

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

1 reply

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 ?

1 reply

fixed it and it works fine
many thanks


Yes, it should work.

We tested this programmer with PIC16F877, PIC16F887 and PIC18F4550. For other PICs all you have to make sure, is to check if the pins VDD, VSS, MCLR, PGD
and PGC are in the same place as PIC18F4550 for example. If they match,
is very likely that this programmer will work.

Wow! I'll try it as soon as I can. Thank you very much eLab!

is the pin 5 of the DB9 connected to the ground? and if it is, is it the same ground of the power connector? thanks

2 replies

Yes and yes! ;)

im going to build and try it, thanks elab

the 2 pins 1 & 2 one goes to +5v and the other to 0v ?
at the same time 1 to pin 11 and 2 to the pin 10
am i right?!!

1 reply

The power supply comes from the connector P1.

The 5V (pin number 2 from the power connector) goes to pins 11 and 32 of the microcontroller. The ground or 0V (pin number 1 from the power connector) goes to pins 12 and 31 of the microcontroller. These PICs use double pins for power, two pins for positive and two pins for negative, you must connect them all

deer did it work with USB to DB9, beacuse I don't have DB9 Port on my laptop

No dear because USb to Serial COnverter has only TX, Rx, Vcc and Gnd ..

While this programmer uses other PINS of DB( as well. Sorry but u have to use a real/original serial POrt of a Desktop Computer