09/16/2016 at 11:15 •
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.
09/14/2016 at 16:42 •
In version 0.94 I added support for CAN devices like PIC18F25K80, 12 new in total. New firmware is released too.
Everything is on github.
09/12/2016 at 09:28 •
I hunted a bug with programming PIC18F24J10, but finally I got it working - so version 0.93 is out.
I ordered some more PIC18FxxJxx devices to test the programming protocol implementation. After tested, I'm going to do the final sources cleanup and release version 1.00.
Files are on github, as usual.
09/09/2016 at 11:14 •
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
# PP3 device database for version 0.92 # # name flash page ID mask family_type # flash size and page size in bytes 1 WORD = 2 BYTES # # PIC16 family 16f1503 4096 32 2CE0 FFE0 CF_P16F_A 16lf1503 4096 32 2DA0 FFE0 CF_P16F_A 16f1507 4096 32 2D00 FFE0 CF_P16F_A 16f1508 8192 32 2D20 FFE0 CF_P16F_A 16f1509 16384 32 2D40 FFE0 CF_P16F_A 16lf1507 4096 32 2DC0 FFE0 CF_P16F_A 16lf1508 8192 32 2DE0 FFE0 CF_P16F_A 16lf1509 16384 32 2E00 FFE0 CF_P16F_A 16f1454 16384 64 3020 FFFF CF_P16F_A 16f1455 16384 64 3021 FFFF CF_P16F_A ... ...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.
Everything is on github, as usual.
09/06/2016 at 12:16 •
I decided to release version 0.91 - the previous should be 0.90, then.
No matter what, I added some more devices - 205 devices supported in total.
I also changed somehow serial port handling, resulting in higher programming speed, especially under windows. PIC16 programming algorithm got a bit more intelligence, resulting in faster programming.
Before 1.00 release I'd like to rework the MCU type selection into table driven function instead of huge if-then-else behemoth and set support for all LVP ICSP-able 8-bit PIC devices.
Everything is at github, as usual https://github.com/jaromir-sukuba/a-p-prog
09/05/2016 at 20:55 •
Oh here we go, version 0.9 - this means first "normal" release 1.0 is close.
I added a lot of new devices, some new are tested. I fixed some bugs around serial port and hex file handling. The PIC name is now case non-sensitive. 175 devices is in support list in total.
Everything is on github, as usual.
08/16/2016 at 06:42 •
Amount of supported devices increased from 68 to 131. Some new PIC16F1xxx were added (16F151x, 16F178x, 16F19xx) and completely new PIC18 family was added - PIC18FxxJxx (like 18F26J50); which also required updated programmer firmware. Not all members of this family are here yet, that is subject of next release.
Everything is on github and updated support table is at the project details section too.
08/05/2016 at 06:00 •
I increased number of supported devices from 48 to 68 (PIC16F1619 family and PIC16F1579 family added) and tested a few new ones.
Sources at github, as usual.
07/30/2016 at 20:34 •
I added support for PIC16F1454, 1455, 1459 and LF variants. I had PIC16F1455 at hand, so I tried to upload some small program and it worked as expected.
Some minor mistakes fixed for PIC12F18xx.
PIC12F1840, PIC16F1503, PIC16F1509 tested and working too.
PIC programmer sketch verified to run on 2USD chinese arduino nano clone with CH340 USB-serial converter.
07/29/2016 at 12:54 •
Major device support update
DEVICE TESTED PIC12F1501 PIC12F1571 PIC12F1572 YES PIC12F1822 PIC12F1840 PIC12LF1501 PIC12LF1571 PIC12LF1572 YES PIC12LF1822 PIC12LF1840 PIC16F1503 PIC16F1507 YES PIC16F1508 PIC16F1509 PIC16F1824 PIC16F1825 PIC16F1826 PIC16F1827 PIC16F1828 PIC16F1829 YES PIC16F1847 PIC16LF1503 PIC16LF1507 PIC16LF1508 PIC16LF1509 PIC16LF1824 PIC16LF1825 PIC16LF1826 PIC16LF1827 PIC16LF1828 PIC16LF1829 YES PIC16LF1847 PIC18F25K22 PIC18F25K50 YES PIC18F26K22 PIC18F45K22 PIC18F46K22 PIC18LF25K22 PIC18LF25K50 YES PIC18LF26K22 PIC18LF45K22 PIC18LF46K22From something like dozen of devices we've got 42 devices supported, not all of them are verified though. Many of the devices are very very similar, or are derivative of some verified type, so I'm rather sure it should work.