Let's find out together what makes a PIC Tick!

Main Menu


Started by gevv, Jan 30, 2023, 08:12 PM

Previous topic - Next topic


Hello, it may work for you :)

  • 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
  • Improved operation with PICkit3 clones

QuoteMicrochip 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, 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.



Thanks Gevv.

I'm going to have to try and dig out my PICkit3 from one of the boxes I dumped it into a few years ago. I think it bricked on me, so I had to get a dreadful PICkit4 instead, but that is also in a box somewhere. :-)

I truly hate the PICkit programmers because of the constant uploads that need to be performed for different devices. A truly incompetent mechanism from microchip, and not actually required if they had written the firmware correctly, so it is passed parameters for the different programming mechanism on the different devices, but even that is incompetence, because they should all have the same programming mechanisms and timings etc, but different maps for them!

I always wanted to write a decent programmer, and actually started one many years ago, but had to dump it because of the logistics required by a single person and the total lack of enthusiasm from "you know who", so I would have ended up doing it all myself in my time for no money, but their name on it, yet again!!!



I have bricked my Pickits few times. I have alwais been able to reprogram it with another Pickit.


I have a genuine Pickit3 and it continuously bricks itself to the point where I nave now fitted an ICSP connector so I can revive it with a Pickit2. What an irony  :P

John Drew

I've had a PICkit 3 since when they first came out. I've put the ICSP plug on back to front with power applied on both and so on but never once bricked it. Shorted pins. Used it probably a few thousand times.
I bought a PICkit4 as a spare just in case I blew the 3 but it's still in the cupboard somewhere.
Must be lucky, I'm certainly not that careful.
It's not perfect, sometimes it gets fussy with programming voltage, it's a pain downloading for different devices, the software is ordinary and slow but it works.
But I'm retired so speed isn't that important.


I use now the PicKit3 as I killed my PicKit2

I have to say I prefer it as it seems to be able to supply a lot of omph when its supplying the power

I do though use the PicKit+ program to support it. No down loading new versions to change device.



A major update has been made

Quote24.6.2023. This package contains PICkit- GUI application installer for PICkit2 and PICkit3. Latest device file is included.
24.6.2023. This package contains PICkit- GUI application for PICkit2 and PICkit3, device file and modified source files. Just the .exe, no installer.
24.6.2023. This package contains PK2CMD- command line tool for Windows, device file and compatible firmware for PICkit2 and PICkit3
24.6.2023. This package contains full source of the command line utility. Can be compiled on Win, Linux and Mac.


QuoteYou can also email me and ask to add your chip. I will add it if you provide test results whether it works. If you have added a device yourself and it works, you can send the device file to me and I'll add it to device file distributed with PICkitminus.