Support for new PIC18FxxQ10 is added (by the way, its FLASH is programmed in different way than most of the other new PIC16 and PIC18 devices, thank you Microchip for another programming algorithm to implement), now it's 439 devices in total. It looks like there are no other LVP programmable 8-bit PIC devices, so probably I can polish it and release version 1.00 soon.

60 new devices from PIC16F153xx, PIC16F183xx, PIC16F188xx and PIC16F19xxx added, resulting in support for 379 devices in total. For a moment, I'm adding support for new MCUs faster than Microchip can develop them, neat!

Apparently, Microchip introduced new programming specification for newer PIC devices, like PIC16F1xxxx and PIC18FxxK20 and PIC18FxxK22. The old format was LSB first, either with mix of 8/14 bit long words (for PIC16Fxxx) or 8-bit long words, but a lot of direct instructions entering (PIC18). This seems to be unified now (see the famous XKCD comics) with MSB-first and 8-bits only words. Nice initiative, only if there were already a few different formats among PIC devices.

Honestly, I was too lazy to implement it, but there is already quite a few "new format" devices in the wild, so I finally got myself to add it to pp3 programmer, so here you go. Only PIC16F188xx are added, but more will follow.

Today I made some more progress. I added support for more PIC18FxxKxx devices, so the total supported devices count is 305. There will not be much more of them.

I tested a few new ones, including PICs in TQFP package. Unlike for DIP packages, breadboard and wires are not enough, so I had to use TQFP adapter I made few years ago for PIC24 and PIC32 series, but with single cut trace it works for PIC18 too.

There is nothing more than micro and decoupling caps. By the way - JS09 really means year 2009. The time flies.

For this adapter I made simple testbench of perforated PCB.

With this one I tested PIC18F66J15, 67K22 and 67J50, each on its own breakout.

And this is gallery of all PIC devcies I programmed with this Arduino programmer. Every single MCU here has blink a LED program flashed. Much blinking power, very wow.

I reworked the MCU selection code. The if-then structure was OK for dozen of devices, but with more than 200 supported MCUs, it became messy. So I rewrote it into simple plain text file database with entries like

so it is easy to edit (add new PIC devices or fix mistakes in existing) by hand without recompiling the code. The pp3 takes all the information about device to be programmed from here. The original source shrunk from 2700 to 900 lines of code.

I also added 67 more PIC18FxxJxx devices and one PIC16F, so it supports 273 devices in total. At last, I tested support for another 7 devices, all of them working on a first try. I feel like time for 1.0 release is near.