PICkit

Last updated
PICkit 1 Pickit1 top.jpg
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 may also feature logic analyzers and serial communications (UART) tools.

Contents

Versions

PICkit 1

The PICkit 1 was a rudimentary USB programmer for PIC microcontrollers, produced by Microchip Technology, the manufacturer of the PIC series of microcontrollers. It was introduced on March 31, 2003, priced at US$36. [1]

The PICkit 1 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

PICkit 2 PICkit2.jpg
PICkit 2

The PICkit 2 was introduced in May 2005 [2] to replace the PICkit 1. 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 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 modify both the hardware and software. 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 enables the PIC MCU memory image to be downloaded into on-board memory (128 KB I²C EEPROM or 256 KB I²C EEPROM). Once the image has been downloaded, devices can be programmed with this memory image without a PC.

The Microchip version of PICkit 2 has 128 KB memory as standard. 256 KB memory can be accommodated by modifying the hardware or by using a third-party clone.

A 500 kHz three-channel logic analyzer and a UART tool are built into the PICkit 2. These features are not available in 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. With this modification, the PICkit 2 supports 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.

PICkit 3

PICkit 3 PICKit3.jpg
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.

Both PICkit 2 and PICkit 3 have internal, switch-mode voltage regulators: from a 5 V USB supply at around 100 mA, the PICkit 2, generates 2.5 to 5 volts, and the PICkit 3 generates 2.5 to 5.5 volts. On both units, accuracy may be increased by calibrating the output with a multimeter. 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

PICkit 4 MPLAB PICkit 4 In-Circuit Debugger.jpg
PICkit 4

In February 2018, Microchip released the PICkit 4, which supports ICSP and JTAG debugging/programming. At the time of launch, 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 PICkit 5. It supports ICSP and JTAG debugging/programming for Microchip devices and UPDI/PDI/JTAG/SPI/debugWIRE for AVR devices. [4]

PICkit 5 appears almost identical to the PICkit 4 and both share a similar feature set. The only functional differences are the use of the USB-C connector (instead of the older 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. Consequently, there is no support for modern operating systems or new PIC microcontrollers.

Clones and open sources

PICkit 2 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]

PICkit 3.5

PICkit3.5 is a description of a clone not made by Microchip. [7] The device claims to offer some improvements over the PICkit 3 from MicroChip and Clones from other manufacturers. [8]

PICkit Plus

In 2018, PICkit Plus software [9] 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:

  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 that supports both PICkit2 and PICkit3 devices.

There are plans in the future[ when? ] to support MacOS and Linux.

PICkit Minus

In 2021, Finnish developer Jaakko Kairus published software called PICkitminus (PICkit-). [10] 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 using the PICkit 3 standalone software.

Pickit2 and PICkit3 are supported on a single application. PICKit3 requires special scripting firmware.

Features:

Related Research Articles

<span class="mw-page-title-main">Microcontroller</span> Small computer on a single integrated circuit

A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

<span class="mw-page-title-main">AVR microcontrollers</span> Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

<span class="mw-page-title-main">PIC microcontrollers</span> Line of single-chip microprocessors from Microchip Technology

PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.

<span class="mw-page-title-main">PIC16x84</span>

The PIC16C84, PIC16F84 and PIC16F84A are 8-bit microcontrollers of which the PIC16C84 was the first introduced in 1993 and hailed as the first PIC microcontroller to feature a serial programming algorithm and EEPROM memory. It is a member of the PIC family of controllers, produced by Microchip Technology. The memory architecture makes use of bank switching. Software tools for assembler, debug and programming were only available for the Microsoft Windows operating system.

Serial Peripheral Interface (SPI) is a de facto standard for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.

JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.

<span class="mw-page-title-main">PICAXE</span>

PICAXE is a microcontroller system based on a range of Microchip PIC microcontrollers. PICAXE devices are Microchip PIC devices with pre-programmed firmware that enables bootloading of code directly from a PC, simplifying hobbyist embedded development. PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.

<span class="mw-page-title-main">AVR Butterfly</span>

The AVR Butterfly is a battery-powered single-board microcontroller developed by Atmel. It consists of an Atmel ATmega169PV Microcontroller, a liquid crystal display, joystick, speaker, serial port, real-time clock (RTC), internal flash memory, and sensors for temperature and voltage. The board is the size of a name tag and has a clothing pin on back so it can be worn as such after the user enters their name onto the LCD.

<span class="mw-page-title-main">In-system programming</span> Embedded system programming technique

In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, chipsets and other embedded devices to be programmed while installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system. It also allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work.

Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.

Microchip Technology Incorporated is a publicly listed American corporation that manufactures microcontroller, mixed-signal, analog, and Flash-IP integrated circuits. Its products include microcontrollers, Serial EEPROM devices, Serial SRAM devices, embedded security devices, radio frequency (RF) devices, thermal, power and battery management analog devices, as well as linear, interface and wireless products.

MPLAB is a proprietary freeware integrated development environment for the development of embedded applications on PIC and dsPIC microcontrollers, and is developed by Microchip Technology.

A debug port is a diagnostic interface included in an electronic system or integrated circuit to aid design, fabrication, development, bootstrapping, configuration, debugging, and post-sale in-system programming. In general terms, a debug port is not necessary for end-use function and is often hidden or disabled in finished products.

<span class="mw-page-title-main">Bus Pirate</span> Microcontroller programmer and debugger

The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing microcontrollers and other ICs. It was developed as an open-source hardware and software project.

debugWIRE is a serial communications protocol, designed by Atmel. It is used for on-chip debugging of AVR microcontrollers.

<span class="mw-page-title-main">NXP LPC</span> Family of 32-bit microcontroller integrated circuits

LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.

<span class="mw-page-title-main">ATtiny microcontroller comparison chart</span> Subfamily of 8-bit AVR microcontrollers

ATtiny is a subfamily of the popular 8-bit AVR microcontrollers, which typically has fewer features, fewer I/O pins, and less memory than other AVR series chips. The first members of this family were released in 1999 by Atmel.

<span class="mw-page-title-main">Arduino Uno</span> Microcontroller board

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.

The MPLAB series of devices are programmers and debuggers for Microchip PIC and dsPIC microcontrollers, developed by Microchip Technology.

<span class="mw-page-title-main">Arduino Nano</span> Single-board microcontroller

The Arduino Nano is an open-source breadboard-friendly microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.

References

  1. "mcparam=en013622 PICkit 1 press release".
  2. 1 2 PICkit 2 User's Guide, from which the product introduction date was inferred; also contains warning against using PICkit 2 programmer for production programming
  3. "MPLAB PICkit 4 Part Support | Microchip".
  4. "MPLAB PICkit 5 In-Circuit Debugger".
  5. "MPLAB PICkit 5 In-Circuit Debugger User's Guide" (PDF).
  6. avrdude listed pickit2 as an programming adapter for Atmel AVR chips: http://www.nongnu.org/avrdude/user-manual/avrdude_4.html
  7. https://www.eevblog.com/forum/microcontrollers/pickit-3-versus-pickit-3-5/
  8. https://www.eevblog.com/forum/microcontrollers/difference-between-pickits/msg1209893/#msg1209893
  9. PICkit Plus Webpage: http://gcbasic.sourceforge.net/Typesetter/index.php/PICkitPlus
  10. PICkitminus Webpage: http://kair.us/projects/pickitminus

Microchip:

Reviews:

Third-party Clones:

Open Source Software: