Custom Search

Thursday, March 6, 2008

How to build your own PIC-Programmer

The original schematic was developed by Radu Igret. It is a modification of a JDM-Programmer. This PIC-programmer has to be connected with the serial com port of your computer. This device don’t need any external power supply. The print layout was made with Eagle by CadSoft.

Which types of PIC microcontrollers and EPROM’s are supported?

You can use this PIC-Burner for PIC12C50x, PIC12F62x, PIC16FFxx, PIC16F62x and EEPROM 24Cxx. This PIC-Programmer was tested with PIC12C508 (A), PIC12C509 (A), PIC12F629, PIC12F675, PIC16F84A, PIC16F627, and PIC16F628.

The PIC-programmer is easy to build and compact. 3 LEDs indicates the state of the burning-process. Red: burning, yellow: clock-signal, green: power supply. The dimensions are about 50 mm x 62 mm.

The Modification of this JDM-Programmer:

In comparison to the original JDM-Programmer exists a connection between pin 10 (JDM) and Vss instead of VDD. This modification makes it possible to program PIC microcontrollers with LVP-function (for example PIC16F627 or PIC16F628).

The Schematic of the PIC-Programmer:

The wiring diagram was drawn with Eagle-Lite by CadSoft in order to create a print layout by my self. Eagle is very popular print layout software in Germany and for non-commercial use free.

The schematic view of the PIC-Programmer ( The bipolar npn-transistors are not very critical. Probably you can choose almost any small signal types. The capacitors are 16 Volts types. The SUB-D-connector is female and has 9 Pins (Reichelt-Best.-Nr.: EMV-BUCHSE 09W). All resistors are common and have 1/4 Watts, 5% tolerance (Download of the Eagle-SCH-file for the schematic here).

The Print Layout:
I developed the print layout with the help of Eagle. Because I am not a professional lay outer I used the auto router. After some tries and errors I came to a practical solution for homebrewed stuff. My intention was not to build something for the industrial mass production.

The component side of the pic-programmer. The small holes have a diameter of 0,8 mm, the 6 big ones 3,5 mm. It is recommended to make the print of the layout with Eagle and the Eagle-BRD-file (Download here the jdm-layout.brd and the folienausdruck.brd, which is prepared for the print).

Feel free to modify and improve my Eagle files provided you don´t use them for commercial purposes. By the way here is the print-layout as a picture (layout-as-picture.gif). ( quality is not as good as a print with the Eagle-file. Don´t forget to resize the dimensions of this picture.Otherwise the components will not fit. I recommend the picture-viewer-software IrfanView.

How to insert the PICs and EEPROMs:

The Software IC-Prog:

At least you need a software on your PC in order to copy the hex-codes on your hard disk into the PIC. By the way there are hundreds of hex-codes for PICs in the Internet. You don´t need to be a PIC-programmer. Just download and burn.

I use this pic-programmer in combination with the free windows-software IC-Prog. ( This software supports also this modified JDM-Programmer.

IC-Prog: Choose this configuration for the JDM-Programmer.

My personal Experience:

The burning, flashing, erasing and testing of used and new PICs takes 20 to 50 seconds. However I did not succeed in flashing a used PIC, which was programmed by an other PIC-Programmer. I don´t know the reason.

Download: This zip-file contains the entire web-page ( including all files and Eagle-files.


Proton said...

Hello, thanks for your schematic.

Me and my friend built JDM Programmer based on your schematic. I used IC Prog 1.06B. I run in on Windows XP.
But I have a problem when try to blank check EEPROM 24C04 it shows
Device NOT blank at address 0000h!
and when I try to verify it shows verify failed at address 0000h.
Also the 'erase all' menu didn't active.

Thank you.

Shriram Sharma said...

nice your blog.. keep its

Laptop battery
- We offer the highest quality laptop batteries for Toshiba,Dell,HP,Compaq,Sony,IBM,Acer available on the market.Our laptop battereis are the best value,low price.

Donno said...


I have duplicated your project but in Vista when I try to Erase or Write My PC just starts to lag until I restart any help ?

James said...

Any chance that someone here know whether or not this programmer would work for a PIC16f648?

SS said...

Nice design. Thank you for posting. I was looking for something simple to burn out 12f629.
I have build this programmator and tested read/burn/erase/burn capabilities for pic12f629 sucessfully. Works with laptop`s serial port too does not verified stacionar pc, but should work with no issues i believe. By the way - my laptops voltages are poor and low (~6V) but still geted it work. I used ic-prog ver. 1.05D for burning, with direct serial i/o , real time parameter setted and low i/o speed (slider moved to 1) NT driver installed and enabled. Regards.

Toshiba_Equium_batterie said...

nice your blog and very nice dear your blog Ranking is too Good we like its you can see our also website for online shopping......
laptop batteries

snake said...

Hey. I build this JDM Programmer and respected the schematic posted. But there is a problem with something, don't know it wrong. I connected trough the serial port, and made the configurations for the COM1 port, and nothing happens, no LED is switching on, not even that power LED. I pot in that PIC socket and EEPROM 24C08, and still no changes. I used the same program IC Prog, but i saw no new hardware installations or something, that detects a new connection. Can you help me please with some advices, or what should i do. Best regards