It is important to have a good idea about the pins of PIC micro controller used for programming. Notice in the figure below. Here are the PINs that are used for programming.




Click here to see the previous part.


I will try to say as much as possible what the pins will be useful during programming.


VSS / GND:


The name says what this pin will be useful. This is the ground pin of the micro controller. Ground is actually used as Zero volt Reference anywhere. To put it more simply, to measure how many volts there are in a place, you need to hold the ground pin to zero and measure the voltage there.


VDD:


This is the positive power supply pin of the micro controller. Up to 2-6 volts can be given as power supply in micro controller. How many volts can be given varies in different models. Which is 5 volts which is 3.3 volts.


MCLR / VPP:



 

This PIN is used to enter the micro controller into programming mode. To enter programming mode you usually have to give a slightly higher voltage than this VDD pin. For example, in the case of a 5 volt micro controller, sometimes 13.5 volts is applied and the micro controller enters programming mode. In some cases, applying this voltage can cause the microcontroller to be permanently damaged. Normally this pin is used to reset the micro controller.


RB7 / PGD:


Serial Data required for programming is sent through this PIN. Normally this PIN is used as the 7th bit of PortB i.e. RB7.


RB6 / PGC:


Just send Serial Data or not! No need to send Clock Pulse. This pin is used to send Clock Pulse. Normally this PIN is used as the 6th bit of PortB i.e. RB6.


RB3 / PGM:


This PIN is not actually attached directly to the programmer. But in order to prevent the micro controller from entering Low Voltage Programming mode in any way, this pin is connected to the ground with a resistor and the pin is lowered. This pin can no longer be used if low voltage programming mode is enabled.


These six pins above are used in programming. Let's look at the circuit diagram of a very simple programmer. I will discuss a few programmers that will make whatever you like.


First of all, let's talk about Serial JDM Programmer. This programmer was designed by Jens Dyekjær Madsen and was named JDM Programmer.


We will create a Serial JDM Programmer to connect to the Serial Port of the computer. There are two types of Serial Port, Male and Female. See figure below.



 




The circuit that I will give first is for those who will make it in Vero Board and for those who have difficulty in making bigger circuits. With this circuit you can program PIC16f84. Look at the circuit.





Not very simple. Now all you need is software. Download all the software, schematic diagrams and necessary files used in this tutorial in zip format from the bottom of the page.



Now let's see a little stronger circuit. A Japanese programmer named Multi PIC Programmer designed an improved version of the Serial JDM Programmer. I will show you how to make this circuit in PCB.


The following Circuit Diagram for making Vero Board seems a little less complicated.





When making the above circuit, make sure that the ground of the Serial Port (Pin 5) is not connected to the rest of the ground of the circuit. In fact, if you do not think of the ground pin of the Serial Port as Ground. Here the D5 and D6 Zener Diode are two of 5.1V and 6.2V respectively. As NPN and PNP Transistor you can use BC547 and BC557 Transistor respectively. Take a look at the pins of the transistors.





Zip Socket refers to the Text Tool in the circuit.



 

One thing to keep in mind when buying a Zip Socket is that all types of ICs can be placed in your Zip Socket with 6, 18, 20, 26, 40 pins. The gap between the two rows of 40-pin IC is half that of the 16-pin. I did not understand. You look at the pictures and match. Buy the picture below.





The switch called SW is used in the circuit to select the number of pin micro controller. The switches will be like the picture below, I have left a transistor next to it to understand the shape.





When programming 28 and 40 pin micro controller, this switch is applied to pin number 1 of VPP voltage Zif socket and in case of 6-18 pin micro controller, this switch is applied to pin number 14 of VPP voltage Zif socket. Now we are talking about how to put the controller of different pins in the Zif socket. You don't have to worry about installing the 40 pins but where to put the 8/16/26 pins. The easiest and most reliable way to do this is to match the VPP, VDD, GND / VSS pins of the Zif socket with the VPP, VDD, GND pins of your micro controller. Note the pins of the micro controller of the following 16 pins.





