Downloads

If you like PICPgm and want to support the further development, feel free to make a small donation.

Older versions are available in the Download Archive.

 

Windows 98 / ME / 2000 / XP / Vista / 7 / 8 / 10

picpgm-1.9.3.1-win32-x86.exe
Date: 17.06.2018


Linux

picpgm-2.9.3.1-linux-i386.tar.gz (Linux 32 bit)
picpgm-2.9.3.1-linux-x86_64.tar.gz (Linux 64 bit)
Date: 17.06.2018
Installation hints and further information.


Raspberry Pi / ARMHF / ARMEL

picpgm-2.9.3.1-linux-armhf.tar.gz (ARMHF, Raspberry Pi)
picpgm-2.9.3.1-linux-armel.tar.gz (ARMEL)
Date: 17.06.2018
Installation hints and further information.


Mac OS X x86

picpgm_v2810_macosx.zip
Date: 30.12.2014
Installation hints and further information.

 

Change History of PICPgm for Windows:

version date change description
1.9.3.1 17.06.2018 Fixed configuration memory programming for PIC16F161x devices
1.9.2.5 03.08.2017 Fixed wrong configuration bit descriptions
1.9.2.4 03.08.2017 Fixed autodetection for PIC24FJxxxDAxxx and PIC24FJxxxGAxxx
1.9.2.4 03.08.2017 Fixed default value for programmer attribute jdm_charge_pump in pgmifcfg.xml to off
1.9.2.3 17.12.2016 Fixed problem which avoids programmer detection (introduced along with PICPgm 1.9.2.1)
1.9.2.2 16.12.2016 Fixed config memory read which prevents device detection for the following devices: PIC24FJ128DA106, PIC24FJ128DA110, PIC24FJ128DA206, PIC24FJ128DA210, PIC24FJ128GA202, PIC24FJ128GA204, PIC24FJ128GA306, PIC24FJ128GA308, PIC24FJ128GA310, PIC24FJ128GB202, PIC24FJ128GB204, PIC24FJ128GB206, PIC24FJ128GB210, PIC24FJ256DA106, PIC24FJ256DA110, PIC24FJ256DA206, PIC24FJ256DA210, PIC24FJ256GB206, PIC24FJ256GB210, PIC24FJ64GA202, PIC24FJ64GA204, PIC24FJ64GA306, PIC24FJ64GA308, PIC24FJ64GA310, PIC24FJ64GB202, PIC24FJ64GB204
1.9.2.0 21.08.2016 Added PIC18F6525, PIC18F6621, PIC18F8525, PIC18F8621 support
1.9.1.0 27.04.2016 Added COM5..COM10 in hardware selection/configuration dialog
1.9.1.0 27.04.2016 Changed bit_sample_delay attribute in pgmifcfg.xml from msec to usec resolution
1.9.0.0 20.03.2016 Added PIC12F1612, PIC12LF1612, PIC16F1613, PIC16LF1613, PIC16F1614, PIC16LF1614, PIC16F1615, PIC16LF1615, PIC16F1618, PIC16LF1618, PIC16F1619, PIC16LF1619 support
1.9.0.0 20.03.2016 Added PIC16F1574, PIC16LF1574, PIC16F1575, PIC16LF1575, PIC16F1578, PIC16LF1578, PIC16F1579, PIC16LF1579 support
1.9.0.0 20.03.2016 Added bit_sample_delay attribute for programmer properties in pgmifcfg.xml to configure a delay (in ms) during bit sampling (usefull for USB to serial adapters which are used along with JDM like programmer)
1.9.0.0 20.03.2016 Added COM5..COM10 in hardware selection/configuration dialog
1.9.0.0 20.03.2016 Fixed JDM charge pump handling which was accidentally removed along with PICPgm 1.8.1.0
1.8.9.2 14.03.2016 Fixed PICPgm GUI application crashing for dsPIC33EP and PIC24EP devices
1.8.9.1 11.03.2016 Fixed config memory programming for PIC24FJXXXGA1/GB1 devices
1.8.9.0 26.02.2016 Added PIC18F65K22, PIC18F85K22, PIC18F65K90, PIC18F85K90, PIC18F66K22, PIC18F86K22, PIC18F66K90, PIC18F86K90, PIC18F67K22, PIC18F87K22, PIC18F67K90, PIC18F87K90 support
1.8.7.2 03.10.2015 Fixed wrong output of device names for PIC16F170x devices
1.8.7.1 26.09.2015 Fixed wrong output of device names for PIC16F145x devices
1.8.7.0 25.09.2015 Added PIC24FJ256GA106, PIC24FJ256GB106, PIC24FJ256GA108, PIC24FJ256GB108, PIC24FJ256GA110, PIC24FJ256GB110, PIC24FJ192GA106, PIC24FJ192GB106, PIC24FJ192GA108, PIC24FJ192GB108, PIC24FJ192GA110, PIC24FJ192GB110, PIC24FJ128GA106, PIC24FJ128GB106, PIC24FJ128GA108, PIC24FJ128GB108, PIC24FJ128GA110, PIC24FJ128GB110, PIC24FJ64GA106, PIC24FJ64GB106, PIC24FJ64GA108, PIC24FJ64GB108, PIC24FJ64GA110, PIC24FJ64GB110 support
1.8.7.0 25.09.2015 Added PIC24FJ128GA204, PIC24FJ64GA204, PIC24FJ128GA202, PIC24FJ64GA202, PIC24FJ128GB204, PIC24FJ64GB204, PIC24FJ128GB202, PIC24FJ64GB202 support
1.8.7.0 25.09.2015 Fixed wrong verify errors for configuration memory for PIC16F14xx, PIC16F15xx, PIC16F17xx and PIC16F19xx
1.8.7.0 25.09.2015 Fixed device autodetection problems due to wrongly masked device ID for PIC16F14xx devices
1.8.6.0 20.09.2015 Minor updates of text messages in GUI
1.8.5.0 18.08.2015 Added PIC16F1703, PIC16LF1703, PIC16F1704, PIC16LF1704, PIC16F1705, PIC16LF1705, PIC16F1707, PIC16LF1707, PIC16F1708, PIC16LF1708, PIC16F1709, PIC16LF1709 support
1.8.5.0 18.08.2015 Added PIC16F1454, PIC16LF1454, PIC16F1455, PIC16LF1455, PIC16F1459, PIC16LF1459 support
1.8.4.0 17.08.2015 Added PIC18F24K50, PIC18LF24K50, PIC18F25K50, PIC18LF25K50, PIC18F26K50, PIC18LF26K50, PIC18F45K50, PIC18LF45K50, PIC18F46K50, PIC18LF46K50 support
1.8.3.0 31.01.2015 Added PIC24F04KA200, PIC24F04KA201 support
1.8.3.0 31.01.2015 Changed dataout enable pin behavior, dataout enable pin stays low during data read instead of switching for every bit read (only affects programmers which use dataeout enable, e.g. Microchip AN589)
1.8.3.0 31.01.2015 Fixed wrong output of time duration of programming operation
1.8.2.0 27.01.2015 Fixed application freeze on Windows 98 in case HEX file without config bits is loaded
1.8.2.0 27.01.2015 Downlgrade to older installer to keep PICPgm compatible with Windows 98
1.8.1.0 30.12.2014 Added jdm_charge_pump attribute in programmer configuration file pgmifcfg.xml to control enable/disabe of charge pump handling for JDM, default=enable
1.8.1.0 30.12.2014 Added configuration for Willem 3 Programmer (all DIP switches on programmer have to be off on the programmer)
1.8.0.0 07.08.2014 Added dsPIC33EP128GP502, dsPIC33EP128GP504, dsPIC33EP128GP506, dsPIC33EP128MC202, dsPIC33EP128MC204, dsPIC33EP128MC206, dsPIC33EP128MC502, dsPIC33EP128MC504, dsPIC33EP128MC506, dsPIC33EP256GP502, dsPIC33EP256GP504, dsPIC33EP256GP506, dsPIC33EP256MC202, dsPIC33EP256MC204, dsPIC33EP256MC206, dsPIC33EP256MC502, dsPIC33EP256MC504, dsPIC33EP256MC506, dsPIC33EP32GP502, dsPIC33EP32GP503, dsPIC33EP32GP504, dsPIC33EP32MC202, dsPIC33EP32MC203, dsPIC33EP32MC204, dsPIC33EP32MC502, dsPIC33EP32MC503, dsPIC33EP32MC504, dsPIC33EP512GP502, dsPIC33EP512GP504, dsPIC33EP512GP506, dsPIC33EP512MC202, dsPIC33EP512MC204, dsPIC33EP512MC206, dsPIC33EP512MC502, dsPIC33EP512MC504, dsPIC33EP512MC506, dsPIC33EP64GP502, dsPIC33EP64GP503, dsPIC33EP64GP504, dsPIC33EP64GP506, dsPIC33EP64MC202, dsPIC33EP64MC203, dsPIC33EP64MC204, dsPIC33EP64MC206, dsPIC33EP64MC502, dsPIC33EP64MC503, dsPIC33EP64MC504, dsPIC33EP64MC506, PIC24EP128GP202, PIC24EP128GP204, PIC24EP128GP206, PIC24EP128MC202, PIC24EP128MC204, PIC24EP128MC206, PIC24EP256GP202, PIC24EP256GP204, PIC24EP256GP206, PIC24EP256MC202, PIC24EP256MC204, PIC24EP256MC206, PIC24EP32GP202, PIC24EP32GP203, PIC24EP32GP204, PIC24EP32MC202, PIC24EP32MC203, PIC24EP32MC204, PIC24EP512GP202, PIC24EP512GP204, PIC24EP512GP206, PIC24EP512MC202, PIC24EP512MC204, PIC24EP512MC206, PIC24EP64GP202, PIC24EP64GP203, PIC24EP64GP204, PIC24EP64GP206, PIC24EP64MC202, PIC24EP64MC203, PIC24EP64MC204, PIC24EP64MC206 support
1.8.0.0 07.08.2014 Improved accuracy of microseconds delays (PICPgm now uses Windows PerformaceCounter for programming delays instead of inaccurate delay loops)
1.8.0.0 07.08.2014 Improved PICPgm USB programmer programming speed (~50% faster)
1.8.0.0 07.08.2014 Improved PICPgm USB programmer auto detection and allows selection of FTDI device to be used as PICPgm USB programmer
1.8.0.0 07.08.2014 "Added ""List FTDI USB devices"" command to be able to identify all connceted FTDI devices and select the FTDI device which shall be used as PICPgm USB programmer"
1.8.0.0 07.08.2014 PICPgm USB programmer pins 6 and 7 can be assigned to programming pins (earlier this pins where reserved for internal synchronizing purposes)
1.7.9.3 31.07.2014 Fixed PIC18FxxK80 data memory erase problem
1.7.9.2 19.07.2014 Fixed PIC18FxxK80 erase and config bit programming problem
1.7.9.2 19.07.2014 Fixed PIC24F WR bit polling (this problem could have caused programming problems for PIC24F devices)
1.7.9.2 19.07.2014 Fixed microsecond delay loop calibration problem which could occur on fast PCs and cause too short delays
1.7.9.2 19.07.2014 HEX files are started now with upper linear base address (ULBA) initialization to address 0 (:020000040000FA)
1.7.9.1 15.10.2013 Fixed implementation of data EEPROM bulk erase for PIC16F627, PIC16F628, PIC16LF627, PIC16LF628
1.7.9.0 27.09.2013 Remember last PIC micro selected during startup of PICPgm if it cannot be autodetected
1.7.9.0 27.09.2013 Fixed PIC18FxxK80 programming algorithm
1.7.8.0 08.12.2012 Added PIC16F1782, PIC16LF1782, PIC16F1783, PIC16LF1783, PIC16F1784, PIC16LF1784, PIC16F1786, PIC16LF1786, PIC16F1787, PIC16LF1787, PIC16F1788, PIC16LF1788, PIC16F1789, PIC16LF1789 support
1.7.7.0 22.11.2012 Added PIC24FJ32GA102, PIC24FJ64GA102, PIC24FJ32GA104, PIC24FJ64GA104, PIC24FJ32GB002, PIC24FJ64GB002, PIC24FJ32GB004, PIC24FJ64GB004 support
1.7.7.0 22.11.2012 Added PIC24FJ128DA106, PIC24FJ256DA106, PIC24FJ128DA110, PIC24FJ256DA110, PIC24FJ128DA206, PIC24FJ256DA206, PIC24FJ128DA210, PIC24FJ256DA210, PIC24FJ128GB206, PIC24FJ256GB206, PIC24FJ128GB210, PIC24FJ256GB210, PIC24FJ64GA310, PIC24FJ128GA310, PIC24FJ64GA308, PIC24FJ128GA308, PIC24FJ64GA306, PIC24FJ128GA306 support
1.7.6.0 17.11.2012 Added PIC10F320, PIC10F322, PIC10LF320, PIC10LF322 support
1.7.5.1 22.07.2012 Fixed data EEPROM start address for PIC16F15xx, PIC16F18xx and PIC16F19xx devices
1.7.5.0 13.07.2012 Added PIC18F6310, PIC18F6390, PIC18F6393, PIC18F6410, PIC18F6490, PIC18F6493, PIC18F8310, PIC18F8390, PIC18F8393, PIC18F8410, PIC18F8490, PIC18F8493 support
1.7.4.0 12.06.2012 Added PIC16F720, PIC16F721, PIC16LF720, PIC16LF721 support
1.7.4.0 12.06.2012 Switched back to robust programming/erase delays for PIC18F devices
1.7.3.0 05.06.2012 Added PIC16F722, PIC16F722A, PIC16F723, PIC16F723A, PIC16F724, PIC16F726, PIC16F727, PIC16LF722, PIC16LF722A, PIC16LF723, PIC16LF723A, PIC16LF724, PIC16LF726, PIC16LF727 support
1.7.3.0 05.06.2012 Fixed memory leak which occurs if blank check is called
1.7.2.0 04.06.2012 Added PIC24F08KA101, PIC24F16KA101, PIC24F08KA102, PIC24F16KA102, PIC24FV16KA301, PIC24F16KA301, PIC24FV16KA302, PIC24F16KA302, PIC24FV16KA304, PIC24F16KA304, PIC24FV32KA301, PIC24F32KA301, PIC24FV32KA302, PIC24F32KA302, PIC24FV32KA304, PIC24F32KA304 support
1.7.2.0 04.06.2012 Probe programmers only on selected port
1.7.2.0 04.06.2012 Update of program and erase delays
1.7.2.0 04.06.2012 Fixed data memory erase problem for PIC16F627 and PIC16F628
1.7.2.0 04.06.2012 Fixed bulk erase for dsPIC30F5013
1.7.1.0 20.05.2012 Added PIC18F13K22, PIC18F14K22, PIC18LF13K22, PIC18LF14K22 support
1.7.1.0 20.05.2012 Added PICPgm USB programmer support for Linux
1.7.0.0 12.05.2012 Added PIC12F1840, PIC12LF1840, PIC16F1847, PIC16LF1847 support
1.7.0.0 12.05.2012 Restructured PIC device information handling
1.6.5.0 11.04.2012 Mask unused configuration bits for PIC24, dsPIC30 and dsPIC33F
1.6.5.0 11.04.2012 Fixed problem where disabling of code protection for PIC16F627/PIC16F628 was not possible
1.6.5.0 11.04.2012 Fixed autodetection problem for PIC24HJ devices
1.6.4.3 11.03.2012 Corrected MCLR switching for Microchip AN589 Programmer
1.6.4.3 11.03.2012 "Clock and Data line are set to ""Low"" after programming"
1.6.4.2 09.12.2011 Fixed problem with High-Voltage program entry for some PIC12F and PIC16F
1.6.4.1 23.11.2011 Fixed application crash during configuration bit programming for some PIC16F and PIC12F devices
1.6.4.1 23.11.2011 Decreased discharge time for PIC10F and some PIC12F devices
1.6.4.1 23.11.2011 Small timing changes for PICPgm USB programmer
1.6.4.0 23.11.2011 Implemented new Toolbar mode
1.6.4.0 23.11.2011 Added Velleman-Kit K8048 programmer support
1.6.4.0 23.11.2011 Updated programming timings for PIC16F15xx devices
1.6.3.0 20.11.2011 Added support for PIC12F1501, PIC16F1503, PIC16F1507, PIC16F1508, PIC16F1509, PIC12LF1501, PIC16LF1503, PIC16LF1507, PIC16LF1508, PIC16LF1509, PIC16F1512, PIC16F1513, PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519, PIC16F1526, PIC16F1527, PIC16LF1512, PIC16LF1513, PIC16LF1516, PIC16LF1517, PIC16LF1518, PIC16LF1519, PIC16LF1526, PIC16LF1527
1.6.3.0 20.11.2011 Updated toolbar icons and application icon
1.6.3.0 20.11.2011 Fixed problem with JDM programmer for some PIC12F and PIC16F devices
1.6.2.0 14.10.2011 Added support for PIC16F83 and PIC16F84
1.6.2.0 14.10.2011 Improved programming speed for PICPgm USB programmer by around 20%
1.6.2.0 14.10.2011 Removed some unnecessary delays for PIC16F devices which slightly improves programming duration
1.6.2.0 14.10.2011 Fixed problems with config memory verify errors for PIC16F devices
1.6.1.0 09.10.2011 Added support for PIC16F54, PIC16F57, PIC16F59
1.6.0.1 08.10.2011 Fixed config memory programming problem for PIC16F716
1.6.0.0 08.10.2011 Added support for PIC24FJ16GA002, PIC24FJ96GA006, PIC24FJ16GA004, PIC24FJ96GA008, PIC24FJ32GA002, PIC24FJ96GA010, PIC24FJ32GA004, PIC24FJ128GA006, PIC24FJ48GA002, PIC24FJ128GA008, PIC24FJ48GA004, PIC24FJ128GA010, PIC24FJ64GA002, PIC24FJ64GA004, PIC24FJ64GA006, PIC24FJ64GA008, PIC24FJ64GA010
1.5.8.0 02.10.2011 Report error if programmer configuration file is not present
1.5.8.0 02.10.2011 Added support for PIC18F25K80, PIC18F26K80, PIC18LF25K80, PIC18LF26K80, PIC18F45K80, PIC18F46K80, PIC18LF45K80, PIC18LF46K80, PIC18F65K80, PIC18F66K80, PIC18LF65K80, PIC18LF66K80
1.5.7.0 30.08.2011 Calibration word can be read (if present in chip)
1.5.6.2 23.06.2011 Show red colored dialog after blank check if device is not blank
1.5.6.2 23.06.2011 Corrected configuration bits for PIC16F72
1.5.6.2 23.06.2011 corrected configuration bits for dsPIC33FJ16GS504
1.5.6.1 11.06.2011 Fixed LPT port enumeration problem under Windows 98 which cause PICPgm to crash
1.5.6.0 01.06.2011 Added support for PIC16F1826, PIC16F1827, PIC16LF1826, PIC16LF1827, PIC12F1822, PIC12LF1822, PIC16F1823, PIC16LF1823, PIC16F1824, PIC16LF1824, PIC16F1825, PIC16LF1825, PIC16F1828, PIC16LF1828, PIC16F1829, PIC16LF1829
1.5.6.0 01.06.2011 Corrected program memory length for PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610, dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A, dsPIC33FJ256MC510A, dsPIC33FJ256MC710A, PIC24HJ256GP206A, PIC24HJ256GP210A, PIC24HJ256GP610A, PIC10F202, PIC10F204, PIC16LF1902, PIC16F916, PIC16F917, PIC16F946, PIC18F4455, PIC18F4458, PIC18F2431, PIC18F4331
1.5.6.0 01.06.2011 Corrected data EEPROM memory length for PIC16F818, PIC18F4410, PIC18F4480, PIC18F4510
1.5.6.0 01.06.2011 Corrected program memory length and data EEPROM memory length for PIC18F1230, PIC18F1330
1.5.6.0 01.06.2011 Corrected program memory length and configuration memory start address for PIC18LF26J13
1.5.5.0 29.05.2011 Added support for PIC16F1933, PIC16F1934, PIC16F1936, PIC16F1937, PIC16F1938, PIC16F1939, PIC16F1946, PIC16F1947, PIC16LF1933, PIC16LF1934, PIC16LF1936, PIC16LF1937, PIC16LF1938, PIC16LF1939, PIC16LF1946, PIC16LF1947, PIC16LF1902, PIC16LF1903, PIC16LF1904, PIC16LF1906, PIC16LF1907
1.5.4.1 24.05.2011 Fixed wrong device ID for PIC16F946, dsPIC30F6012A and dsPIC30F6013A
1.5.4.0 22.05.2011 Added support for PIC18F23K22, PIC18F24K22, PIC18F25K22, PIC18F26K22, PIC18F43K22, PIC18F44K22, PIC18F45K22, PIC18F46K22, PIC18LF23K22, PIC18LF24K22, PIC18LF25K22, PIC18LF26K22, PIC18LF43K22, PIC18LF44K22, PIC18LF45K22, PIC18LF46K22
1.5.3.0 19.05.2011 Added option to apply a factor to the delay functions to be able to slow down programming speed
1.5.3.0 19.05.2011 Added support for PIC18F97J60, PIC18F63J11, PIC18F63J90, PIC18F64J11, PIC18F64J90, PIC18F65J10, PIC18F65J11, PIC18F65J15, PIC18F65J50, PIC18F65J90, PIC18F66J10, PIC18F66J11, PIC18F66J15, PIC18F66J16, PIC18F66J50, PIC18F66J55, PIC18F66J90, PIC18F66J93, PIC18F67J10, PIC18F67J11, PIC18F67J50, PIC18F67J90, PIC18F67J93, PIC18F83J11, PIC18F83J90, PIC18F84J11, PIC18F84J90, PIC18F85J10, PIC18F85J11, PIC18F85J15, PIC18F85J50, PIC18F85J90, PIC18F86J10, PIC18F86J11, PIC18F86J15, PIC18F86J16, PIC18F86J50, PIC18F86J55, PIC18F86J72, PIC18F86J90, PIC18F86J93, PIC18F87J10, PIC18F87J11, PIC18F87J50, PIC18F87J72,P IC18F87J90, PIC18F87J93
1.5.2.0 16.05.2011 Added PIC18F66J60, PIC18F66J65, PIC18F67J60, PIC18F86J60, PIC18F86J65, PIC18F87J60, PIC18F96J60, PIC18F96J65, PIC18F97J60 support
1.5.1.0 30.01.2011 Added PIC16F505, PIC16F506, PIC16F526 and PIC16F72 support
1.5.1.0 30.01.2011 Use device specific write buffer size to speed up programming for PIC18F devices
1.5.0.8 29.01.2011 Changes on data EEPROM programming timing for PIC18F devices
1.5.0.8 29.01.2011 Corrected EPIC programmer settings (PGM/Vdd needs to be inverted)
1.5.0.8 29.01.2011 Show code memory size in bytes (instead of kbyte) if it is less than 1024 bytes
1.5.0.7 12.01.2011 Small bugfixes
1.5.0.6 09.01.2011 Fixed code memory verify not called after programming for PIC10F
1.5.0.6 09.01.2011 Fixed data EEPROM programming problem for PIC18F872X devices
1.5.0.6 09.01.2011 Improved data EEPROM programming for PIC18fx6x0 device
1.5.0.6 09.01.2011 Clear Data EEPROMHEX control if zero-sized buffer is getting loaded but previously was not empty
1.5.0.5 02.01.2011 Added new menu items Load HEX File, Reload HEX File and Clear Log Window
1.5.0.5 02.01.2011 Added Error MessageBox if an error occurs during Reading/Writing HEX files
1.5.0.5 02.01.2011 Fixed problem with writing HEX files with addresses greater than 0x1FFFF
1.5.0.5 02.01.2011 Fixed runtime error if HEX file which shall be written to is write protected
1.5.0.4 01.01.2011 Implemented dsPIC30F Unit ID programming
1.5.0.4 01.01.2011 Fixed HEX file write bug (wrong address offset if last record has a length less than 16 bytes)
1.5.0.3 30.12.2010 Fixed problem with progress window freezed during programming
1.5.0.3 30.12.2010 Fixed verify error for PIC12F629, PIC12F675, PIC16F630 and PIC16F676 in case code memory is fully used
1.5.0.3 30.12.2010 BugFix: BlankCheck not working for dsPIC and PIC24H
1.5.0.3 30.12.2010 Changed Blank Check to stop on first non-blank memory location (instead of reading the whole memory)
1.5.0.2 29.12.2010 BugFix dsPIC30F, dsPIC33F, PIC24H: Configuration memory was not written to HEX file properly
1.5.0.2 29.12.2010 BugFix dsPIC30F: Fixed problem reading/writing EEPROM data from/to HEX file
1.5.0.2 29.12.2010 Show EEPROM data as Word (instead of Byte) in Data Mem window for dsPIC30F
1.5.0.2 29.12.2010 Show correct programming progress if memory length is greater than 0xFFFF
1.5.0.2 29.12.2010 Increased BulkErase delay for PIC18F devices
1.5.0.2 29.12.2010 Added dsPIC33FJ16GS504, dsPIC33FJ64GP206A, dsPIC33FJ64GP306A, dsPIC33FJ64GP310A, dsPIC33FJ64GP706A, dsPIC33FJ64GP708A, dsPIC33FJ64GP710A, dsPIC33FJ64MC506A, dsPIC33FJ64MC508A, dsPIC33FJ64MC510A, dsPIC33FJ64MC706A, dsPIC33FJ64MC710A, dsPIC33FJ128GP206A, dsPIC33FJ128GP306A, dsPIC33FJ128GP310A, dsPIC33FJ128GP706A, dsPIC33FJ128GP708A, dsPIC33FJ128GP710A, dsPIC33FJ128MC506A, dsPIC33FJ128MC510A, dsPIC33FJ128MC706A, dsPIC33FJ128MC708A, dsPIC33FJ128MC710A, dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A, dsPIC33FJ256MC510A, dsPIC33FJ256MC710A, dsPIC33FJ32GS406, dsPIC33FJ32GS606, dsPIC33FJ32GS608, dsPIC33FJ32GS610, dsPIC33FJ64GS406, dsPIC33FJ64GS606, dsPIC33FJ64GS608, dsPIC33FJ64GS610 support (were missed during dsPIC33F implementation)
1.5.0.2 29.12.2010 Added PIC24HJ64GP206A, PIC24HJ64GP210A, PIC24HJ64GP506A, PIC24HJ64GP510A, PIC24HJ128GP206A, PIC24HJ128GP210A, PIC24HJ128GP306A, PIC24HJ128GP310A, PIC24HJ128GP506A, PIC24HJ128GP510A, PIC24HJ256GP206A, PIC24HJ256GP210A, PIC24HJ256GP610A support (were missed during PIC24H implementation)
1.5.0.1 28.12.2010 Wait for WR bit to be cleared after BulkErase for dsPIC33F and PIC24H
1.5.0.1 28.12.2010 Updated configuration bit description for dsPIC33F and PIC24H
1.5.0.1 28.12.2010 Minor GUI updates
1.5.0.0 27.12.2010 Implemented support for dsPIC33FJ06GS101, dsPIC33FJ06GS102, dsPIC33FJ06GS202, dsPIC33FJ128GP202, dsPIC33FJ128GP204, dsPIC33FJ128GP206, dsPIC33FJ128GP306, dsPIC33FJ128GP310, dsPIC33FJ128GP706, dsPIC33FJ128GP708, dsPIC33FJ128GP710, dsPIC33FJ128GP802, dsPIC33FJ128GP804, dsPIC33FJ128MC202, dsPIC33FJ128MC204, dsPIC33FJ128MC506, dsPIC33FJ128MC510, dsPIC33FJ128MC706, dsPIC33FJ128MC708, dsPIC33FJ128MC710, dsPIC33FJ128MC802, dsPIC33FJ128MC804, dsPIC33FJ12GP201, dsPIC33FJ12GP202, dsPIC33FJ12MC201, dsPIC33FJ12MC202, dsPIC33FJ16GP304, dsPIC33FJ16GS402, dsPIC33FJ16GS404, dsPIC33FJ16GS502, dsPIC33FJ16MC304, dsPIC33FJ256GP506, dsPIC33FJ256GP510, dsPIC33FJ256GP710, dsPIC33FJ256MC510, dsPIC33FJ256MC710, dsPIC33FJ32GP202, dsPIC33FJ32GP204, dsPIC33FJ32GP302, dsPIC33FJ32GP304, dsPIC33FJ32MC202, dsPIC33FJ32MC204, dsPIC33FJ32MC302, dsPIC33FJ32MC304, dsPIC33FJ64GP202, dsPIC33FJ64GP204, dsPIC33FJ64GP206, dsPIC33FJ64GP306, dsPIC33FJ64GP310, dsPIC33FJ64GP706, dsPIC33FJ64GP708, dsPIC33FJ64GP710, dsPIC33FJ64GP802, dsPIC33FJ64GP804, dsPIC33FJ64MC202, dsPIC33FJ64MC204, dsPIC33FJ64MC506, dsPIC33FJ64MC508, dsPIC33FJ64MC510, dsPIC33FJ64MC706, dsPIC33FJ64MC710, dsPIC33FJ64MC802, dsPIC33FJ64MC804
1.5.0.0 27.12.2010 Implemented support for PIC24HJ128GP202, PIC24HJ128GP204, PIC24HJ128GP206, PIC24HJ128GP210, PIC24HJ128GP306, PIC24HJ128GP310, PIC24HJ128GP502, PIC24HJ128GP504, PIC24HJ128GP506, PIC24HJ128GP510, PIC24HJ12GP201, PIC24HJ12GP202, PIC24HJ16GP304, PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610, PIC24HJ32GP202, PIC24HJ32GP204, PIC24HJ32GP302, PIC24HJ32GP304, PIC24HJ64GP202, PIC24HJ64GP204, PIC24HJ64GP206, PIC24HJ64GP210, PIC24HJ64GP502, PIC24HJ64GP504, PIC24HJ64GP506, PIC24HJ64GP510
1.4.4.0 22.12.2010 Implemented support for PIC18F24J10, PIC18F24J11, PIC18F24J50, PIC18F25J10, PIC18F25J11, PIC18F25J50, PIC18F26J11, PIC18F26J13, PIC18F26J50, PIC18F26J53, PIC18F27J13, PIC18F27J53, PIC18F44J10, PIC18F44J11, PIC18F44J50, PIC18F45J10, PIC18F45J11, PIC18F45J50, PIC18F46J11, PIC18F46J13, PIC18F46J50, PIC18F46J53, PIC18F47J13, PIC18F47J53, PIC18LF24J10, PIC18LF24J11, PIC18LF24J50, PIC18LF25J10, PIC18LF25J11, PIC18LF25J50, PIC18LF26J11, PIC18LF26J13, PIC18LF26J50, PIC18LF26J53, PIC18LF27J13, PIC18LF27J53, PIC18LF44J10, PIC18LF44J11, PIC18LF44J50, PIC18LF45J10, PIC18LF45J11, PIC18LF45J50, PIC18LF46J11, PIC18LF46J13, PIC18LF46J50, PIC18LF46J53, PIC18LF47J13, PIC18LF47J53
1.4.3.0 20.12.2010 Implemented Blank Check
1.4.2.2 06.12.2010 Always scroll log window automatically to last line
1.4.2.2 06.12.2010 Fixed problem with OSCCAL programming if different PICs of same type where programmed consecutively
1.4.2.2 06.12.2010 Fixed currupt log window output if curser was anywhere inside the log window
1.4.2.1 26.10.2010 fixed problem where hardware test was not working if programmer connection could not be detected
1.4.2.0 09.10.2010 Implemented support for PIC12F519
1.4.2.0 09.10.2010 Implemented support for PIC18F1230, PIC18F1330
1.4.2.0 09.10.2010 Fixed user interface issues in Programmer Selection/Configuration dialog
1.4.1.0 27.09.2010 Implemented support for PIC18F23K20, PIC18F24K20, PIC18F25K20, PIC18F26K20, PIC18F43K20, PIC18F44K20, PIC18F45K20, PIC18F46K20
1.4.1.0 27.09.2010 Implemented support for PIC18F13K50, PIC18LF13K50, PIC18LF14K50, PIC18F14K50
1.4.1.0 27.09.2010 BugFix: Hardware test not working if programmer hardware not detected/connected
1.4.0.1 20.09.2010 exchanged 64 bit port I/O driver hwinterfacex64.sys with the signed driver version inpoutx64.sys
1.4.0.0 19.09.2010 added support for 64 bit port I/O driver (i.e. Windows XP x64, Windows Vista x64)
1.3.0.8 11.09.2010 made port init value for LPT programmers configurable
1.3.0.8 11.09.2010 added P16PRO40 programmer support
1.3.0.7 01.09.2010 updated LPT enumeration for Window Vista
1.3.0.7 01.09.2010 added check to verify LPT driver and device configuration is available
1.3.0.7 01.09.2010 report error in case LPT driver could not be loaded
1.3.0.7 01.09.2010 increased high voltage discharge time for PIC18F devices
1.3.0.6 22.08.2010 small bugfix related to Config Bits editor
1.3.0.5 02.06.2010 fixed application crash while editing configuration bits for dsPICs
1.3.0.5 02.06.2010 fixed memory leak
1.3.0.5 02.06.2010 "show correct addresses for configuration bits for dsPIC in ""Config Mem"" tab"
1.3.0.4 01.06.2010 fixed application crash for some configuration bit settings
1.3.0.4 01.06.2010 "changed default value for ""EEPROM data in HEX file has dummy bytes"" to ""yes"""
1.3.0.3 31.05.2010 show warning if configuration bits are not in HEX file
1.3.0.3 31.05.2010 corrected small problem with OSCCAL edit controls disable
1.3.0.2 23.05.2010 added TLVP (Trivial LVP programmer) in programmer configuration file
1.3.0.2 23.05.2010 OSCCAL and backup of OSCCAL can be changed by user
1.3.0.2 23.05.2010 Config bits in config memory can be also edit in Config Memory dialog
1.3.0.2 23.05.2010 corrected display of addresses of ID locations
1.3.0.2 23.05.2010 fixed problem where ID locations modifed in UI where not programmed into chip
1.3.0.1 19.05.2010 show configuration bit description in Config Bits tab
1.3.0.1 19.05.2010 fixed problem where dialogs in tab control where sometimes closed if Escape or Return key was hit
1.3.0.0 18.05.2010 added configuration bit tab
1.3.0.0 18.05.2010 "added ""Autoreload"" checkbox in Options tab"
1.3.0.0 18.05.2010 "moved ""EEPROM has dummy bytes"" checkbox from menu to Options tab"
1.2.2.1 22.03.2010 removed compiler warnings
1.2.2.0 19.03.2010 added support for PIC12F510
1.2.2.0 19.03.2010 updated LPT enumeration for Windows, now also PCI LPT card addresses are read from registry
1.2.1.0 14.02.2010 added PIC16F716 support
1.2.0.0 29.12.2009 migration to Linux
1.2.0.0 29.12.2009 changed LPT enumeration process
1.1.4.0 11.12.2009 fixed problem where LPT ports where not found if they where on different IO address than 0x378
1.1.4.0 11.12.2009 added 'Check for Updates' feature
1.1.4.0 11.12.2009 added link to PICPgm webpage in 'About' dialog
1.1.3.0 07.12.2009 Added support for PIC16F73, PIC16F74, PIC16F76, PIC16F77
1.1.2.0 14.11.2009 Added support for PIC12F508 and PIC12F509
1.1.2.0 14.11.2009 Added support for PIC18F6628, PIC18F6723, PIC18F8628 and PIC18F8723
1.1.2.0 14.11.2009 Correction for config memory verification of PIC10F220 and PIC10F222
1.1.1.0 26.10.2009 Added support for PIC12F609, PIC12F615, PIC12F617, PIC16F610, PIC16F616, PIC12HV609, PIC12HV615, PIC16HV610 and PIC16HV616
1.1.0.0 23.10.2009 Implementation of dsPIC30F devices (beta version).
1.1.0.0 23.10.2009 The following PICs are supported now: dsPIC30F2010, dsPIC30F2011, dsPIC30F2012, dsPIC30F3010, dsPIC30F3011,dsPIC30F3012, dsPIC30F3013, dsPIC30F3014, dsPIC30F4011, dsPIC30F4012,dsPIC30F4013, dsPIC30F5011, dsPIC30F5013, dsPIC30F5015, dsPIC30F5016,dsPIC30F6010, dsPIC30F6010A, dsPIC30F6011, dsPIC30F6011A, dsPIC30F6012,dsPIC30F6012A, dsPIC30F6013, dsPIC30F6013A, dsPIC30F6014, dsPIC30F6014A, dsPIC30F6015
1.0.2.3 12.10.2009 BugFix: HEX file not loaded due to lower case letters in HEX file (lower case letters where interpreted as illegal characters)
1.0.2.3 12.10.2009 Preparations for dsPIC support
1.0.2.2 03.10.2009 BugFix: Configuration Word 2 was not written for PIC16F882, PIC16F883, PIC16F884, PIC16F886 and PIC16F887
1.0.2.1 17.09.2009 BugFix: Vdd not controlled for Olimex PIC-PG3 programmer.
1.0.2.1 17.09.2009 "BugFix: Olimex PIC-PG3 programmer has 2 pins for MCLR control. With previous version both pins are set at the same time which could cause high voltage on a PIC pin other than MCLR. If you use Olimex PIC-PG3 programmer, please read the hint in the a href=""./hardware.html#OLIMEX_PGC3"">hardware section for using Olimex PIC-PG3 programmer"
1.0.2.0 15.09.2009 "added Olimex PIC-PG2 and PIC-PG3 programmer support (programmer hardware can be found at http://www.olimex.com)"
1.0.2.0 15.09.2009 made LPT port address configurable
1.0.1.5 27.01.2009 BugFix: chip erase for PIC18F2xx0 / 2x21 / 2xx5 / 4xx0 / 4x21 / 4xx5 devices did not work properly
1.0.1.4 11.01.2009 improved read timing for PICPgm USB programmer (fixes random verify errors for the PICPgm USB programmer)
1.0.1.4 11.01.2009 BugFix: Fixed crash of PICPgm during start due to obsolete config.xml file
1.0.1.3 21.10.2007 BugFix: only the first 512/1024 bytes for PIC16F737, PIC16F747/PIC16F767, PIC16F777 were programmed
1.0.1.2 02.08.2007 BugFix: again 2 bugfixes regarding HEX editor changes where overwritten by HEX file content
1.0.1.1 01.08.2007 added PIC10F220 and PCI10F222 support
1.0.1.1 01.08.2007 devices which cannot be autodetected are marked with a '*' in the PIC selection combo box
1.0.1.1 01.08.2007 BugFix: changes in HEX editor (EEPROM, ID and config memory) where replaced with values from HEX file (bug was introduced with v1.0.1.0)
1.0.1.0 31.07.2007 added PIC10F200, PIC10F202, PIC10F204 and PIC10F206 support
1.0.1.0 31.07.2007 added combo box in toolbar to select PIC type (needed for 10Fxxx PICs because they have no device ID and hence they cannot be autodetected!)
1.0.0.5 07.07.2007 added support for PIC18F2458, PIC18F2553, PIC18F4458, PIC18F4553
1.0.0.5 07.07.2007 added support for PIC16F882
1.0.0.5 07.07.2007 added configuration for EPIC Parallel Port Programmer
1.0.0.4 05.07.2007 "disabling of ""Hex File changed MessageBox"" possible"
1.0.0.4 05.07.2007 fixed problems which occured on first start after installation (because of missing config.xml)
1.0.0.3 01.07.2007 added programmer hardware test feature
1.0.0.3 01.07.2007 added possibility to select programmer port
1.0.0.3 01.07.2007 added pin configuration for PICPgm USB Programmer
1.0.0.3 01.07.2007 fixed problem with missing MSVCR71D.dll (debug DLL in release version)
1.0.0.2 20.06.2007 enhanced dialog for programmer hardware pin configuration (Clock-Enable, DataOut-Enable and MCLR pull down)
1.0.0.2 20.06.2007 added some usefull information for Log output
1.0.0.1 09.06.2007 changed hardware settings will be used directly after closing the hardware settings dialog
1.0.0.1 09.06.2007 whole DeviceID will be reported (last 5 bits are no longer masked off)
1.0.0.1 09.06.2007 BugFix: Memory size set to 0 due to programmer probing problem
1.0.0.0 08.06.2007 hardware configuration is stored in XML format (pgmhw.ini is replaced by pgmifcfg.xml)
1.0.0.0 08.06.2007 added output control support for tri-state Clock/Data lines
1.0.0.0 08.06.2007 application configuration is no longer stored in registry
1.0.0.0 08.06.2007 internal code optimization/resturcturing
0.9.9.6 05.03.2007 BugFix: programming of config word for PIC18Fxxxx devices failed sometimes
0.9.9.5 25.02.2007 added support for PIC16F883 / PIC16F884 / PIC16F886 / PIC16F887
0.9.9.4 14.02.2007 added support for PICPgm USB Programmer (FTDI245BL USB chip)
0.9.9.3 04.02.2007 added support for PIC16F737, PIC16F747, PIC16F767 and PIC16F777
0.9.9.3 04.02.2007 implemented ID location programming for PIC18F2xx0/2x21/2xx5/4xx0/4x21/4xx5 and PIC18FXX2/XX8 devices
0.9.9.3 04.02.2007 enabled HEX editor for code memory
0.9.9.3 04.02.2007 BugFix: Data EEPROM was not written correctly to HEX file after reading from the chip
0.9.9.2 03.01.2007 added support for PIC16F631, PIC16F677
0.9.9.2 03.01.2007 implemented ID location programming for 12fxxx and 16Fxxx devices
0.9.9.2 03.01.2007 BugFix: Corrected device ID of PIC18F2525 and PIC18F8585 for chip autodetection
0.9.9.1 31.12.2006 added support for PIC18F2423, PIC18F2450, PIC18F2523, PIC18F2682, PIC18F2685, PIC18F4423, PIC18F4450, PIC18F4523, PIC18F4682, PIC18F4685
0.9.9.0 29.12.2006 added support for PIC18F6527, PIC18F6622, PIC18F6627, PIC18F6722, PIC18F8527, PIC18F8622, PIC18F8627, PIC18F8722
0.9.9.0 29.12.2006 Changed autodetection algorithm because some devices of different chip families have the same device ID (e.g. PIC18F6722 and PIC16F690)
0.9.8.0 24.06.2006 added support for PIC16F913, PIC16F914, PIC16F916, PIC16F917, PIC16F946
0.9.8.0 24.06.2006 changed IdleMode() behavior for MCLR pin
0.9.7.0 26.05.2006 added maunal programmer selection feature (autodetection still possible)
0.9.6.2 21.05.2006 BugFix: Reported programming success in case of verify errors
0.9.6.1 20.05.2006 BugFix: HEX file was not closed after reading
0.9.6.1 20.05.2006 BugFix: Error while loading portio.sys driver was not reported
0.9.6.1 20.05.2006 BugFix: Corrected Flash memory length for PIC16F876A and PIC16F877A (was configured to 0x2000 instead of 0x4000)
0.9.6.0 19.02.2006 added PIC16F818 and PIC16F819 support
0.9.5.2 12.02.2006 moved log window into tab control
0.9.5.2 12.02.2006 "up to 5 verify errors are written into ""Log"" window until verify is aborted"
0.9.5.1 06.02.2006 changed LPT enumeration algorithm for Windows 9x/ME
0.9.5.1 06.02.2006 improved read timing
0.9.5.0 29.01.2006 added support for PIC16F627 and PIC16F628
0.9.4.0 15.01.2006 added support for PIC16F87 and PIC16F88
0.9.4.0 15.01.2006 during memory read operation only selected memory locations get read
0.9.3.0 27.11.2005 "added ""Microchip AN589 Programmer"" support"
0.9.2.1 12.11.2005 CPU speed independend delay functions
0.9.2.1 12.11.2005 improved low level programming functions (corrected timing)
0.9.2.0 30.10.2005 HEX file can be given as command line parameter
0.9.1.0 23.10.2005 added support for PIC16F627A, PIC16F628A and PIC16F648A
0.9.0.1 21.10.2005 added support for PIC16F84A
0.9.0.0 06.08.2005 programmer hardware settings are loaded from INI file (pgmhw.ini)
0.9.0.0 06.08.2005 programmer hardware settings can be changed via dialog window
0.9.0.0 06.08.2005 "added support for ""El Cheapo PICmicro Programmer"" (not tested yet)"
0.8.6.1 17.07.2005 bugfix: hex files with addresses greater than 32k got truncated
0.8.6.0 27.06.2005 overworked masks for configuration word verifying for 18Fxxx PIC devices
0.8.6.0 27.06.2005 added support for PIC18F2221, PIC18F2321, PIC18F2410, PIC18F2420, PIC18F2480, PIC18F2510, PIC18F2515, PIC18F2520, PIC18F2525, PIC18F2580, PIC18F2585, PIC18F4221, PIC18F4321, PIC18F4410, PIC18F4420, PIC18F4480, PIC18F4510, PIC18F4515, PIC18F4520, PIC18F4525, PIC18F4580, PIC18F4585
0.8.5.1 27.05.2005 code optimiziations
0.8.5.0 26.05.2005 added support for PIC18F2331, PIC18F2431, PIC18F4331 and PIC18F4431 devices
0.8.4.0 06.05.2005 added support for PIC16F630 and PIC16F676
0.8.4.0 06.05.2005 added support for PIC12F635, PIC16F636, PIC16F639, PIC16F685, PIC16F687, PIC16F689 and , PIC16F690
0.8.3.0 05.05.2005 fixed bug in autodetection of PIC16F684, PIC16F688 and PIC12F683
0.8.3.0 05.05.2005 fixed bug in data memory fill calculation (RecalcMemFill)
0.8.3.0 05.05.2005 fixed verify problems within configuration memory
0.8.3.0 05.05.2005 added support for PIC18F6585, PIC18F6680, PIC18F8585 and PIC18F8680
0.8.3.0 05.05.2005 added support for PIC18F6520, PIC18F6620, PIC18F6720, PIC18F8520, PIC18F8620 and PIC18F8720
0.8.2.2 24.04.2005 EEPROM data format of source HEX file can be selected
0.8.2.1 18.04.2005 fixed problems with EEPROM memory programming in case EEPROM contents is changed in HEX editor window
0.8.2.0 17.04.2005 HEX file is automatically reloaded if it has been modified when programming is started
0.8.1.0 15.04.2005 improved timings for JDM programmer (avoid discharging of C3)
0.8.1.0 15.04.2005 improved LPT port detection algorithm (instead of brute force method, data from registry is used)
0.8.1.0 15.04.2005 fixed problems in case of data EEPROM programming timeout for 18Fxxx devices
0.8.0.0 09.04.2005 EEPROM and configuration memory can be modified in the HEX edit control
0.7.3.0 08.04.2005 changed programmer detection sequence (first COM ports are checked, then LPT ports)
0.7.3.0 08.04.2005 enhenced configuration memory display
0.7.3.0 08.04.2005 updated HEX edit controls
0.7.2.0 28.03.2005 added Configuration Word dialog
0.7.2.0 28.03.2005 fixed verify problem with ICPORT configuration bit for 18FX455 / 18FX550 devices
0.7.2.0 28.03.2005 more detailed information in log window in case of verify error
0.7.1.1 26.03.2005 fixed problems with EEPROM buffer display
0.7.1.0 25.03.2005 added TabCtrl to main window to display Common Setting, Code Memory and EEPROM Memory in a separate dialog
0.7.0.2 20.03.2005 fixed bug in configruation memory programming for 18Fxxx devices
0.7.0.2 20.03.2005 fixed bug in EEPROM memory programming (only half of the EEPROM memory was programmed)
0.7.0.2 20.03.2005 fixed verfiy error problems in case only data memory was selected
0.7.0.1 19.03.2005 for PICs with OSCCAL the configured OSCCAL value is displayed in Device Information Box
0.7.0.1 19.03.2005 improved OSCCAL handling: OSCCAL will be reprogrammed directly after erasing the device
0.7.0.0 11.03.2005 added dialog to view Program and EEPROM Data Buffer (not editable at the moment but this feature is planned for one of the next releases)
0.6.0.1 13.02.2005 bugfix: OSCCAL has not been read from correct address location when erasing the device
0.6.0.1 13.02.2005 "JDM programmer has been tested with PICPgm - working now! For details see Hardware section."
0.6.0.0 05.02.2005 added menu
0.6.0.0 05.02.2005 added log window for warning and error message output
0.6.0.0 05.02.2005 added support for PIC18F2455, PIC18F2550, PIC18F4455 and PIC18F4550 (USB devices)
0.5.2.0 08.01.2005 improved autodetection algorithm for PIC devices
0.5.2.0 08.01.2005 fixed problem with ESC and ENTER key closing the application
0.5.1.1 07.01.2005 "removed ""Error opening Reg!"" MessageBox on first start"
0.5.1.1 07.01.2005 added shared MFC DLLs into setup program
0.5.1.0 06.01.2005 added JDM Programmer support
0.5.0.1 04.01.2005 bug where configuration memory was not saved to HEX file when reading from the chip has been fixed
0.5.0.0 04.01.2005 added progress dialog (changed lock and feel)
0.5.0.0 04.01.2005 "fixed problem with multiple identical file names in last ""used files"" combo box"
0.4.0.0 28.12.2004 added status bar with programmer port info
0.4.0.0 28.12.2004 fixed problem with reading of PIC and write to HEX-file
0.3.2.0 18.12.2004 code / data memory length is taken from device info
0.3.1.0 18.12.2004 added support for PIC16F684, PIC16F688 and PIC12F683
0.3.0.0 08.12.2004 added support for PIC18F2610, PIC18F2620, PIC18F2680, PIC18F4610, PIC18F4620, PIC18F4680
0.3.0.0 08.12.2004 enhanced autodetection of PIC devices
0.3.0.0 08.12.2004 enhanced allocation of resources
0.3.0.0 08.12.2004 added 256 color toolbar
0.2.0.4 04.12.2004 "activated checkbox for selection of ""Configuration Bits"""
0.2.0.3 04.12.2004 "corrected flash size output in ""Information"" box"
0.2.0.3 04.12.2004 "changed behavior of ""select HEX File"" combo box (last used file on first place)"
0.2.0.3 04.12.2004 prepared support of PIC18Fx6x0 devices
0.2.0.3 04.12.2004 added tooltips for toolbar
0.2.0.3 04.12.2004 added minimize button
0.2.0.2 14.11.2004 fixed verfiy error problems with PIC 18FXX2 / 18FXX8 devices
0.2.0.2 14.11.2004 fixed problem with autodetection of PIC 18FX220 / 18FX320 devices
0.2.0.1 20.11.2004 Bugfix: fixed verify problems with PIC 18Fxx2 / 18Fxx8 devices
0.2.0.0 14.11.2004 implemented Verfiy, Read and Erase mode
0.1.0.1 07.11.2004 modified about dialog
0.1.0.0 10.10.2004 first version

