View Full Version : PICkit- software suite

- 23rd August 2022, 05:13

(http://kair.us/projects/pickitminus/index.html)[email protected]

([email protected])kair.us/ (http://kair.us/) projects/ (http://kair.us/projects/index.html) pickitminus/ (http://kair.us/projects/pickitminus/index.html)​[/URL]

(http://kair.us/projects/pickitminus/index.html)PICkit- software suiteYou 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.



Supports nearly all, if not all, 8-bit PIC microcontrollers
Supports PICkit2 and PICkit3 programmers
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
GUI software works on Windows 2000, XP, 7, 10
Command line software works on Windows XP, 7, 10, Linux and MacOS
Retains all the good features from original Microchip PICkit2 and PICkit3 stand-alone software
BackgroundMicrochip 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 (https://sites.google.com/site/pk2devicefileeditor/) 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 (https://www.eevblog.com/forum/microcontrollers/pic16f18857-programming-with-pickit2/) 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 (https://github.com/Anobium/PICKitPlus).

The last publicly available PICKitPlus device file was, dated December 2020. Since then, I have added almost 100 new devices (including Q40, Q41, Q83, Q84, J72, J93, J94, 16F152xx, 16F180xx families) and fixed errors in another 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 1067 parts (listed here (http://kair.us/projects/pickitminus/pk2cmdminus_supported_devices.txt)), 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 (https://pickitplus.co.uk/) 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 (https://www.microchip.com/forums/tm.aspx?m=540021), and updates by Miklós Márton (https://github.com/martonmiklos/pk2cmd) 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 (http://sourceforge.net/projects/libusb/files/libusb-0.1%20%28LEGACY%29/0.1.12/). There are also Linux prebuilt binaries in AppImage (https://appimage.org/) 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 (http://kair.us/projects/pickitminus/60-pickit.rules) 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 DownloadsPICkitminus_installer_3_20_15.zip (http://kair.us/projects/pickitminus/PICkitminus_3_20_03.zip)
20.7.2022. This package contains PICkit- GUI application installer for PICkit2 and PICkit3. Latest device file is included.

PICkitminus_3_20_15.zip (http://kair.us/projects/pickitminus/PICkitminus_3_20_15.zip)
20.7.2022. This package contains PICkit- GUI application for PICkit2 and PICkit3, device file and modified source files. Just the .exe, no installer.

[U]Command line tool downloadspk2cmd_win_1_23_03.zip
(http://kair.us/projects/pickitminus/pk2cmd_win_1_23_03.zip)21.7.2022. This package contains PK2CMD- command line tool for Windows, device file and compatible firmware for PICkit2 and PICkit3

pk2cmd_mac_1_22_05.zip (http://kair.us/projects/pickitminus/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

(http://kair.us/projects/pickitminus/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

(http://kair.us/projects/pickitminus/pk2cmd-i386.AppImage)9.7.2022. pk2cmd 1.23.02 for 32-bit Linux systems in AppImage format. Built on Xubuntu 16.04, verified to work on Knoppix 9.1

(http://kair.us/projects/pickitminus/PK2CMD_SourceV1_23_03.zip)21.7.2022. This package contains full source of the command line utility. Can be compiled on Win, Linux and Mac.

- 23rd August 2022, 12:32
Lester - Thanks for this post. This seems to be a very apt software to have instead of juggling amongst standalone pk2, standalone pk3 and MPLABX IPE to handle different devices. Still to use, but, it seems to support the parts I have used till now.

- 17th September 2022, 01:04
thanks lester, it works nicely and for a minute I thought whee! a uart tool for the pickit3, how great that would be
but alas no

- 18th September 2022, 20:33
UART tool works only for the Pickit2 as Pickit3 needs new firmware that currently does not exist.