Release Notes for MPLAB® PM3
Device (Production) Programmer

MPLAB® X IDE v1.95

DLL and Firmware versions:

 PM3 Suite (OS, FW)   v02.15.21  (pm3021521.mjc)


October 29, 2013


Table of Contents

1       Device Support

2       Other Support

3       Reference Documents

4       What's New in v1.95

5       Repairs and Enhancements in v1.95

6       Autorun

7       Known Problems

8       Important Notes

9       Socket Support

10     Tested SD/MMC Cards

11     Definitions

12     Declaration of Conformity

1      Device Support

Click the link below to see device support for the programmer (PM3).

·         Device Support List

2      Other Support

See the Readme for MPLAB X IDE.htm for other support information.

3      Reference Documents

The following documents may be found on our website:

·         Using MPLAB PM3 Programmer for MPLAB X IDE

·         MPLAB PM3 User's Guide for MPLAB X IDE (Help Only)

·         Development Tools Design Advisory (DS51764)

·         Programming Specifications for devices (various DS numbers)

·         Development Tools Selector (

On-line help may be found in MPLAB X IDE under Help>Help Contents.

4      What's New in v1.95

·         ICSP now supports UNI/O devices on RoHS MPLAB PM3 units.

5      Repairs and Enhancements in v1.95



Device Affected


Devices may be missing from the PM3 parts list on the PM3 in Stand-Alone mode



Preserve Flash on Program' and Preserve EEPROM on Program' selection in the MPLAB 8 IDE PM3 Settings box does not transfer to the MPLAB PM3 in standalone mode.

PIC16F1783, but possibly others


6      Autorun

To automatically load an environment into the PM3 at power-up, Autorun can be used on a memory card (PM3Card).  Create a file called at the root directory level of the memory card and include these commands in the file:


LOAD <Environment Path>\<Environment Name>



For example, if an environment has been saved on the memory card (PM3 Card) called PIC18F4321 in directory PIC18F4321, the following lines should be placed in the file:


LOAD PIC18F4321\PIC18F4321.pm3



Note: Make sure there are no leading or trailing spaces on the command line or the command will not be recognized.

7      Known Problems

The following is a list of known problems. For information on common problems, error messages and limitations please see “Troubleshooting” in the online help file for MPLAB PM3.

7.1       Loss of Communication

·         The MPLAB PM3 does not timeout if a communication error is received. If this occurs, turn the power to the MPLAB PM3 off then on. Disable and then Enable the MPLAB PM3 within MPLAB X IDE.

7.2       MPLAB X IDE

·         Once address ranges are set in the Programmer Settings dialog, Program tab, the settings will stay set and not revert to default values after an operation.

7.3       GENERAL

·         SST devices are not supported on non-roHS MPLAB PM3 units.

·         With PIC18F8xxx devices set in boot block processor mode, memory past the boot block range is not accessible. Therefore, verifying after the boot block range will fail in this mode. In microprocessor mode, all of program memory will fail a verify. In some devices, configure and ID memory will also fail.

·         For ICSP of PIC18Fxx20 and dsPIC30F devices, you must connect the AVDD and AVSS pins for the devices to program.

·         ICSP programming of dsPIC devices may require a short cable and/or impedance matching resistors for optimal speed. On some of the smaller pin count devices, crosstalk between the PGD and PGC does not allow the device to get into ICSP mode. Keep the cable length under 6 inches and/or place 100ohm resistors in-line with the PGD and PGC signals to minimize the crosstalk.

·         The OS Suite that has been released with the MPLAB X IDE version installed on the workstation must be used for programming. If not, conflicts can occur between the MPLAB X IDE and the MPLAB PM3 firmware detected on the programmer.

·         If you encounter a problem with downloading an MPLAB PM3 BIOS using a USB connection, under certain conditions, an MPLAB PM3 may lose communication with the PC during the BIOS download. If this occurs, the MPLAB PM3 screen will appear blank upon restart. At this point, the new BIOS may be downloaded using MPLAB X IDE through a Serial Port connection.

·         Programming issue on the PIC16C5X – The PM3 may have difficulty programming the 16C5X device. To work around this issue, place 0.1uf cap on both Vdd to ground and Vpp to ground. In addition, connect the device ground pin to the system ground located on the socket module. Turn the socket module over and find connector P1. The bottom pin on the inside edge of the connector is ground. Make sure to ground the associated ground pin of the device to system ground.

·         There are some cases in which PIC16C5X devices failed to program due to excessive current sink at Vpp/MCLR pin. Please refer to ETN 28 found on for further information.

·         For the PIC18F14K22 family, MPLAB X IDE debug/programming tools will not work below 1.9v. The work-around is to run the device above 1.9v.

·         PIC18F2520 MCUs: Table Read Protect (EBTRx) will not work unless Code Protect (CPx) is enabled. Also, once Table Read Protect is enabled, you cannot perform a Verify on the protected block.

7.4       dsPIC33FJxxGSxxx Devices

Programming issue on dsPIC33FJxxGSxxx devices (dsPIC33FJ16GS502, dsPIC33FJ16GS402, dsPIC33FJ16GS504, dsPIC33FJ16GS404, dsPIC33FJ06GS101, dsPIC33FJ06GS202, dsPIC33FJ06GS102) – MPLAB PM3 may experience difficulty programming dsPIC33FJxxGSxxx devices using PM3 socket modules. This is due to the high current required by these devices during the initial power-up and the current limit from the PM3 socket module pin drivers.  A work-around for this limitation is to program these devices in-circuit (ICSP), using the PM3 14-Pin ICSP connector. For more information on the ICSP connector/configuration, please consult the MPLAB Online Help.

7.5       Issues



Device Affected


After performing a READ on the PM3 with a code protected device, the PM3 shows "Protected csum disabled". The checksum should appear after a READ.

dsPIC33EP512MC506, 33EP512MU810


SST devices are currently not able to be programmed on older MPLAB PM3s, P/N 10-00359.

SST25VF020B, SST25VF040B


"Hex file that may not contain all addresses imported into PM3CMD may differ from what is imported into the MPLAB IDE.

Workaround - Import the file into MPLAB IDE and perform a File Export of the hex file from MPLAB IDE to obtain a formatted, linear hex file.



For the PIC32 devices, several options are not saved in the PM3 environment, such as 'Preserve Flash on Program', and the Boot flash. After loading the environment, please enable the appropriate selections on the PM3 stand-alone until this issue can be repaired.



A warning message appears"PM3 is unable to read device - Current operation is aborted", after creating an environment if the device is not connected when the environment is loaded.

Any devices


PM3CMD does not save the '/w' setting to an Environment



"PM3CMD -Exporting a Serial EE memory hex file results in a hex file that is separated by 0x00

All SEE memory devices


When performing LVP programming, programming fails when using power from target



PIC16F877A can't range program Program Memory when "erase all before programming" is unselected.



PIC17C756 and PM2 socket module AC174007 (with adapter) does not work with this device. It reads back wrong values.



PIC16F88 does not erase/blankcheck when voltage settings are set below 4.5V.



There is an increase in time required to load an environment from PM3 CARD from 3 seconds to 13 seconds.



When loading environment from MPLAB PM3 card settings such as Memory Regions, Memory Range do not get loaded properly into MPLAB IDE.



AC164322 Rev 1 socket is missing resistors R2 and R6 on bottom of socket.

This only applies to 10-00367-22 Rev 2 if there are no 0-ohm resistors at R2 and R6.


1. Locate the Reference designators R2 and R6 at the bottom of the socket.

2. Solder 2 0-ohm (0805 size) resistors across the R2 and R6 pads.

3. Clean excess solder.



PIC18C252 programmed hex file differs from read hex file due to unimplemented bits being read as 1's instead of 0's. This should not cause any problem since these bits are ignored during programming.



"Programming Memory is getting erased regardless of the state of the 'Erase before Programming' checkbox.

PIC18F87J50 family


The PIC16F88 is not erasing below 4.5V.



SIGN' configuration bit reported after an Erase of a code protected device and attempting to verify that it was blank



Load Environment: No error message displayed if the environment selected does not match the device selected in the MPLAB IDE



ICSP mode fails to program/verify the PIC24FJ128GA010 device when user code does runtime flash erase /write operation. It appears the device is executing code before the full programming cycle is complete.

For PIC24F devices during a programming/verify operation (or subsequent verification operation) of user code that performs self-writes and/or self-erases to program space, a verify sequence may fail if the code execution occurs within the first execution cycles following reset.

Workaround: Place a delay in your code before the code section that performs the self-write and/or self-erase.

The specific delay value may need to be adjusted, but 100 ms would be a conservative value to start out with. Here is a C language example that illustrates the workaround:


int main (void)



    // Place 100 ms delay here before any self-write/self-erase code


        .       .       .

        .       .       .

        .       .       .





PIC18F24J10:  Fails to Erase/Program (Revision 2 motherboard issue). If you experience this Revision 2 Motherboard problem, please contact Microchip for hardware replacement.



 The PIC10Fxxx, PIC12F510 and PIC16F506 support programming down to 2.25 volts. Programming below this voltage may cause the program memory and calibration data to be improperly programmed.



 Some devices require that a .1uF bypass capacitor be placed from the VDD pin to the VSS pin of the device to successfully program the device. If programming failures still arise, try increasing this value incrementally to a maximum of 10uF. The parts affected are:

PIC16F737      PIC16F747     PIC16F767       PIC16F777

PIC16F818      PIC16F819     PIC18F1220     PIC18F1320

PIC18F2220    PIC18F2320   PIC18F2331     PIC18F2431

PIC18F2410    PIC18F2420   PIC18F2455     PIC18F2480

PIC18F2510    PIC18F2515   PIC18F2520     PIC18F2525

PIC18F2550    PIC18F2580   PIC18F2585     PIC18F2610

PIC18F2620    PIC18F2680   PIC18F4220     PIC18F4320

PIC18F4331    PIC18F4431   PIC18F4410     PIC18F4420

PIC18F4455    PIC18F4480   PIC18F4510     PIC18F4515

PIC18F4520    PIC18F4525   PIC18F4550     PIC18F4580

PIC18F4585    PIC18F4610   PIC18F4620     PIC18F4680




8      Important Notes

8.1       Checksums

Please see the MPLAB X IDE readme for any important updates on checksums.

8.2       MCP Devices

MCP devices are now supported. Hex files for MCP CAN extenders can be created in two ways using the .ASM and .INC files available from Microchip FAEs, CAEs or applications engineers:

1)     Select the appropriate values for each parameter in the .ASM file and assemble it using MPASMX. The potential values for each parameter are listed in the .INC file. Import the resulting hex file and program the device.


