kair.us/ projects/ pickitminus/

PICkit- software suite

You can use your trusty old PICkit2 and PICkit3 with the new Microchip PIC microcontrollers with PICkitminus program. It supports all the recent 16F and 18F families which use SPI-based programming method, e.g. PIC16F153xx or 18F K83 families. These are also known as MSB1st families. There are GUI and command line versions available. Both will automatically detect PICkit2 and PICkit3.

Modified and enhanced PICkit2 minus software supports new
          SPI-type PICs



Microchip has obsoleted the PICkit2 programmer over ten years ago. It had very easy to use and reliable stand-alone software, but Microchip stopped it's development already in 2009. Luckily, the PICkit2 has always been open source, so anyone can make modifications and improvements are share them with others. Also, dougy83 has created a device file editor which can be used to add support for new parts for the PICkit2 software. Using this editor, people have added support for new microcontroller types. However, recent PIC controllers use SPI-like programming protocol. It isn't possible to support that only by adding new scripts using the device file editor. Either the PICkit2 software or firmware must be modified.

I was recently looking a way to program PIC16F15355 using PICkit2, and came across this post by bequest333. He had modified the PICkit software to support SPI-type programming protocol, and created the required new scripts. I developed his software further, by adding support for PIC18F SPI -type chips. I also fixed the device ID bit order for these families, so now it is possible to use device file from PICKitPlus project.

The last publicly available PICKitPlus device file was, dated December 2020. Since then, I have added over 240 new devices (including Q40, Q41, Q71, Q83, Q84, J72, J93, J94, 16F152xx, 16F180xx, 16F181xx, 16F171xx, some PIC24, PIC32MX families) and fixed errors in at least 100 existing devices. I have also optimised all 40+ scripts used in MSB1st parts, yielding speed improvements. The download packages below include the latest device file. It has support for 1212 parts (listed here), but I don't know if all of them work with my modified software. Despite fixes in many devices, I am quite sure there are still many errors. If you find problems with some part, please send me an email.

I named the software PICkit2minus, or PICkit2- for short. It is based on Microchip's original PICkit2 v2.61 software. Many thanks for bequest333 for making most of the hard work to support the SPI-type PICs. Thanks also for PICKitPlus team for their hard work on updating the device file.

Later I made a new version, based on PICkit3 original software. I modified it to work with both PICkit2 and PICkit3. They will be recognized automatically. Benefit is, only one software to maintain. The PICkitminus is available for download below. It requires .NET framework 2.0, which is available for Windows 2000 and later versions.

The latest addition is command line tool, PK2CMDminus. It is based on the last unofficial version from MichaelS / Microchip, and updates by Miklós Márton to add support for PICkit3. The support for SPI-type MSB1st -family PICs is based on work by bequest333. The PK2CMD Windows version is 32-bit statically linked application targeted for XP, so it should run on Windows versions from XP to 10. It compiles and works fine on Linux and macOS as well. I have tested it on Ubuntu 16.04 and OSX 10.13 High Sierra. On Linux, you need to install libusb-dev with apt-get, or alternatively download libusb-0.1.12 from sourceforge. There are also Linux prebuilt binaries in AppImage format, which should run on many distributions. For Mac, there is also compiled executable available for download below. It is compiled on OSX 10.13, I don't know if it works with other versions.

If you run pk2cmd on Linux and get a message 'PICkit2 not found', quite probable reason is that normal user doesn't have proper rights to the USB device. A simple solution is to run pk2cmd as root, but this is a bit ugly. On systems with udev, you can use this udev rules file which gives appropriate rights for PICkit2 and PICkit3. Just copy this file to /etc/udev/rules.d/ and restart udev (or restart PC). You will also need to re-plug the PICkit.

GUI Downloads

PICkitminus_installer_3_20_17.zip  21.1.2023. This package contains PICkit- GUI application installer for PICkit2 and PICkit3. Latest device file is included.
PICkitminus_3_20_17.zip                 21.1.2023. This package contains PICkit- GUI application for PICkit2 and PICkit3, device file and modified source files. Just the .exe, no installer.

Command line tool downloads

pk2cmd_win_1_23_05.zip                21.1.2023. This package contains PK2CMD- command line tool for Windows, device file and compatible firmware for PICkit2 and PICkit3
pk2cmd_mac_1_22_05.zip               22.10.2021. This package contains PK2CMD- command line tool for MacOS, device file and compatible firmware for PICkit2 and PICkit3
pk2cmd-x86_64.AppImage               9.7.2022. pk2cmd 1.23.02 for 64-bit Linux systems in AppImage format. Built on Ubuntu 18.04, verified to work on Ubuntu 21.04
pk2cmd-i386.AppImage                    21.12.2022. pk2cmd 1.23.04 for 32-bit Linux systems in AppImage format. Built on Xubuntu 16.04, verified to work on Knoppix 9.1
PK2CMD_SourceV1_23_05.zip       21.1.2023. This package contains full source of the command line utility. Can be compiled on Win, Linux and Mac.

kair.us/ projects/ pickitminus/

page created 29.5.2021
last updated 22.1.2023 webmaster@kair.us