Change History of PICPgm Command Line Version:

version date change description
2.9.3.1 17.06.2018 Fixed configuration memory programming for PIC16F161x devices
2.9.3.0 24.08.2017 ARM GPIO programmers are accessed via GPIO driver (/sys/class/gpio) instead of direct GPIO access (direct access for Rapsberry Pi is still possible via new option -gpio_direct)
2.9.2.5 03.08.2017 Fixed wrong configuration bit descriptions
2.9.2.4 03.08.2017 Fixed autodetection for PIC24FJxxxDAxxx and PIC24FJxxxGAxxx
2.9.2.4 03.08.2017 Fixed default value for programmer attribute jdm_charge_pump in pgmifcfg.xml to off
2.9.2.3 17.12.2016 Fixed problem which avoids programmer detection (introduced along with PICPgm 2.9.2.1)
2.9.2.2 16.12.2016 Fixed config memory read which prevents device detection for the following devices: PIC24FJ128DA106, PIC24FJ128DA110, PIC24FJ128DA206, PIC24FJ128DA210, PIC24FJ128GA202, PIC24FJ128GA204, PIC24FJ128GA306, PIC24FJ128GA308, PIC24FJ128GA310, PIC24FJ128GB202, PIC24FJ128GB204, PIC24FJ128GB206, PIC24FJ128GB210, PIC24FJ256DA106, PIC24FJ256DA110, PIC24FJ256DA206, PIC24FJ256DA210, PIC24FJ256GB206, PIC24FJ256GB210, PIC24FJ64GA202, PIC24FJ64GA204, PIC24FJ64GA306, PIC24FJ64GA308, PIC24FJ64GA310, PIC24FJ64GB202, PIC24FJ64GB204
2.9.2.1 09.12.2016 Fixed PICPgm crash on ARM boards with GPIO numbers greater than 40
2.9.2.0 21.08.2016 Added PIC18F6525, PIC18F6621, PIC18F8525, PIC18F8621 support
2.9.1.0 27.04.2016 Changed bit_sample_delay attribute in pgmifcfg.xml from msec to usec resolution
2.9.0.0 20.03.2016 Added PIC12F1612, PIC12LF1612, PIC16F1613, PIC16LF1613, PIC16F1614, PIC16LF1614, PIC16F1615, PIC16LF1615, PIC16F1618, PIC16LF1618, PIC16F1619, PIC16LF1619 support
2.9.0.0 20.03.2016 Added PIC16F1574, PIC16LF1574, PIC16F1575, PIC16LF1575, PIC16F1578, PIC16LF1578, PIC16F1579, PIC16LF1579 support
2.9.0.0 20.03.2016 Added bit_sample_delay attribute for programmer properties in pgmifcfg.xml to configure a delay (in ms) during bit sampling (usefull for USB to serial adapters which are used along with JDM like programmer)
1.9.0.0 20.03.2016 Fixed JDM charge pump handling which was accidentally removed along with PICPgm 2.8.1.0
2.8.9.1 11.03.2016 Fixed config memory programming for PIC24FJXXXGA1/GB1 devices
2.8.9.0 26.02.2016 Added PIC18F65K22, PIC18F85K22, PIC18F65K90, PIC18F85K90, PIC18F66K22, PIC18F86K22, PIC18F66K90, PIC18F86K90, PIC18F67K22, PIC18F87K22, PIC18F67K90, PIC18F87K90 support
2.8.8.0 20.02.2016 Replaced usleep() with clock_gettime() for small delays to speed up programming on Linux
2.8.7.2 03.10.2015 Fixed wrong output of device names for PIC16F170x devices
2.8.7.1 26.09.2015 Fixed wrong output of device names for PIC16F145x devices
2.8.7.0 25.09.2015 Added GPIO access via /sys/class/gpio kernel driver to support other ARM devices than Raspberry Pi
2.8.7.0 25.09.2015 Added PIC24FJ256GA106, PIC24FJ256GB106, PIC24FJ256GA108, PIC24FJ256GB108, PIC24FJ256GA110, PIC24FJ256GB110, PIC24FJ192GA106, PIC24FJ192GB106, PIC24FJ192GA108, PIC24FJ192GB108, PIC24FJ192GA110, PIC24FJ192GB110, PIC24FJ128GA106, PIC24FJ128GB106, PIC24FJ128GA108, PIC24FJ128GB108, PIC24FJ128GA110, PIC24FJ128GB110, PIC24FJ64GA106, PIC24FJ64GB106, PIC24FJ64GA108, PIC24FJ64GB108, PIC24FJ64GA110, PIC24FJ64GB110 support
2.8.7.0 25.09.2015 Added PIC24FJ128GA204, PIC24FJ64GA204, PIC24FJ128GA202, PIC24FJ64GA202, PIC24FJ128GB204, PIC24FJ64GB204, PIC24FJ128GB202, PIC24FJ64GB202 support
2.8.7.0 25.09.2015 Fixed wrong verify errors for configuration memory for PIC16F14xx, PIC16F15xx, PIC16F17xx and PIC16F19xx
2.8.7.0 25.09.2015 Fixed device autodetection problems due to wrongly masked device ID for PIC16F14xx devices
2.8.6.0 20.09.2015 Added Raspberry Pi 2 support
2.8.5.0 18.08.2015 Added PIC16F1703, PIC16LF1703, PIC16F1704, PIC16LF1704, PIC16F1705, PIC16LF1705, PIC16F1707, PIC16LF1707, PIC16F1708, PIC16LF1708, PIC16F1709, PIC16LF1709 support
2.8.5.0 18.08.2015 Added PIC16F1454, PIC16LF1454, PIC16F1455, PIC16LF1455, PIC16F1459, PIC16LF1459 support
2.8.4.0 17.08.2015 Added PIC18F24K50, PIC18LF24K50, PIC18F25K50, PIC18LF25K50, PIC18F26K50, PIC18LF26K50, PIC18F45K50, PIC18LF45K50, PIC18F46K50, PIC18LF46K50 support
2.8.3.0 31.01.2015 Added PIC24F04KA200, PIC24F04KA201 support
2.8.3.0 31.01.2015 Changed dataout enable pin behavior, dataout enable pin stays low during data read instead of switching for every bit read (only affects programmers which use dataeout enable, e.g. Microchip AN589)
2.8.3.0 31.01.2015 Fixed wrong output of time duration of programming operation
2.8.2.0 27.01.2015 Updated Linux install script to install PICPgm in folder /opt/picpgm
2.8.2.0 27.01.2015 Added folder /opt/picpgm into search path for programmer configuration file pgmifcfg.xml (default install folder of PICPgm under Linux)
2.8.1.0 30.12.2014 Added jdm_charge_pump attribute in programmer configuration file pgmifcfg.xml to control enable/disabe of charge pump handling for JDM, default=enable
2.8.1.0 30.12.2014 Added configuration for Willem 3 Programmer (all DIP switches on programmer have to be off on the programmer)
2.8.1.0 30.12.2014 Added support for PICPgm on Raspberry Pi
2.8.0.0 07.08.2014 Added dsPIC33EP128GP502, dsPIC33EP128GP504, dsPIC33EP128GP506, dsPIC33EP128MC202, dsPIC33EP128MC204, dsPIC33EP128MC206, dsPIC33EP128MC502, dsPIC33EP128MC504, dsPIC33EP128MC506, dsPIC33EP256GP502, dsPIC33EP256GP504, dsPIC33EP256GP506, dsPIC33EP256MC202, dsPIC33EP256MC204, dsPIC33EP256MC206, dsPIC33EP256MC502, dsPIC33EP256MC504, dsPIC33EP256MC506, dsPIC33EP32GP502, dsPIC33EP32GP503, dsPIC33EP32GP504, dsPIC33EP32MC202, dsPIC33EP32MC203, dsPIC33EP32MC204, dsPIC33EP32MC502, dsPIC33EP32MC503, dsPIC33EP32MC504, dsPIC33EP512GP502, dsPIC33EP512GP504, dsPIC33EP512GP506, dsPIC33EP512MC202, dsPIC33EP512MC204, dsPIC33EP512MC206, dsPIC33EP512MC502, dsPIC33EP512MC504, dsPIC33EP512MC506, dsPIC33EP64GP502, dsPIC33EP64GP503, dsPIC33EP64GP504, dsPIC33EP64GP506, dsPIC33EP64MC202, dsPIC33EP64MC203, dsPIC33EP64MC204, dsPIC33EP64MC206, dsPIC33EP64MC502, dsPIC33EP64MC503, dsPIC33EP64MC504, dsPIC33EP64MC506, PIC24EP128GP202, PIC24EP128GP204, PIC24EP128GP206, PIC24EP128MC202, PIC24EP128MC204, PIC24EP128MC206, PIC24EP256GP202, PIC24EP256GP204, PIC24EP256GP206, PIC24EP256MC202, PIC24EP256MC204, PIC24EP256MC206, PIC24EP32GP202, PIC24EP32GP203, PIC24EP32GP204, PIC24EP32MC202, PIC24EP32MC203, PIC24EP32MC204, PIC24EP512GP202, PIC24EP512GP204, PIC24EP512GP206, PIC24EP512MC202, PIC24EP512MC204, PIC24EP512MC206, PIC24EP64GP202, PIC24EP64GP203, PIC24EP64GP204, PIC24EP64GP206, PIC24EP64MC202, PIC24EP64MC203, PIC24EP64MC204, PIC24EP64MC206 support
2.8.0.0 07.08.2014 Improved accuracy of microseconds delays (PICPgm now uses Windows PerformaceCounter for programming delays instead of inaccurate delay loops)
2.8.0.0 07.08.2014 "Added ""-verify"" option which allows verification of PIC memory against a HEX file"
2.8.0.0 07.08.2014 Improved PICPgm USB programmer programming speed (~50% faster)
2.8.0.0 07.08.2014 Improved PICPgm USB programmer auto detection and allows selection of FTDI device to be used as PICPgm USB programmer
2.8.0.0 07.08.2014 "Added ""List FTDI USB devices"" command to be able to identify all connceted FTDI devices and select the FTDI device which shall be used as PICPgm USB programmer"
2.8.0.0 07.08.2014 PICPgm USB programmer pins 6 and 7 can be assigned to programming pins (earlier this pins where reserved for internal synchronizing purposes)
2.7.9.3 31.07.2014 Fixed PIC18FxxK80 data memory erase problem
2.7.9.2 19.07.2014 Fixed PIC18FxxK80 erase and config bit programming problem
2.7.9.2 19.07.2014 Fixed PIC24F WR bit polling (this problem could have caused programming problems for PIC24F devices)
2.7.9.2 19.07.2014 Fixed microsecond delay loop calibration problem which could occur on fast PCs and cause too short delays
2.7.9.2 19.07.2014 HEX files are started now with upper linear base address (ULBA) initialization to address 0 (:020000040000FA)
2.7.9.1 15.10.2013 Fixed implementation of data EEPROM bulk erase for PIC16F627, PIC16F628, PIC16LF627, PIC16LF628
2.7.9.0 27.09.2013 Fixed PIC18FxxK80 programming algorithm
2.7.8.0 08.12.2012 Added PIC16F1782, PIC16LF1782, PIC16F1783, PIC16LF1783, PIC16F1784, PIC16LF1784, PIC16F1786, PIC16LF1786, PIC16F1787, PIC16LF1787, PIC16F1788, PIC16LF1788, PIC16F1789, PIC16LF1789 support
2.7.7.0 22.11.2012 Added PIC24FJ32GA102, PIC24FJ64GA102, PIC24FJ32GA104, PIC24FJ64GA104, PIC24FJ32GB002, PIC24FJ64GB002, PIC24FJ32GB004, PIC24FJ64GB004 support
2.7.7.0 22.11.2012 Added PIC24FJ128DA106, PIC24FJ256DA106, PIC24FJ128DA110, PIC24FJ256DA110, PIC24FJ128DA206, PIC24FJ256DA206, PIC24FJ128DA210, PIC24FJ256DA210, PIC24FJ128GB206, PIC24FJ256GB206, PIC24FJ128GB210, PIC24FJ256GB210, PIC24FJ64GA310, PIC24FJ128GA310, PIC24FJ64GA308, PIC24FJ128GA308, PIC24FJ64GA306, PIC24FJ128GA306 support
2.7.6.0 17.11.2012 Added PIC10F320, PIC10F322, PIC10LF320, PIC10LF322 support
2.7.5.1 22.07.2012 Fixed data EEPROM start address for PIC16F15xx, PIC16F18xx and PIC16F19xx devices
2.7.5.0 13.07.2012 Added PIC18F6310, PIC18F6390, PIC18F6393, PIC18F6410, PIC18F6490, PIC18F6493, PIC18F8310, PIC18F8390, PIC18F8393, PIC18F8410, PIC18F8490, PIC18F8493 support
2.7.4.1 14.06.2012 "PIC name can be give case insensitive and without ""PIC"" or ""dsPIC prefix (-pic option)"
2.7.4.1 14.06.2012 "Fixed verify error output (add newline before output of ""Verify Error: ..."""
2.7.4.1 14.06.2012 Fixed text in help message (-h option)
2.7.4.0 12.06.2012 Added PIC16F720, PIC16F721, PIC16LF720, PIC16LF721 support
2.7.4.0 12.06.2012 Switched back to robust programming/erase delays for PIC18F devices
2.7.3.0 05.06.2012 Added PIC16F722, PIC16F722A, PIC16F723, PIC16F723A, PIC16F724, PIC16F726, PIC16F727, PIC16LF722, PIC16LF722A, PIC16LF723, PIC16LF723A, PIC16LF724, PIC16LF726, PIC16LF727 support
2.7.3.0 05.06.2012 Fixed memory leak which occurs if blank check is called
2.7.2.0 04.06.2012 Added PIC24F08KA101, PIC24F16KA101, PIC24F08KA102, PIC24F16KA102, PIC24FV16KA301, PIC24F16KA301, PIC24FV16KA302, PIC24F16KA302, PIC24FV16KA304, PIC24F16KA304, PIC24FV32KA301, PIC24F32KA301, PIC24FV32KA302, PIC24F32KA302, PIC24FV32KA304, PIC24F32KA304 support
2.7.2.0 04.06.2012 Probe programmers only on selected port
2.7.2.0 04.06.2012 Update of program and erase delays
2.7.2.0 04.06.2012 Fixed data memory erase problem for PIC16F627 and PIC16F628
2.7.2.0 04.06.2012 Fixed bulk erase for dsPIC30F5013
2.7.1.0 20.05.2012 Added PIC18F13K22, PIC18F14K22, PIC18LF13K22, PIC18LF14K22 support
2.7.1.0 20.05.2012 Added PICPgm USB programmer support for Linux
2.7.0.0 12.05.2012 Added PIC12F1840, PIC12LF1840, PIC16F1847, PIC16LF1847 support
2.7.0.0 12.05.2012 Restructured PIC device information handling
2.6.5.0 11.04.2012 Mask unused configuration bits for PIC24, dsPIC30 and dsPIC33F
2.6.5.0 11.04.2012 Fixed problem where disabling of code protection for PIC16F627/PIC16F628 was not possible
2.6.5.0 11.04.2012 Fixed autodetection problem for PIC24HJ devices
2.6.4.3 11.03.2012 Corrected MCLR switching for Microchip AN589 Programmer
2.6.4.3 11.03.2012 "Clock and Data line are set to ""Low"" after programming"
2.6.4.2 09.12.2011 Fixed problem with High-Voltage program entry for some PIC12F and PIC16F
2.6.4.1 23.11.2011 Fixed application crash during configuration bit programming for some PIC16F and PIC12F devices
2.6.4.1 23.11.2011 Decreased discharge time for PIC10F and some PIC12F devices
2.6.4.1 23.11.2011 Small timing changes for PICPgm USB programmer
2.6.3.0 20.11.2011 Added support for PIC12F1501, PIC16F1503, PIC16F1507, PIC16F1508, PIC16F1509, PIC12LF1501, PIC16LF1503, PIC16LF1507, PIC16LF1508, PIC16LF1509, PIC16F1512, PIC16F1513, PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519, PIC16F1526, PIC16F1527, PIC16LF1512, PIC16LF1513, PIC16LF1516, PIC16LF1517, PIC16LF1518, PIC16LF1519, PIC16LF1526, PIC16LF1527
2.6.3.0 20.11.2011 Fixed problem with JDM programmer for some PIC12F and PIC16F devices
2.6.2.1 12.11.2011 Fixed problem where -p_cfg option was not working
2.6.2.0 14.10.2011 Added support for PIC16F83 and PIC16F84
2.6.2.0 14.10.2011 Improved programming speed for PICPgm USB programmer by around 20%
2.6.2.0 14.10.2011 Removed some unnecessary delays for PIC16F devices which slightly improves programming duration
2.6.2.0 14.10.2011 Fixed problems with config memory verify errors for PIC16F devices
2.6.1.0 09.10.2011 Added support for PIC16F54, PIC16F57, PIC16F59
2.6.0.1 08.10.2011 Fixed config memory programming problem for PIC16F716
2.6.0.0 08.10.2011 Added support for PIC24FJ16GA002, PIC24FJ96GA006, PIC24FJ16GA004, PIC24FJ96GA008, PIC24FJ32GA002, PIC24FJ96GA010, PIC24FJ32GA004, PIC24FJ128GA006, PIC24FJ48GA002, PIC24FJ128GA008, PIC24FJ48GA004, PIC24FJ128GA010, PIC24FJ64GA002, PIC24FJ64GA004, PIC24FJ64GA006, PIC24FJ64GA008, PIC24FJ64GA010
2.5.8.0 02.10.2011 Report error if programmer configuration file is not present
2.5.8.0 02.10.2011 Added support for PIC18F25K80, PIC18F26K80, PIC18LF25K80, PIC18LF26K80, PIC18F45K80, PIC18F46K80, PIC18LF45K80, PIC18LF46K80, PIC18F65K80, PIC18F66K80, PIC18LF65K80, PIC18LF66K80
2.5.7.0 30.08.2011 Calibration word can be read (if present in chip)
2.5.7.0 30.08.2011 Calibration word can be reprogrammed (if supported by chip)
2.5.6.3 30.07.2011 Fixed -osccal and -osccalbak command line parsing problem
2.5.6.3 30.07.2011 Fixed bug where PIC was not getting erased before programming
2.5.6.2 23.06.2011 Corrected configuration bits for PIC16F72
2.5.6.2 23.06.2011 Corrected configuration bits for dsPIC33FJ16GS504
2.5.6.1 11.06.2011 Fixed LPT port enumeration problem under Windows 98 which cause PICPgm to crash
2.5.6.0 01.06.2011 Added support for PIC16F1826, PIC16F1827, PIC16LF1826, PIC16LF1827, PIC12F1822, PIC12LF1822, PIC16F1823, PIC16LF1823, PIC16F1824, PIC16LF1824, PIC16F1825, PIC16LF1825, PIC16F1828, PIC16LF1828, PIC16F1829, PIC16LF1829
2.5.6.0 01.06.2011 Corrected program memory length for PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610, dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A, dsPIC33FJ256MC510A, dsPIC33FJ256MC710A, PIC24HJ256GP206A, PIC24HJ256GP210A, PIC24HJ256GP610A, PIC10F202, PIC10F204, PIC16LF1902, PIC16F916, PIC16F917, PIC16F946, PIC18F4455, PIC18F4458, PIC18F2431, PIC18F4331
2.5.6.0 01.06.2011 Corrected data EEPROM memory length for PIC16F818, PIC18F4410, PIC18F4480, PIC18F4510
2.5.6.0 01.06.2011 Corrected program memory length and data EEPROM memory length for PIC18F1230, PIC18F1330
2.5.6.0 01.06.2011 Corrected program memory length and configuration memory start address for PIC18LF26J13
2.5.5.0 29.05.2011 Added support for PIC16F1933, PIC16F1934, PIC16F1936, PIC16F1937, PIC16F1938, PIC16F1939, PIC16F1946, PIC16F1947, PIC16LF1933, PIC16LF1934, PIC16LF1936, PIC16LF1937, PIC16LF1938, PIC16LF1939, PIC16LF1946, PIC16LF1947, PIC16LF1902, PIC16LF1903, PIC16LF1904, PIC16LF1906, PIC16LF1907
2.5.4.1 24.05.2011 Fixed wrong device ID for PIC16F946, dsPIC30F6012A and dsPIC30F6013A
2.5.4.0 22.05.2011 Added support for PIC18F23K22, PIC18F24K22, PIC18F25K22, PIC18F26K22, PIC18F43K22, PIC18F44K22, PIC18F45K22, PIC18F46K22, PIC18LF23K22, PIC18LF24K22, PIC18LF25K22, PIC18LF26K22, PIC18LF43K22, PIC18LF44K22, PIC18LF45K22, PIC18LF46K22
2.5.3.0 19.05.2011 Added option to apply a factor to the delay functions to be able to slow down programming speed
2.5.3.0 19.05.2011 Added support for PIC18F97J60, PIC18F63J11, PIC18F63J90, PIC18F64J11, PIC18F64J90, PIC18F65J10, PIC18F65J11, PIC18F65J15, PIC18F65J50, PIC18F65J90, PIC18F66J10, PIC18F66J11, PIC18F66J15, PIC18F66J16, PIC18F66J50, PIC18F66J55, PIC18F66J90, PIC18F66J93, PIC18F67J10, PIC18F67J11, PIC18F67J50, PIC18F67J90, PIC18F67J93, PIC18F83J11, PIC18F83J90, PIC18F84J11, PIC18F84J90, PIC18F85J10, PIC18F85J11, PIC18F85J15, PIC18F85J50, PIC18F85J90, PIC18F86J10, PIC18F86J11, PIC18F86J15, PIC18F86J16, PIC18F86J50, PIC18F86J55, PIC18F86J72, PIC18F86J90, PIC18F86J93, PIC18F87J10, PIC18F87J11, PIC18F87J50, PIC18F87J72,P IC18F87J90, PIC18F87J93
2.5.2.0 16.05.2011 Added PIC18F66J60, PIC18F66J65, PIC18F67J60, PIC18F86J60, PIC18F86J65, PIC18F87J60, PIC18F96J60, PIC18F96J65, PIC18F97J60 support
2.5.1.0 30.01.2011 Added PIC16F505, PIC16F506, PIC16F526 and PIC16F72 support
2.5.1.0 30.01.2011 Use device specific write buffer size to speed up programming for PIC18F devices
2.5.0.7 29.01.2011 Changes on data EEPROM programming timing for PIC18F devices
2.5.0.7 29.01.2011 Corrected EPIC programmer settings (PGM/Vdd needs to be inverted)
2.5.0.7 29.01.2011 Show code memory size in bytes (instead of kbyte) if it is less than 1024 bytes
2.5.0.6 09.01.2011 Fixed code memory verify not called after programming for PIC10F
2.5.0.6 09.01.2011 Fixed data EEPROM programming problem for PIC18F872X devices
2.5.0.6 09.01.2011 Improved data EEPROM programming for PIC18fx6x0 device
2.5.0.5 02.01.2011 Fixed problem with writing HEX files with addresses greater than 0x1FFFF
2.5.0.5 02.01.2011 Fixed runtime error if HEX file which shall be written to is write protected
2.5.0.4 01.01.2011 Implemented dsPIC30F Unit ID programming
2.5.0.4 01.01.2011 Fixed HEX file write bug (wrong address offset if last record has a length less than 16 bytes)
2.5.0.3 30.12.2010 Fixed verify error for PIC12F629, PIC12F675, PIC16F630 and PIC16F676 in case code memory is fully used
2.5.0.3 30.12.2010 BugFix: BlankCheck not working for dsPIC and PIC24H
2.5.0.3 30.12.2010 Changed Blank Check to stop on first non-blank memory location (instead of reading the whole memory)
2.5.0.2 29.12.2010 Increased BulkErase delay for PIC18F devices
2.5.0.2 29.12.2010 Added dsPIC33FJ16GS504, dsPIC33FJ64GP206A, dsPIC33FJ64GP306A, dsPIC33FJ64GP310A, dsPIC33FJ64GP706A, dsPIC33FJ64GP708A, dsPIC33FJ64GP710A, dsPIC33FJ64MC506A, dsPIC33FJ64MC508A, dsPIC33FJ64MC510A, dsPIC33FJ64MC706A, dsPIC33FJ64MC710A, dsPIC33FJ128GP206A, dsPIC33FJ128GP306A, dsPIC33FJ128GP310A, dsPIC33FJ128GP706A, dsPIC33FJ128GP708A, dsPIC33FJ128GP710A, dsPIC33FJ128MC506A, dsPIC33FJ128MC510A, dsPIC33FJ128MC706A, dsPIC33FJ128MC708A, dsPIC33FJ128MC710A, dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A, dsPIC33FJ256MC510A, dsPIC33FJ256MC710A, dsPIC33FJ32GS406, dsPIC33FJ32GS606, dsPIC33FJ32GS608, dsPIC33FJ32GS610, dsPIC33FJ64GS406, dsPIC33FJ64GS606, dsPIC33FJ64GS608, dsPIC33FJ64GS610 support (were missed during dsPIC33F implementation)
2.5.0.2 29.12.2010 Added PIC24HJ64GP206A, PIC24HJ64GP210A, PIC24HJ64GP506A, PIC24HJ64GP510A, PIC24HJ128GP206A, PIC24HJ128GP210A, PIC24HJ128GP306A, PIC24HJ128GP310A, PIC24HJ128GP506A, PIC24HJ128GP510A, PIC24HJ256GP206A, PIC24HJ256GP210A, PIC24HJ256GP610A support (were missed during PIC24H implementation)
2.5.0.2 29.12.2010 BugFix dsPIC30F, dsPIC33F, PIC24H: Configuration memory was not written to HEX file properly
2.5.0.2 29.12.2010 BugFix dsPIC30F: Fixed problem reading/writing EEPROM data from/to HEX file
2.5.0.1 28.12.2010 Wait for WR bit to be cleared after BulkErase for dsPIC33F and PIC24H
2.5.0.1 28.12.2010 Updated configuration bit description for dsPIC33F and PIC24H
2.5.0.0 27.12.2010 Implemented support for dsPIC33FJ06GS101, dsPIC33FJ06GS102, dsPIC33FJ06GS202, dsPIC33FJ128GP202, dsPIC33FJ128GP204, dsPIC33FJ128GP206, dsPIC33FJ128GP306, dsPIC33FJ128GP310, dsPIC33FJ128GP706, dsPIC33FJ128GP708, dsPIC33FJ128GP710, dsPIC33FJ128GP802, dsPIC33FJ128GP804, dsPIC33FJ128MC202, dsPIC33FJ128MC204, dsPIC33FJ128MC506, dsPIC33FJ128MC510, dsPIC33FJ128MC706, dsPIC33FJ128MC708, dsPIC33FJ128MC710, dsPIC33FJ128MC802, dsPIC33FJ128MC804, dsPIC33FJ12GP201, dsPIC33FJ12GP202, dsPIC33FJ12MC201, dsPIC33FJ12MC202, dsPIC33FJ16GP304, dsPIC33FJ16GS402, dsPIC33FJ16GS404, dsPIC33FJ16GS502, dsPIC33FJ16MC304, dsPIC33FJ256GP506, dsPIC33FJ256GP510, dsPIC33FJ256GP710, dsPIC33FJ256MC510, dsPIC33FJ256MC710, dsPIC33FJ32GP202, dsPIC33FJ32GP204, dsPIC33FJ32GP302, dsPIC33FJ32GP304, dsPIC33FJ32MC202, dsPIC33FJ32MC204, dsPIC33FJ32MC302, dsPIC33FJ32MC304, dsPIC33FJ64GP202, dsPIC33FJ64GP204, dsPIC33FJ64GP206, dsPIC33FJ64GP306, dsPIC33FJ64GP310, dsPIC33FJ64GP706, dsPIC33FJ64GP708, dsPIC33FJ64GP710, dsPIC33FJ64GP802, dsPIC33FJ64GP804, dsPIC33FJ64MC202, dsPIC33FJ64MC204, dsPIC33FJ64MC506, dsPIC33FJ64MC508, dsPIC33FJ64MC510, dsPIC33FJ64MC706, dsPIC33FJ64MC710, dsPIC33FJ64MC802, dsPIC33FJ64MC804
2.5.0.0 27.12.2010 Implemented support for PIC24HJ128GP202, PIC24HJ128GP204, PIC24HJ128GP206, PIC24HJ128GP210, PIC24HJ128GP306, PIC24HJ128GP310, PIC24HJ128GP502, PIC24HJ128GP504, PIC24HJ128GP506, PIC24HJ128GP510, PIC24HJ12GP201, PIC24HJ12GP202, PIC24HJ16GP304, PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610, PIC24HJ32GP202, PIC24HJ32GP204, PIC24HJ32GP302, PIC24HJ32GP304, PIC24HJ64GP202, PIC24HJ64GP204, PIC24HJ64GP206, PIC24HJ64GP210, PIC24HJ64GP502, PIC24HJ64GP504, PIC24HJ64GP506, PIC24HJ64GP510
2.4.4.0 22.12.2010 Implemented support for PIC18F24J10, PIC18F24J11, PIC18F24J50, PIC18F25J10, PIC18F25J11, PIC18F25J50, PIC18F26J11, PIC18F26J13, PIC18F26J50, PIC18F26J53, PIC18F27J13, PIC18F27J53, PIC18F44J10, PIC18F44J11, PIC18F44J50, PIC18F45J10, PIC18F45J11, PIC18F45J50, PIC18F46J11, PIC18F46J13, PIC18F46J50, PIC18F46J53, PIC18F47J13, PIC18F47J53, PIC18LF24J10, PIC18LF24J11, PIC18LF24J50, PIC18LF25J10, PIC18LF25J11, PIC18LF25J50, PIC18LF26J11, PIC18LF26J13, PIC18LF26J50, PIC18LF26J53, PIC18LF27J13, PIC18LF27J53, PIC18LF44J10, PIC18LF44J11, PIC18LF44J50, PIC18LF45J10, PIC18LF45J11, PIC18LF45J50, PIC18LF46J11, PIC18LF46J13, PIC18LF46J50, PIC18LF46J53, PIC18LF47J13, PIC18LF47J53
2.4.3.0 20.12.2010 Implemented Blank Check
2.4.2.1 26.10.2010 fixed problem where hardware test was not working if programmer connection could not be detected
2.4.2.0 09.10.2010 Implemented support for PIC12F519
2.4.2.0 09.10.2010 Implemented support for PIC18F1230, PIC18F1330
2.4.1.0 27.09.2010 Implemented support for PIC18F23K20, PIC18F24K20, PIC18F25K20, PIC18F26K20, PIC18F43K20, PIC18F44K20, PIC18F45K20, PIC18F46K20
2.4.1.0 27.09.2010 Implemented support for PIC18F13K50, PIC18LF13K50, PIC18LF14K50, PIC18F14K50
2.4.0.1 20.09.2010 exchanged 64 bit port I/O driver hwinterfacex64.sys with the signed driver version inpoutx64.sys
2.4.0.0 19.09.2010 added support for 64 bit port I/O driver (i.e. Windows XP x64, Windows Vista x64)
2.3.0.3 11.09.2010 made port init value for LPT programmers configurable
2.3.0.3 11.09.2010 added P16PRO40 programmer support
2.3.0.2 01.09.2010 updated LPT enumeration for Window Vista
2.3.0.2 01.09.2010 report error in case LPT driver could not be loaded
2.3.0.2 01.09.2010 increased high voltage discharge time for PIC18F devices
2.3.0.1 31.05.2010 show warning if configuration bits are not in HEX file
2.3.0.0 23.05.2010 added TLVP (Trivial LVP programmer) in programmer configuration file
2.3.0.0 23.05.2010 OSCCAL and backup of OSCCAL can be changed by user
2.2.2.2 18.05.2010 non functional updates due to configuration bit implementation in GUI version
2.2.2.1 22.03.2010 removed compiler warnings
2.2.2.0 19.03.2010 added support for PIC12F510
2.2.2.0 19.03.2010 updated LPT enumeration for Windows, now also PCI LPT card addresses are read from registry
2.2.1.0 14.02.2010 added PIC16F716 support
2.2.0.2 30.01.2010 updates for mingw compiler
2.2.0.2 30.01.2010 fixed direct access to I/O address without having permission (Linux only)
2.2.0.2 30.01.2010 removed compiler warnings
2.2.0.0 29.12.2009 migration to Linux
2.2.0.0 29.12.2009 changed LPT enumeration process
2.2.0.0 29.12.2009 added -paddr option for directly selecting I/O address for parallel ports
2.1.4.0 11.12.2009 fixed problem where LPT ports where not found if they where on different IO address than 0x378
2.1.3.0 07.12.2009 Added support for PIC16F73, PIC16F74, PIC16F76, PIC16F77
2.1.2.0 14.11.2009 Added support for PIC12F508 and PIC12F509
2.1.2.0 14.11.2009 Added support for PIC18F6628, PIC18F6723, PIC18F8628 and PIC18F8723
2.1.2.0 14.11.2009 Correction for config memory verification of PIC10F220 and PIC10F222
2.1.1.0 26.10.2009 Added support for PIC12F609, PIC12F615, PIC12F617, PIC16F610, PIC16F616, PIC12HV609, PIC12HV615, PIC16HV610 and PIC16HV616
2.1.0.0 23.10.2009 Implementation of dsPIC30F devices (beta version).
2.1.0.0 23.10.2009 The following PICs are supported now: dsPIC30F2010, dsPIC30F2011, dsPIC30F2012, dsPIC30F3010, dsPIC30F3011,dsPIC30F3012, dsPIC30F3013, dsPIC30F3014, dsPIC30F4011, dsPIC30F4012,dsPIC30F4013, dsPIC30F5011, dsPIC30F5013, dsPIC30F5015, dsPIC30F5016,dsPIC30F6010, dsPIC30F6010A, dsPIC30F6011, dsPIC30F6011A, dsPIC30F6012,dsPIC30F6012A, dsPIC30F6013, dsPIC30F6013A, dsPIC30F6014, dsPIC30F6014A, dsPIC30F6015
2.0.2.3 12.10.2009 BugFix: HEX file not loaded due to lower case letters in HEX file (lower case letters where interpreted as illegal characters)
2.0.2.3 12.10.2009 Preparations for dsPIC support
2.0.2.3 12.10.2009 "Added command line arguments ""-data_8bit"" and ""-data_16bit"" to select format of data EEPROM in HEX file"
2.0.2.2 03.10.2009 BugFix: Configuration Word 2 was not written for PIC16F882, PIC16F883, PIC16F884, PIC16F886 and PIC16F887
2.0.2.1 17.09.2009 BugFix: Olimex PIC-PG3 programmer has 2 pins for MCLR control. With previous version both pins are set at the same time which could cause high voltage on a PIC pin other than MCLR.
2.0.2.1 17.09.2009 BugFix: Vdd not controlled for Olimex PIC-PG3 programmer.
2.0.2.0 15.09.2009 added Olimex PIC-PG2 and PIC-PG3 programmer support
2.0.1.5 27.01.2009 BugFix: chip erase for PIC18F2xx0 / 2x21 / 2xx5 / 4xx0 / 4x21 / 4xx5 devices did not work properly
2.0.1.4 11.01.2009 improved read timing for PICPgm USB programmer (fixes random verify errors for the PICPgm USB programmer)
2.0.1.3 21.10.2007 BugFix: only the first 512/1024 bytes for PIC16F737, PIC16F747/PIC16F767, PIC16F777 were programmed
2.0.1.2 14.08.2007 BugFix: fixed non working -t_prog option
2.0.1.1 01.08.2007 added PIC10F220 and PCI10F222 support
2.0.1.0 31.07.2007 added PIC10F200, PIC10F202, PIC10F204 and PIC10F206 support
2.0.1.0 31.07.2007 added return codes for application (can be used in batch files via errorlevel)
2.0.1.0 31.07.2007 fixed some small problems with output of memory dump
2.0.0.2 07.07.2007 added support for PIC18F2458, PIC18F2553, PIC18F4458, PIC18F4553
2.0.0.2 07.07.2007 added support for PIC16F882
2.0.0.2 07.07.2007 added configuration for EPIC Parallel Port Programmer
2.0.0.1 01.07.2007 added possibility to select programmer hardware and port
2.0.0.1 01.07.2007 added pin configuration for PICPgm USB Programmer
2.0.0.0 09.06.2007 whole DeviceID will be reported (lower 5 bits no are longer masked off)
2.0.0.0 09.06.2007 hardware configuration is stored in XML format
2.0.0.0 09.06.2007 added output control support for tri-state Clock/Data lines
2.0.0.0 09.06.2007 internal code optimization/resturcturing
1.8.9.1 05.03.2007 BugFix: programming of config word for PIC18Fxxxx devices failed sometimes
1.8.9.0 25.02.2007 added support for PIC16F883 / PIC16F884 / PIC16F886 / PIC16F887
1.8.8.0 14.02.2007 added support for PICPgm USB Programmer (FTDI245BL USB chip)
1.8.8.0 14.02.2007 added support for PIC16F737, PIC16F747, PIC16F767 and PIC16F777
1.8.8.0 14.02.2007 implemented ID location programming for PIC18F2xx0/2x21/2xx5/4xx0/4x21/4xx5 and PIC18FXX2/XX8 devices
1.8.8.0 14.02.2007 BugFix: Data EEPROM was not written correctly to HEX file after reading from the chip
1.8.7.2 03.01.2007 added support for PIC16F631, PIC16F677
1.8.7.2 03.01.2007 implemented ID location programming for 12fxxx and 16Fxxx devices
1.8.7.2 03.01.2007 BugFix: Corrected device ID of PIC18F2525 and PIC18F8585 for chip autodetection
1.8.7.1 31.12.2006 added support for PIC18F2423, PIC18F2450, PIC18F2523, PIC18F2682, PIC18F2685, PIC18F4423, PIC18F4450, PIC18F4523, PIC18F4682, PIC18F4685
1.8.7.0 29.12.2006 added support for PIC18F6527, PIC18F6622, PIC18F6627, PIC18F6722, PIC18F8527, PIC18F8622, PIC18F8627, PIC18F8722
1.8.7.0 29.12.2006 Changed autodetection algorithm because some devices of different chip families have the same device ID (e.g. PIC18F6722 and PIC16F690)
1.8.7.0 29.12.2006 added support for PIC16F913, PIC16F914, PIC16F916, PIC16F917, PIC16F946
1.8.7.0 29.12.2006 changed IdleMode() behavior for MCLR pin
1.8.6.1 20.05.2006 BugFix: HEX file was not closed after reading
1.8.6.1 20.05.2006 BugFix: Error while loading portio.sys driver was not reported
1.8.6.1 20.05.2006 BugFix: Corrected Flash memory length for PIC16F876A and PIC16F877A (was configured to 0x2000 instead of 0x4000)
1.8.6.0 19.02.2006 added PIC16F818 and PIC16F819 support
1.8.5.0 06.02.2006 changed LPT enumeration algorithm for Windows 9x/ME
1.8.5.0 06.02.2006 improved read timing
1.8.4.0 29.01.2006 added support for PIC16F627 and PIC16F628
1.8.3.0 15.01.2006 added support for PIC16F87 and PIC16F88
1.8.2.0 27.11.2005 "added ""Microchip AN589 Programmer"" support"
1.8.2.0 27.11.2005 CPU speed independend delay functions
1.8.2.0 27.11.2005 improved low level programming functions (corrected timing)
1.8.1.0 23.10.2005 added support for PIC16F627A, PIC16F628A and PIC16F648A
1.8.0.1 21.10.2005 added support for PIC16F84A
1.8.0.0 06.08.2005 programmer hardware settings are loaded from INI file (pgmhw.ini)
1.8.0.0 06.08.2005 "added support for ""El Cheapo PICmicro Programmer"" (not tested yet)"
1.7.0.0 18.07.2005 bugfix: hex files with addresses greater than 32k got truncated
1.7.0.0 18.07.2005 overworked masks for configuration word verifying for 18Fxxx PIC devices
1.7.0.0 18.07.2005 added support for PIC18F2221, PIC18F2321, PIC18F2410, PIC18F2420, PIC18F2480, PIC18F2510, PIC18F2515, PIC18F2520, PIC18F2525, PIC18F2580, PIC18F2585, PIC18F4221, PIC18F4321, PIC18F4410, PIC18F4420, PIC18F4480, PIC18F4510, PIC18F4515, PIC18F4520, PIC18F4525, PIC18F4580, PIC18F4585
1.7.0.0 18.07.2005 added support for PIC18F2331, PIC18F2431, PIC18F4331 and PIC18F4431 devices
1.6.1.0 06.05.2005 added support for PIC16F630 and PIC16F676
1.6.1.0 06.05.2005 added support for PIC12F635, PIC16F636, PIC16F639, PIC16F685, PIC16F687, PIC16F689 and , PIC16F690
1.6.0.0 05.05.2005 overwork of memory dump output
1.6.0.0 05.05.2005 fixed bug in data memory fill calculation (RecalcMemFill)
1.6.0.0 05.05.2005 fixed verify problems within configuration memory
1.6.0.0 05.05.2005 fixed bug in autodetection of PIC16F684, PIC16F688 and PIC12F683
1.6.0.0 05.05.2005 added support for PIC18F6585, PIC18F6680, PIC18F8585 and PIC18F8680
1.6.0.0 05.05.2005 added support for PIC18F6520, PIC18F6620, PIC18F6720, PIC18F8520, PIC18F8620 and PIC18F8720
1.5.0.2 20.03.2005 fixed bug in configruation memory programming for 18Fxxx devices
1.5.0.2 20.03.2005 fixed bug in EEPROM memory programming (only half of the EEPROM memory was programmed)
1.5.0.2 20.03.2005 improved OSCCAL handling (OSCCAL will be reprogrammed directly after erasing the device)
1.5.0.1 13.02.2005 bugfix: OSCCAL has not been read from correct address
1.5.0.1 13.02.2005 bugfix: JDM programmer support works now
1.5.0.0 05.02.2005 added JDM Programmer support
1.5.0.0 05.02.2005 improved autodetection algorithm for PIC devices
1.5.0.0 05.02.2005 added support for PIC18F2455, PIC18F2550, PIC18F4455 and PIC18F4550 (USB devices)
1.4.2.0 04.01.2005 fixed problem with reading of PIC and write to HEX-file
1.4.2.0 04.01.2005 programmer port info is being displayed
1.4.1.0 28.12.2004 added support for PIC16F684, PIC16F688 and PIC12F683
1.4.1.0 28.12.2004 code / data memory length is taken from device info
1.4.0.0 08.12.2004 added support for PIC18F2610, PIC18F2620, PIC18F2680, PIC18F4610, PIC18F4620, PIC18F4680
1.4.0.0 08.12.2004 enhanced allocation of resources
1.3.4.2 20.11.2004 Bugfix: fixed verify problems with PIC 18Fxx2 / 18Fxx8 devices
1.3.4.1 10.10.2004 bugfixes for PIC12F629/PIC12F675
1.3.4.1 10.10.2004 correct idle mode for all supported programmer interfaces
1.3.4.0 03.11.2004 "added support for ""Classic PIC Programmer"" by David Tait (High Voltage)"
1.3.4.0 03.11.2004 enhanced probing mechanism for pic programmer interface
1.3.4.0 03.11.2004 added PIC12F629/PIC12F675 support
1.3.4.0 03.11.2004 workaround for PortIO.sys load problem on first start
1.3.4.0 03.11.2004 set Data and Clock pin to high after exit of pic programmer, so that pins can be used on target with connected PGM connector
1.3.3.0 02.07.2004 added support for PIC18Fx220 and PIC18Fx230 devices
1.3.2.2 05.06.2004 added support for PIC16F87xA devices (new programming algorithm needed!)
1.3.2.1 05.06.2004 added support for PIC16F873A, PIC16F874A, PIC16F876A, PIC16F877A
1.3.2.0 21.05.2004 "added ""-savehex"" option"
1.3.1.0 30.11.2003 "added ""-no_verify"" option"
1.3.1.0 30.11.2003 speed up of programming and verify (only data which are in the hex-file are programmed and verifed)
1.3.0.2 22.11.2003 Set MCLR pin after programming finished, so that downloaded program can be executed. If a verify error occurs, program execution is not allowed, hence MCLR pin will not be set.
1.3.0.1 22.11.2003 Bugfix for PIC16F87x bulk erase problem
1.3.0.0 18.10.2003 added support for PIC 18Fxx2 / 18Fxx8 devices