From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
PICkit 1

PICkit is a family of programmers for PIC microcontrollers made by Microchip Technology. They are used to program and debug microcontrollers, as well as program EEPROM. Some models also feature logic analyzer and serial communications (UART) tool.

The people who develop open-source software for the PICkit use a mailing list for collaboration.[1]


PICkit 1[edit]

The PICkit 1 — introduced on March 31, 2003 for US$36[2] — was a rudimentary USB programmer for PIC microcontrollers, produced by Microchip Technology, the manufacturer of the PIC series of microcontrollers. It was integrated into a demonstrator board, featuring eight LEDs, a switch, and a potentiometer. Its default program, explained in the documentation, rotates the LEDs in series. The light display's direction and speed of rotation can be changed with the button and potentiometer on the PICkit board.

PICkit 2[edit]

PICkit 2

The PICkit 2 — introduced in May 2005[3] — replaced the PICkit 1. The most notable difference between the two is that the PICkit 2 has a separate programmer/debugger unit which plugs into the board carrying the chip to be programmed, whereas the PICkit 1 was a single unit. This makes it possible to use the programmer with a custom circuit board via an in-circuit serial programming (ICSP) header. This feature is not intended[3] for so-called "production" programming, however.

The PICkit 2 uses an internal PIC18F2550 with FullSpeed USB. The latest PICkit 2 firmware allows the user to program and debug most of the 8 and 16 bit PICmicro and dsPIC members of the Microchip product line.

The PICkit 2 is open to the public, including its hardware schematic, firmware source code (in C language) and application programs (in C# language). End users and third parties can easily modify both the hardware and software for enhanced features. e.g. Linux version of PICkit 2 application software, DOS style CMD support, etc.

The PICkit 2 has a programmer-to-go (PTG) feature, which can download the hex file and programming instructions into on-board memory (128 KB I²C EEPROM or 256 KB I²C EEPROM), so that no PC is required at the end application.

The Microchip version of PICkit 2 has a standard 128 KB memory. 256 KB memory can be achieved by modifying the hardware or from third party clones.

Additionally, a 500 kHz three-channel logic analyser and a UART tool are built into the PICkit 2. These features are missing from the PICkit 3.

Since release of V2.61, PICkit 2 PC software now supports a maximum 4 megabytes of memory for the programmer-to-go feature. This modification makes the PICkit 2 support eight times as much memory as the PICkit 3. This enhancement has been contributed by Au Group Electronics and the PICkit 2 firmware is also reported to be submitted to Microchip PICkit 2 team in the middle of March 2009. This enhancement may be integrated into future firmware releases, too.

PICkit 3[edit]

PICkit 3

Microchip has gone on to manufacture the PICkit 3, a variation of the PICkit 2 with the same form factor and a new translucent case. It features a faster 16-bit PIC24F processor and a wider voltage regulation range. There are some complaints of it not being as reliable as the Pickit 2.[citation needed]

Both PICkit 2 and PICkit 3 have internal, switch-mode voltage regulators. This allows them, in the case of the PICkit 2, to generate voltages from 2.5 to 5 volts, or in the case of the PICkit 3, 2.5 to 5.5 volts, from a 5 V USB supply, at around 100 mA. Both have options for calibrating the output with a multimeter, for increased accuracy. Additionally, for some PICs, the MCLR programming voltage can be generated, at around 13 to 14 volts. This voltage is required to reprogram the flash memory.

PICkit 4[edit]

In February 2018, Microchip released the 4th version of the PICkit. It supports ICSP and JTAG debugging/programming. At the moment, not all PIC devices are supported, but the firmware is continually being upgraded to add support for new devices.[4]

PICkit4 also supports programming/debugging of AVR devices with UPDI/PDI/JTAG/SPI/debugWIRE interfaces by enumerating in "AVR mode" which makes its USB communication interface compatible with that of Atmel-ICE.


PICkit 2 has been an interesting PIC programmer from Microchip. It can program most PICs and debug most of the PICs (as of May-2009, only the PIC32 family is not supported for MPLAB debugging). Ever since its first releases, all software source code (firmware, PC application) and hardware schematics are open to the public. This makes it relatively easy for an end user to modify the programmer for use with a non-Windows operating system such as Linux or Mac OS. In the meantime, it also creates much DIY interest and clones. This open-source structure brings many features to the PICkit 2 community, such as Programmer-to-Go, the UART Tool and the Logic Tool, which have been contributed by PICkit 2 users. Users have also added such features to the PICkit 2 as 4 MB Programmer-to-go capability, USB buck/boost circuits, RJ12 type connectors, and more. It even penetrated into the Atmel community as it is able to be configured into an AVR ISP tool.[5]

There are many other USB PIC programmers other than the PICkit series.[6]


PICkit 2 and PICkit 3

The software for the Microchip PICkit 2 and PICkit 3 in-circuit debugger/programmers was released by Microchip in 2009 and 2012 respectively. The software is open source and therefore not maintained with no support for modern operating systems, no formal support from Microchip no support for new PIC microcontrollers.

PICkit Plus

In 2018, PICkit Plus software[7] was released to support the newer 8-bit microcontrollers that were not supported by the original Microchip software — including, but not limited to, the 16F18xxx and 18F2xKxx ranges. The software is donateware.

The intent of PICkit Plus is to facilitate programming of any 8-bit PIC microcontroller using the PICkit™ 2 and PICkit™ 3 (ICSP) In-Circuit Debuggers/Programmers. The software extends the life of the existing PICkit2 and PICkit3 hardware devices by allowing them to work with the newer 8-bit PIC microcontrollers.

The capabilities include:

  • Three applications:
  1. Updated PICkit 3 graphical interface for the PICkit3 hardware;
  2. Updated PICkit 2 graphical interface for the PICkit2 hardware; and
  3. A new command-line application which supports both PICkit2 and PICkit3 devices.
  • New programming protocol support for new classes of Microchip's 8-bit PIC microcontrollers.
  • Updated and managed 8-bit microcontroller database, to keep the software current with future microcontroller products.
  • Improved user interface.
  • Improved reliability (bugfixes).
  • Improved help and users PDFs.
  • Software is compatible with existing integrated development environment (IDE) software.
  • Supports low-voltage (2v to 6v) programming (LVP), and high-voltage (9v to 12v) programming (HVP)
  • Can read, write or erase program- and data-memory of microcontrollers, with verification.
  • Supports Windows 10, Windows 8.1, Windows 8.0, Windows 7 and Windows XP.

There are plans in the future to support MacOS and Linux.


  1. ^ pickit-devel: "Discussion of open-source development for Microchip's PICkit series of programmers." http://groups.google.com/group/pickit-devel
  2. ^ mcparam=en013622 PICkit 1 press release
  3. ^ a b PICkit 2 User's Guide, from which the product introduction date was inferred; also contains warning against using PICkit 2 programmer for production programming
  4. ^ "MPLAB PICkit 4 Part Support | Microchip".
  5. ^ avrdude listed pickit2 as an programming adapter for Atmel AVR chips: http://www.nongnu.org/avrdude/user-manual/avrdude_4.html
  6. ^ iCircuit iCP02 USB PIC Programmer
  7. ^ PICkit Plus Webpage: http://gcbasic.sourceforge.net/Typesetter/index.php/PICkitPlus

External links[edit]