It has MCLR / VPP pin number 4. Note the circuit diagram of the programmer's SW switch to the 8/18 pin position. In this position of the switch, the VPP cable is connected to pin 14 of the Zif socket. Now place the micro controller in the Zif socket in such a way that the 4th pin of the micro contoller is connected to the 14th pin of the Zif socket. Now notice that the rest of the pins are matched automatically. Install the micro controllers of 28/40 pin starting from pin 1 of Zif socket and micro controllers of pin 8/18/20 starting from pin 11 of Zif socket. If you still feel the problem, then look at the picture below and put it in the Micro controller Zif socket or see how it has been installed in the PCB version below.






 

The programmer I will create this time is the PCB version of the above circuit. There is little change in the diagram. The change is that a switch has been installed in the emitter of the Q3 transistor. If you turn on this switch, you will supply to VPP before supplying to VDD of Micro controller. All the micro controllers that have internal crystal oscillators start executing the program as soon as they get power supply. In that case, even if you give voltage to VPP, it does not enter programming mode. In the case of all these Micro controllers, you have to supply to VPP before supplying to VDD. This process is called VPP before VDD. See the circuit diagram below.





A Japanese gentleman himself has made its PCB layout open to everyone. Take a look at the PCB layout below.





I am not writing separately what it takes to make a PCB and where to get it. You will understand when you read the whole thing. You must know that the ink used in laser printers and photocopies is actually a type of plastic, which does not get wet in water but melts when hit. We will print the PCB layout on the paper and transfer the layout to the Copper board by hitting, much like making an impression. You must have used seal, stamp. If you notice, you will see that the writings of the seals are actually mirrored (inverted). Impressions are gained in a fluid, global, diffused way. Since we will also give the impression, our layout should be the opposite. The design above is mirrored. So you have to print it as it is. Then there will be Etching, Drilling and Soldering with ferric chloride. Keep reading the details.


First you need to get glossy paper. You will find glossy paper in a press that prints books / magazines. Most of the time you may not want to give up. You have to request very much. And if there is no reason to be disappointed if you do not drink alone, there is an alternative. You must have read or seen the thin glossy magazine. Collect those types of magazines from anywhere and cut them into a fairly clean glossy sheet suitable for printing. I cut from the Daily Sun magazine every Friday and saw that there was no problem. There is no problem with whatever is written or picture on that page of the magazine. And if you don't get that, then you can try using normal paper.


Now print the PCB Design with a good laser printer. After printing, make sure that the print is perfect. Not to mention another thing, print without any shrink, compress, zoom out / zoom in. 100% just the way it is. Use as much ink as possible so that printing will not be a problem. Once I printed it with flower ink, I saw that my whole paper had turned black. Take a look at the picture of the paper below after printing.





Leave a little extra part of the paper and cut it to size.






 

Now cut the copper board that you want to make PCB to this size. You can use hexaw blades for cutting. Before cutting, mark with marker, it will be convenient to cut. Now the question is where to get the copper board. As far as I know, the only "Billal Electronics" located on the second floor of Haji Elias Market in Patuatuli has A4 size cut boards. Shop No-19.


After cutting to the size of a board, scrub the dishes very well with a scrubber and clean them so that there is no oil dirt. Many people use sandpaper. I rubbed it with sandpaper and saw that the amount of copper decreased.





Now glue the printed paper to the board with masking tape (paper).





Now it's your turn to transfer the toner with the hit. For this we will use iron to make clothes at home. First heat the iron. No need to heat the super duper. If you heat it too much, copper will come up from the copper board. Once hot, iron like the picture below.





Don't dodge at first. Hit everywhere with pressure. Then iron well using the iron tip. Note that this time the paper may tear when ironing with the tip. There is no need to put too much pressure on the tear.









 

