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.
I was 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, and released it
together with modified source files. I gave it name 'PICkitminus',
because I considered it just a quick and dirty hack compared to
PICkit+. But over time, I have developed PICkitminus further,
adding device support and many features which don't exist in
PICkitPlus.
The PICkitminus device file is based on last publicly
available PICKitPlus device file 2.63.218.15, dated December
2020. Since then, I have added over 250 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
currently support for 1223 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.
The PICkit3 requires a special 'scripting' firmware, just like
the Microchip original PICkit3 standalone GUI software. It is
easiest to use the PICkitminus GUI software to update this
firmware. When you start the software, it guides you to update the
firmware if needed.
When you want to use MPLAB, MPLAB-X or MPLAB-X IPE again, you
must revert the PICkit3 to bootloader. To do this, select 'Revert
to MPLAB mode' from Tools menu. Then start MPLAB(-X), and it will
update the correct firmware for MPLAB usage. If you don't do this,
you will get all kind of errors when trying to use your PICkit3
with MPLAB.
For pk2cmd 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.
If you run pk2cmd on Linux and get a message 'PICkit 2/3 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.
Final note for Linux; the pk2cmd currently doesn't support
updating PICkit3 firmware. If your PICkit3 doesn't have scripting
firmware installed, you must use the GUI software on Windows PC to
update it.
The GUI software runs on Windows systems and requires .NET
Framework 2.0. It is available for Windows 2000 up. For newer
Windows systems, you want to install .NET
Framework 3.5, which provides support for older .NET
versions like 2.0.
PICkitminus_installer_3_21_05.zip
12.9.2023. This package contains PICkit- GUI application installer
for PICkit2 and PICkit3. Latest device file is included.
PICkitminus_3_21_05.zip
12.9.2023. This package contains PICkit- GUI application for
PICkit2 and PICkit3, device file and modified source files. Just
the .exe, no installer.
For command line tool, there is full source package and prebuilt binaries for Linux, Windows and MacOS. The PK2CMD Windows version is 32-bit statically linked application targeted for XP, so it should run on Windows versions from XP to 11. Mac version is compiled on OSX 10.13 High Sierra, I don't know if it works with other versions.
pk2cmd_win_1_24_02.zip
10.9.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_24_02.zip
10.9.2023. This package contains full source of the command line
utility. Can be compiled on Win, Linux and Mac.
I haven't developed these software all by myself. The biggest
part has of course been Microchip's original work, and all the
contributions they had received from PICkit2 users. In addition to
that, I have used work from other people. My thanks go to all
contributions listed below:
kair.us/ projects/ pickitminus/
page created 29.5.2021
last updated 12.9.2023 webmaster@kair.us