In this tutorial we will make a simple serial port based programmer for PIC microcontrollers. I have tried several easy to make programmers and software, and here I a presenting the programmer that worked the best. The design is based on JDM. The software we will use is PICPgm by Christian Stadler. I liked the performance of the software, its fast and easy to use. The programmer will make uses the COM port of Computer for communication.
Components required.
S.No |
Item |
Value/Part
No |
Qty |
01 |
Transistor |
BC337-40 or BC337-25 |
2 |
02 |
Capacitor Electrolytic |
100uF 16VDC |
2 |
03 |
Zener Diode |
5.1v 0.5Watt |
1 |
04 |
Zener Diode |
6.2v 0.5Watt |
1 |
05 |
Diode |
1N4148 |
4 |
06 |
Resistor |
1.5K |
1 |
07 |
Resistor |
10K |
1 |
08 |
LED |
RED Colour |
1 |
09 |
DB9 Female Connector
with Cover |
- |
1 |
10 |
6 PIN Female Connector
with Wire |
- |
1 |
11 |
Veroboard, Wires etc |
- |
- |
Circuit Diagram
Now assemble the circuit as shown below in a piece of veroboard.
Fig. : Simple Serial Port Based PIC Programmer. |
So our PIC programmer will have two interface
- A Serial Interface for Connecting it with PC
- A 6 PIN ICSP Connecter - This will be connected to our PIC which will sit in our project (say in a Breadboard).
![]() |
Fig. : Simple Serial Port Based PIC Programmer. |
The technique of programming we are using is ICSP i.e. In circuit Serial Programming. In this method our PIC will stay in the end application board while programming. There will be a simple 6 PIN header in our end application. We have to connect this programmer to the end application using this connecter. Now we can connect the programmer with PC and upload the HEX file to our PIC micro. The figure below illustrate the process.
![]() |
Fig. : Using A ISCP Programmer. |
Now our PIC Programmer is complete. In next tutorial I will show you how to write a "Hello World" application for PIC MCUs. After that you will have all the tools and basic skills to work with PIC related projects. Then we will move on an learn the PIC MCU step by step.
Ok friends, bye for now, meet you in next tutorial. And don't forget to post you comments, I am waiting for them!
By Avinash Gupta
avinash@eXtremeElectronics.co.in





