The PICkit connector is 6 pins, but the last pin is the Auxiliary pin.

This pin doesn’t seem to be used that often. The setup could be simplified by snipping the 6th pin.

After looking in to it, it seems the PICkit 2 is discontinued.

There isn’t even a download link there for the software.

I found the source code a rather backwards way. The link is here:

A newer device file is here (just overwrite):;749972

I discovered it by grabbing this package, opening the PKGBUILD file. As it turns out, they still have the files on their website, they’re just not linked publicly.

I’m not entirely convinced this is the latest version, but it is what I found.

Build like so.

sudo apt-get install libusb-dev libusb-1.0-0-dev libudev-dev

cd pk2cmd
cd pk2cmd
make linux
cp pk2cmd ../release     # we need to be alongside PK2DeviceFile.dat
cd ../release

# running as root is required, or you wont see the device
sudo ./pk2cmd -?v

That should output this:

Executable Version:    1.21.00
Device File Version:   1.61.00
OS Firmware Version:   2.32.00

Operation Succeeded

You can then program a hex file. Before you start, figure out the PIC chip you’re programming, the name of your hex file, and adjust this accordingly.

sudo ./pk2cmd -PPIC18F43K20 -M -F DigiRule\ 18F43K20\ Modified\ 15\ Dec\ 2015.HEX