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.
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
2.63.218.15, 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.
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.
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.
page created 29.5.2021
last updated 22.1.2023 webmaster@kair.us