PICKit2 vs ICD2
There are two types of programmer for the PIC series of 16 bit microcontroller.
The original programmer is called the PICKIT2. To encourage early adoption of the PIC architecture, Microchip placed the schematics, board artwork, and software of the PICKIT2 programmer into the public domain. Anybody is free to sell clones of the PICKIT2 programmer. Clones are available for around $20 on ebay.
Later, however, Microchip developed a more sophisticated programmer known as the ICD2. ICD stands for In-Circuit Debugging. Through the use of the debugger which is built-in to the MPLAB IDE, the internal state of the microcontroller can be examined with the ICD2. Program execution can stepped through one instruction at a time and breakpoints can be set. However, unlike the PICKIT2, the design of the ICD2 remains proprietary.
The relative merits of these two programmers are discussed regularly on Microchip Technical forums. Xiofan Chen has constructed a helpful FAQ on the subject:
Support for the PICKIT2 programmer in the MPLAB IDE has greatly improved in recent releases. And now, like the ICD2, the PICKIT2 can also be used as a debugger. Some developers are reporting that there is now little to choose between the two models.
- the original pickit2 from microchip
- pickit2 clone
- Microchip’s proprietary ICD2 programmer/debugger
Wouter van Ooijen has written a FAQ on the PICKit2 and Au Group Electronics provide some background to understanding the hardware of the PICKit2 and guidance on calibrating the programmer. There is also a dedicated Google group for the “discussion of open-source development for Microchip’s PICKit series of programmers”


