The table below indicates the elapsed real time in seconds from when a programming operation is initiated by the user until the the programmer ceases performing operations on the target. This includes any verification of the programmed data.
The Verify column indicates the number of verify passes performed by that programmer. Unless otherwise noted, two verify passes indicates the programmer verifies at both Vdd limits of the device, and one verify pass means the programmer verifies at the programming voltage or the supplied Vdd voltage.
There are two values for each target PIC type. The first is how long it takes to program an empty PIC and the second how long to program a full PIC. Empty means that all programmable bits are set to the erased state, even though they may be specified in the HEX file. Full means that all of program and data memory (when available) was programmed with random number sequences. This is intended to prevent any optimizations or compression of data, and should represent the worst case upper limit on programming time.
The purpose of the chart is to compare various PIC programmer products. It is therefore limited to programmers that are currently available to the general public or were in the past and therefore have an installed base. A programmer need not be for sale as a commercial product. For example, it could be a publicly available reference design.
The programming times listed in the chart are in seconds. Entries are blank if we have no information about that combination of programmer and PIC.
A number preceeded by a star (*) indicates the note of that number applies. The notes are listed below the table.
To be listed here, all test must be run using the same HEX files. Click on the link and unpack the ZIP file to get the HEX files used. For each PIC listed there are two files, one for the full case and one for the empty case.
Verify | 10F206 | 12F675 | 16F88 | 16F876 | 16F876A | 18F252 | 18F2520 | 30F3013 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EasyProg | 2 | 3.5 | 4.8 | 3.7 | 13.6 | 9.7 | 14.0 | 18.1 | 55.5 | 17.9 | 30.0 | 21.9 | 33.3 | 16.3 | 40.0 | 27.4 | 41.0 |
JDM *6 | 1 | 18 *7 | 35 *7 | 20 *7 | 23 *7 | 30 *7 | 40 *7 | 74 *7 | 78 *7 | ||||||||
Picstart+ | 1 | 20 *1 | 40 *1 | 151 *1 | |||||||||||||
ProProg | 2 | 3.9 | 5.3 | 10.7 | 15.3 | 19.4 | 56.9 | 19.3 | 33.1 | 25.1 | 39.9 | 19.7 | 29.4 | 38.9 | 57.0 | ||
Tait-style *2 | 6 *3 | 7 *3 | |||||||||||||||
Warp-13 | 1 | ||||||||||||||||
Wisp628 | 1 *4 | 1.58 *5 | 63.6 *5 |
Data provided by "Jinx" on the PIClist, 4 October 2005. Using Window XP Pro, 2.4GHz AMD Athlon processor, MPLAB 6.40, Picstart+ PUM firmare 2.4.
A Tait-style programmer uses the signals directly from a standard PC parallel port to control the PIC programming lines. It is not separately powered and contains no controller. The driving software toggles the individual parallel port lines directly. There are many variants of this programmer type, usually home built. Comparisons are difficult because they depend heavily on the operating system, parallel port driver (if any), and controlling software.
Data provided by Gaston Gagnon on the PIClist, 4 October 2005. Using PICALL / P16PRO version 0.15alpha dec 2003 software.
May not verify locations programmed to the erased state.
Data provided by Xiaofan Chen on the PIClist, 8 October 2005. Using Wisp628 1.09 firmware and xwisp2w 1.7.2 on Windows XP SP2 Professional, AMD64 3000+ (1.8GHz) PC with NForce 3 chipset.
Data provided by Denny Esterline on the PIClist, 8 October 2005. Using IC-Prog 1.05D and a "real" serial port on a 1.3 Ghz Athalon under Win98.
Comments: