PIC programmer

Microchip and clones

 * PICkit 2 The hobbyist's choice. A powerful programmer and debugger with cross-platform programming software (Windows via the MPLAB IDE, standalone application and command line application; Linux - with source code; Mac OS X - with source code). Debugging is only available with the Windows MPLAB IDE software. Additional Windows-only software is freely available from the Microchip website for a UART Tool (use the PICkit 2 for PIC MCU serial communications) and a Logic Tool Analyzer (use the PICkit 2 to capture digital waveforms in a circuit). You can connect multiple PICKit 2 programmers to your PC at the same time, use one as a programmer, another as a logic analyser, a third as a serial port (UART tool). The PICkit 2 can also be used to program microcontrollers without being attached to a computer (Programmer-To-Go feature). Since the release of the PICkit 3 in 2009 (see below) Microchip have hinted that they will not add support for newer microcontrollers, but this does not seem to have been the case to date. There is also a user-created tool, the PICkit 2 Device File Editor which makes it easy(ier) to add new devices yourself. Note that some device are not supported in the MPLAB IDE but require the use of the standalone PICkit 2 programming application.


 * PICkit 2 clones Microchip made the PICkit 2 schematic, firmware and software freely available from their website and this has encouraged a slew of Chinese clones and a small number of enhanced, more expensive, clones. See eBay for current clones, also check vendors' own websites which may be cheaper (but watch the shipping charges!).


 * PICkit 3 Beware the newer PICkit 3. It is more like an ICD2 rather than a PICkit 2. From a hardware viewpoint, the PICkit 3 is a hybrid of PICkit 2 and the ICD 2; from a software viewpoint, it is purely an ICD 2. None of the good software architecture of PICkit 2 has shown up in PICkit 3 (yet anyway). The UART Tool and the Logic Tool Analyzer Tool are not available for it. The only programming and debugging software available for it is the Windows MPLAB IDE. To top it off it costs more than the PICkit 2 for significantly less functionality. The only reason you might consider it is that Microchip has committed to support it for future microcontrollers.


 * ICD 2 Superseded by the newer, cheaper ICD 3 (see below). Avoid.


 * ICD 3 In-Circuit-Debugger. Faster programming than a PICkit, but 4 times more expensive (or more compared with PICkit 2 clones). Also requires the purchase of additional header boards with a special microcontroller for debugging some 8-, 14- and 18-pin PIC microcontrollers.

Build your own
There are many designs on the web for PIC programmers. Some are clones of the Microchip programmers that use a PIC inside of the programmer. The first category of programmers use a PIC microcontroller as the core. Note: There is a chicken and egg bootstrapping problem with building your own PIC programmer that contains a PIC, you need a way of programming the PIC that goes in the programmer.

The second category of programmers are simple designs that do not contain an microcontroller such as a PIC. Typically these are serial port programmers, that require an RS-232 port that puts out at least 12 Vdc. Many laptop serial ports and USB serial port adapters cheat a bit and do not put out enough voltage for PIC high voltage programming (HVP) which needs 12-13 V. In order to go the full do-it-yourself route, a simple serial port programmer like the JDM2 could be used to program an 18Fx550 used in the PICkit 2 or ICD 2 clones.

Programmers built around a PIC

 * PICkit 2 clone using through-hole parts only.
 * $5 PICkit2 clone through hole parts only.
 * ICD 2 clone
 * ICD 2 clone on a breadboard

Programmers without an internal PIC/MCU

 * Business Card PIC Programmer - Simple JDM2 style serial port programmer posted on Instructables.com.