Simple 3 Resistor PIC Programmer

eLab Hackerspace

Intro: 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.

Share

Recommendations

  • Fix It! Contest

    Fix It! Contest
  • Metalworking Contest

    Metalworking Contest
  • Tiny Home Contest

    Tiny Home Contest

84 Discussions

0
None
amila_adikari

1 year ago

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
0
None
eLabamila_adikari

Reply 1 year ago

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

0
None
GiovanniA23

1 year ago

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

0
None
AbhilashH3

1 year ago

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

0
None
rabehrock

2 years ago

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

1 reply
0
None
eLabrabehrock

Reply 2 years ago

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.

0
None
mmansour8

2 years ago

hello
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
0
None
eLabAlvarF

Reply 2 years ago

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.

0
None
AlvarFeLab

Reply 2 years ago

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

0
None
KadourK

2 years ago on Introduction

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
0
None
Ayman1

3 years ago on Introduction

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
0
None
eLabAyman1

Reply 3 years ago on Introduction

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

0
None
6ejazIsmailH1

Reply 3 years ago on Introduction

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