You can use your trusty old PICkit2 and PICkit3 with the new
Microchip PIC microcontrollers with PICkitminus program. It adds
support for many chips not covered by the original PICkit
software. There are GUI and command line versions available. Both
will automatically detect PICkit2, PICkit3 and PKOB. The PICkit3
firmware is improved and now supports all the features as PICkit2
does.
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 500 new devices (including
Q20, Q24, Q40, Q41, Q71, Q83, Q84, J72, J93, J94, 16F131xx,
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 1510 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 and PKOB (PICKit On Board) require 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. The pk2cmd doesn't
yet support firmware updates for PICkit3 or PKOB.
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 or
PKOB with MPLAB.
PKOB operation has been tested with the following development
boards:
Please Note that all new devboards have PKOB4 or some other solution, those are not supported. Also many older boards have been updated to new revision. For example Curiosity HPC board (DM164136) originally had PKOB (based on PICkit3), but revision 2 has PKOB4 (based on PICkit4). The easiest way is to look at the microcontroller type on the devboard. If it is PIC24FJ256GB106, it is very likely PKOB, and probably will work.
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/PKOB 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_25_04.zip
16.11.2024. This package contains PICkit- GUI application
installer for PICkit2 and PICkit3. Latest device file is included.
PICkitminus_3_25_04.zip
16.11.2024. 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_26_03.zip
16.11.2024. This package contains PK2CMD- command line tool for
Windows, device file and compatible firmware for PICkit2, PICkit3
and PKOB
pk2cmd_mac_1_25_00.zip
28.1.2024. This package contains PK2CMD- command
line tool for MacOS, device file and compatible firmware for
PICkit2, PICkit3 and PKOB
pk2cmd-x86_64.AppImage
29.1.2024. pk2cmd 1.25.00 for 64-bit Linux systems in AppImage
format. Built on Ubuntu 18.04, verified to work on Ubuntu 21.04
pk2cmd-i386.AppImage
28.1.2024. pk2cmd 1.25.00 for 32-bit Linux systems in AppImage
format. Built on Xubuntu 16.04, verified to work on Knoppix 9.1
PK2CMD_SourceV1_26_03.zip
16.11.2024. This package contains full source of the command line
utility. Can be compiled on Win, Linux and Mac OSX.
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 16.11.2024 webmaster@kair.us