ICD2 Clone programmer

Some while ago company Microchip released ICD2 programmer (during writing this article there is ICD3 on market). It is universal ISP (In System Programmer), what means that if we want to change program in our chip, we don't need to solder it out. All we need is to plug small connector into device. Its the biggest advantage is wide range of programed chips. For debug purposes it includes JTAG interface.

But as most of those type of products, signed by some company, it has one big disadvantage - price. Its normal price in Poland was about 660 PLN which is almost 6 times more that this clone. That is why many people decide to built it. There is cheaper option of simple programmer, using serial port, but I don't have such thing in my laptop and people say, that it is not working with USB->RS232 converters. That is why I decided for this solution. I was searching the Internet, when I found it. Its web site describes all details of making it at home (ICD2 clone homepage). I have downloaded all necessary files and build the device. According to one of electronic law: "if some device works since first time, it means that is broken". This prototype didn't work. On the beginning I had problems with programming chips required to proper work. Fortunately, thanks to patience and expirience of my collegue from work Jana (Jaśka) Dłubały I had it. Then, it turned out, that voltage levels don't meet desired levels. After many tries I managed to put one of them on correct level. Couldn't cope with others I went to my favourite forum (elektroda.pl). I found a thread related to my problems, but after drain all ideas of forum users device still didn't work as it should. Finally and suddenly with help came my other collegue Piotr Orlik, who turned out to have such clone programmer. He told me, that he bought a PCB from one guy in the Internet. He gave me contacts to him and I followed the same path. This same day when I received package, I also soldered whole device. And guess what. This time it worked. :).

A bit about construction:

PCB was designed mostly for THT components. Unfortunately, author used the smallest THT resistors. I didn't have them (only in normal case) and I didn't want to mount them all vertically, so I decided to use the biggest SMD (1206). I used a drop of solder on both sides (see photo) to mount them. On PCB there is a place for two connectors for programing purposes. One (original) is RJ, which I personally don't like. Second is a regular goldpin which I used, because I find it as better option.

Final results and fles to donload are below:


A few photos of ready device:

Darkek's version.

One day my collegue found my webpage and this article. As it turned out, this was what he looked for. When he saw low complexity of schematic, he decided to design his own SMD version. More you can read on his webpage (only in Polish - sorry) www.toconasze.strefa.pl. Below you see two photos of his device. For intressed in I will mention that you can buy it from him. Contact to him through his webpage.

Problem: Invalid target device id (expected=0x21, read=0x1)

During try of programming chip PIC18f452 we can see this communicat with none zero value "read=0x1". Programmer doesn't show similar sympthoms durring programming other device PIC16f873A.


One of buffers 74HC126N is broken down. Replace it with new one.

Problem: Invalid target device id (expected=0x21, read=0x00)

During try of programming chip PIC18f452 we can see this communicat.


Power supply programmed device or replace lines PGC and PGD.

Wszelkie prawa zastrzeżone. Projekt i wykonanie strony SrcPro.pl