2)     Choose values for each parameter in the GUI (graphical user interface) and generate the hex file. Import the resulting hex file and program the device.

8.3       USB Port Setup

MPLAB X IDE will install the USB device drivers for you. However, if you have previously used MPLAB X IDE v8 or below, you should read “MPLAB X IDE v8 Users – IMPORTANT” on the Start page.


9      Socket Support

Refer to the Development Tools Selector (DTS) located on the Microchip web site (

10   Tested SD/MMC Cards

Microchip is continuing to test MMC and SDMMC cards from various manufacturers. At the time of this release, we suggest using cards greater than 16 MB.

The following SDMMC and MMC cards have been tested with the MPLAB PM3:






1 GB



128 MB



64 MB



32 MB & 128 MB



64 MB



32 MB



512 MB



128 MB



128 MB



256 MB



256 MB



128 MB


Ultra II SD

256 MB


Microchip does not support FAT32 and FAT12 formatted cards. MPLAB PM3 will reformat non-supported formats to FAT16.

11   Definitions


An image encompasses all the information needed to program a device. MPLAB X IDE first transfers an "image" to the MPLAB PM3 before it verifies or programs a device. In addition, when you read a device you are creating an image on MPLAB PM3 which later will get transferred to MPLAB X IDE.

MPLAB PM3 Operating System (OS)

The MPLAB PM3 OS (aka Firmware) is the suite of machine code that allows the programmer to operate much like Windows is to your PC. MPLAB X IDE will automatically alert the user when a new upgrade is available.


The MPLAB PM3 Device Programmer uses a new concept called an MPLAB PM3 Environment. An Environment is a snapshot of the current programming settings for a specific device. It contains all the necessary information to recreate the current programming state, including a binary image of the device’s memory data, links to an optional SQTP file, and specific part information. When an Environment is saved, a folder is created on the selected drive on a PC or on the removable MPLAB PM3 Card.

See the MPLAB PM3 User's Guide for more information.

12   Declaration of Conformity


Microchip Technology Inc.

2355 W. Chandler Blvd.

Chandler, Arizona 85224-6199


hereby declare that the product:



complies with the following standards, provided that the restrictions stated in the operating manual are observed:

Standards: IEC 61010-1 Safety requirements for electrical equipment for measurements, control and laboratory use.

Standards: IEC 61326-1  Electrical equipment for measurement, control and laboratory use - EMC requirements

Microchip Technology, Inc.

12 November 2003


Important Information Concerning the Use of the MPLAB PM3


Due to the special nature of the MPLAB PM3 programmer system, the user is advised that it can generate higher than normal levels of electromagnetic radiation which can interfere with the operation of all kinds of radio and other equipment.

To comply with the European Approval Regulations therefore, the following restrictions must be observed:

  1. The system must be used only in an industrial (or comparable) area.
  2. The system must not be operated within 20 meters of any equipment which may be affected by such emissions (radio receivers, TV´s etc.).