Once ironed, let the board cool.


When cool, soak in water for 10 minutes.





Then rub the paper with your fingers.






Where there is no ink, that is, there should be no paper on the copper.



When working with ferric chloride, you must wear rubber hand gloves. Hand gloves at the pharmacy. And always dilute Ferric chloride in water. Do not mix water with ferric chloride. Don’t let the smell of it go dry or just try the eating point. Because it is very toxic. And when you do all this work, you must wear the worst cloth because the solution of Ferric chloride will never get up if it gets on the cloth. And at the end of the work, of course, do not throw it there. Ferric chloride also damages the plaster on the walls of the house. So don't throw it in the drain. I store it in a bottle and when the bottle is full I throw away the ferric chloride in the abandoned place. But do not throw the bottle.


Dip the copper board in the solution of ferric chloride and keep stirring the board so that the solution does not remain stagnant. Once the whole pot is straightened once, there will be a flow of Ferric chloride solution. Do not cry lightly or you may fall.



 




After moving for a while, you will see that the copper has started to dissolve and there is no copper in places.




When the copper is completely dissolved, wash the board with plenty of water.





Now remove the ink using paint remover or thinner or petrol or body spray.





Now it's time to drill. At Billal Electronics you will find a vice for installing motors and drill bits for making small drills. They will tell you where to find the drill bit. The cost will be approximately 600 rupees. In my opinion it is best if you buy a hand drill from the market. Because hand drills are never so good. The drill bit tends to vibrate. Mine trembles.





When drilled, soak a piece of cloth with a special thinner and rub it on the resin two or three times. Now apply this resin on the board. Apply resin all over the board again and again. Then dry the board. This will prevent oxidation of copper and will facilitate soldering.




 

Now it's time to solder. Soldering the wire links or jumpers first. Take a look at the pdf file to see where the jumper will sit. If you want, you can also take an impression of Silk Lay out using Iron Method.


Then solder the rest of the parts. It would be better to do ZIF Socket Solder at the end of all.


The DB9 connector of the serial port that needs to be installed on the board is the female type connector. See the picture below.





You can use the connector as shown below without using this type of connector. Because there is very little space in the serial port of the computer. It would be difficult to install such a large circuit. The advantage of this is that it can be used as much as you want. I just tied the wire to the board using a tie so it wouldn't break.





However, when installing the connector, match the PIN number. The pin number is written in the place of its installation. Take a look at the pins of the connector on the PCB in the image below.





You are ready to program your programmer.






 

Now let's talk about software.


Before connecting your programmer to the computer, check it thoroughly to see if you have made a mistake. Check if there are any short circuits while soldering. When all the checking is done, connect it to the serial port of the computer without putting any micro controller in the ZiF socket.


After connecting to the serial port of the computer, install and open the PICPgm Programmer software.





The programmer's LED will light up when the software is launched. If all goes well, PICPgm will auto detect your brand new programmer. If you detect Jdm Programmer (Autodetect) text will come down. If not detected, click the Auto Detect button.





If you still have problems with your programmer without detection. Make sure that all the parts are soldered properly, that no wire link (jumper) is omitted, or that the legs are inverted according to the model of the transistor. The boards are designed for 2n3906 and 2n3904. If you use BC547 and BC557, you have to put it upside down. I assume all is well. Now place any PIC micro controller in the designated place of ZIF Socket. Take the switch to the two designated positions according to the demand of the controller you are installing. Different positions for different micro controller are given in position.pdf file.


Now click on the Autodetect PIC button of PICPgm. If PICPgm detects your micro controller, you will see the name of the micro controller in the Device info box.





Those who want to use USB to Serial converter on laptop will just be disappointed. The computer must have a serial port.



 

Now it's time to start programming. Open the .HEX of the program you want to write.





Then click on the Program PIC button.





Hopefully your Micro controller has been successfully programmed.

Download necessary PCB file from here.