Thank you so much for the instructions…
Can u please publish the schematics and source code for USB ISP programmer for 89s chips?
Hello RonyRC,
I can publish them but to make It you need a microcontroller with proper firmware. So to make it you need to make a programmer to burn that MCU first. Thats the problem!
I am working on PIC12f683
Instead of buying the programmer how can i make it??
Pic programmer alone is some 2000rs
So can you please tell which circuit i hav to use.
hope u got my point
@Sunil
Just read the above article. Its about making the same !!!
that is so usefull circuit. i want to make morse code reader but i dont know how to start with ,though i have code and programm for it but i dont know anything about microcontroller . i hope this simple circuit will help me. thanks for the cir.
Hi
I am really in trouble
My project demands PIC12f683
I am write nw using mikroc software a trial and version
I am finding it difficult what to read and what not
can you please help it out
I want to learn this PIc programming and i have less time.
First I need is what are things i hav to study
i want to buy a 89s52 copier, I dont know were i will get it.
I want to copy 89s52 to another 89s52. please help me.
Get a eXtreme Burner 51 from here
http://shop.extremeelectronics.co.in/product_info.php?cPath=21&products_id=64
use it to READ a chip and save as HEX file. Then BURN the same hex file to other MCU (89S52)
If u need the copier in bulk (more that 100 nos) then we can design one for you.
can ypu please give me the pinouts of the ICSP header in the above schematic?
@Rakesh
click on the schematic to enlarge. Their u will get the pin out.
AVinash actually i am a beginner for the microcontrollers . i want to use them to make them for the robotics project. an you tell me where can i get the knowledge about the programmers . can you tell me the procedure of uploading the hex file into the microcontroller by the programmer by the software.
@Utkarsh
see
http://extremeelectronics.co.in/avr-tutorials/part-iv-the-hello-world-project/
and
http://extremeelectronics.co.in/microchip-pic-tutorials/hello-world-project-with-pic-microcontroller-part-ii/
dear avinash, i recently sent you a paypal payment for your usb pic programmer. i have been trying to get from you a confirmation that you received it. plz respond and let me know. thank you. pg
Dear Sir,
I am Education Trainer Board manufacturer of Jharkhand and Bihar zone, I will be Required some electronic kits during manufacturing. i want to your shop address.
Rajendra Raj
Dhanbad Jharkhand
Dear Avinash, I built a development board similar to the Olimex using the PIC18F4550 and it seems to work fine. I now built your simple pic programmer but it doesn’t reconise my pic using the PICPgm software. It brings up a message “No pic”. I have checked and double checked everything and all connections look ok. I did use equilavent transistors, PN3642 instead of the BC337, is this ok? One other question whats the purpose of the 6.2V zener, and how critical is this voltage. Can it be slightly lower or higher?
@Donald
Are u using a USB to serial adaptor ???
Is this programmer able to program PIC16f72 devices
where is the target board schematics sir
@Donald:
Make sure that the PGM pin of the PIC18F4550 is tied to ground if you are using a high voltage programmer like the Olimex.
Also check that Vpp (programming voltage) is between 7V and 12.5V. This is required according to the programming specification of the PIC18F4550.
Further things to be checked can be found here:
http://members.aon.at/electronics/pic/picpgm/troubleshooting.html
Regards,
Christian
Can u please publish the schematics and source code for USB ISP programmer for 89s chips?
a friend of friend has the same so i can get the firmware i think.
pls help
@If we publish them for free how will we get funds to run this site ???
sir, can the same circuitary works for all pic comtrollers?? mainly am using pic16f877a and pic18f452. please reply to my mail, rexjohn4u@gmail.com
sir, can we use the same programmer for pic 16f877a and pic18f452??. both are 40 pin controllers
your iscp circuit is good…. bt i want to know about software used for dat……
i used it on my pic18f1320 and it worked perfectly.
ty a lot
Hi! i tried this circuit on my PIC16F84A it work great,,,
but this programmer is not working with PIC18F452…
i need help for that….
it have some sort of verification error…
please help…
hi , i used this circuit to burn my pic16f877a it worked fine the first day , i had used winpic800 , but next day the pic was not getting detected in winpic800,it was saying device unknown , then i just interchanged the signals connected to pin 4 and pin 8 ( ie. the dtr and cts ) of the rs-232 connecter , now my pic gets detected , and gets successfully programmed ,,,thanx for the circuit
Why dont you mention in your URL which PICs these burner supports? It will help avoid guesswork and help many.
My calculate guess is since it works with Christian Stadler’s program it would support all devices mentioned in his URL:
http://members.aon.at/electronics/pic/picpgm/index.html.
Still my Question to you is Does this burner support PIC18F1220 ?
Thanks for your confirmation and Cheers!
hii..
Iwas searching for a programmer for the last few months…
I dont know this will work or not .. But i will try to build this programmer.
I like to know that will it support to over write old hex files in the PIC.??
how can i know the oin details of A 6 PIN ICSP Connecter please help me
it works perfectly for me
very useful circuit
thanks a lot mr.avinash for ur awesome info…
can you just mention what are the supporting pics for the above hardware and software i can use for it…..
thank u
-regards
venkatesh
Hi all,
Many thankxxx, But Can I program pic16f877A by using this picprogrammer?
Hi Avinash,
How can I use this programmer on LINUX (I use UBUNTU 11.04)?? which software should I use for burning code into the Microcontroller??
Also I have PIC16F877 & PIC18F4520 ?? Can this programmer program these devices??
I made this programmer and used it with PIC16F877A and it works great.
Thank you very much.
good,
which used software for program store?, pl. sent software on my mail audutdolas@gmail.com
thx alot for this circuit but i have a question these 6 pins will be connected to which pic pins ( 16f84a) .
This is nice…..& it works very well….
Thanx….
Does this work with a pic16f690?
Hey there.
I use a FT232RL USB-Serial bridge.
How is the circuit for that?
i can’t find any pic programmer using a ft232rl…
do you know how to build one?
Greetings