PICkit
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 analyzers and serial communications (UART) tools.
Versions
PICkit 1
The PICkit 1 — introduced on March 31, 2003, for US$36[1] — 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
The PICkit 2 — introduced in May 2005[2] — 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 is 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[2] 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 analyzer and a UART tool are built into the PICkit 2. These features are missing from the PICkit 3.
Since the release of V2.61, PICkit 2 PC software now supports a maximum of 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 the Microchip PICkit 2 team in the middle of March 2009. This enhancement may be integrated into future firmware releases, too.
PICkit 3
In January 2009, Microchip released 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.
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
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.[3]
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 5
In July 2023, Microchip released the 5th version of the PICkit. It supports ICSP and JTAG debugging/programming for Microchip devices and UPDI/PDI/JTAG/SPI/debugWIRE for AVR devices.[4]
Visually it's almost identical to the PICkit 4 and both share a rather similar feature set. The only notable functional differences at this time are the USB-C connector (instead of micro-B USB) and Bluetooth connectivity.[5]
Software
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 not maintained by Microchip, because of this there is no support for modern operating systems or new PIC microcontrollers.
Clones and open sources
PICkit 2 has been an interesting PIC programmer from Microchip. It can program and debug most PICs (as of May 2009, only the PIC32 family is not supported for MPLAB debugging). Ever since its first release, 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. It also creates much DIY interest while allowing clones to be created easily. The 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.[6]
There are many other USB PIC programmers than the PICkit series.[7]
The people who develop open-source software for the PICkit use a mailing list for collaboration.[8]
PICkit 3.5
PICkit3.5 is a description of a clone not made by Microchip.[9] The device claims to offer some improvements over the PICkit 3 from MicroChip and Clones from other manufacturers.[10]
PICkit Plus
In 2018, PICkit Plus software[11] 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 the 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:
- Updated PICkit 3 graphical interface for the PICkit3 hardware;
- Updated PICkit 2 graphical interface for the PICkit2 hardware; and
- A new command-line application that 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 (bug fixes).
- 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.
PICkit Minus
In 2021, Finnish developer Jaakko Kairus has developed a software called PICkitminus (PICkit-)[12]. The software is freeware.
The intent of PICkit- is to be able to program PICs using the SPI-type programming method. Some of these types of PICs (known as MSb1st) require reversing bit order, unlike regular PICs. Therefore, they cannot be programmed with the original PICkit software. The software was developed over the PICkit 3 standalone software.
Pickit2 and PICkit3 are supported on a single application. PICKit3 requires special scripting firmware.
Features:
- Supports nearly all, if not all, 8-bit PIC microcontrollers which use ICSP
- Supports PICkit2 and PICkit3 programmers, including clones like PICkit3.5 or PK2M
- Improved auto-detection of parts
- PICkit2 supports programmer-to-go also with recent MSB1st families
- Optimized programming scripts for MSB1st families to reduce write and verify times
- Improved blank section skipping for write and verify, to further reduce programming times
- Improved operation with PICkit3 clones
- UART tool also for PICkit3.
- UART is possible to use with other software by creating a virtual COM port
- SPI FLASH device support.
- GUI software works on Windows 2000, XP, 7, 10, 11
- Command line software works on Windows XP, 7, 10, 11, Linux and MacOS
- Retains all the good features from the original Microchip PICkit2 and PICkit3 stand-alone software
References
- "mcparam=en013622 PICkit 1 press release".
- PICkit 2 User's Guide, from which the product introduction date was inferred; also contains warning against using PICkit 2 programmer for production programming
- "MPLAB PICkit 4 Part Support | Microchip".
- "MPLAB PICkit 5 In-Circuit Debugger".
- "MPLAB PICkit 5 In-Circuit Debugger User's Guide" (PDF).
- avrdude listed pickit2 as an programming adapter for Atmel AVR chips: http://www.nongnu.org/avrdude/user-manual/avrdude_4.html
- "iCP02 - USB Microchip PIC Programmer (3.3V/5.0V, with ICSP & PICkit 2)". PICcircuit.com.
- pickit-devel: "Discussion of open-source development for Microchip's PICkit series of programmers." http://groups.google.com/group/pickit-devel
- https://www.eevblog.com/forum/microcontrollers/pickit-3-versus-pickit-3-5/
- https://www.eevblog.com/forum/microcontrollers/difference-between-pickits/msg1209893/#msg1209893
- PICkit Plus Webpage: http://gcbasic.sourceforge.net/Typesetter/index.php/PICkitPlus
- PICkitminus Webpage: http://kair.us/projects/pickitminus
External links
Microchip:
Reviews:
- Microchip PICkit 3 Programmer/Debugger Review Video
- Chuck Hellebuyck. "USB PIC programmers". Nuts and Volts magazine
Third-party Clones:
Open Source Software: