An all-in-one debugger/programmer solution the MPLAB® ICD 2 is a low cost, real-time debugger and programmer for selected PIC®
MCUs and dsPIC® DSCs. Using Microchip Technology's proprietary In-Circuit Debug functions, programs can be downloaded,
executed in real time and examined in detail with the debug functions of MPLAB. Set watch variables and breakpoints from symbolic
labels in C or assembly source code, and single step through C source lines or into assembly code. MPLAB ICD 2 can also be used
as a development programmer for supported MCUs.
The secret behind In Circuit Debugging is two dedicated hardware lines (microcontroller pins used only during debugging mode) that
control In Circuit Serial Programming™ (ICSP™) of the device and, afterwards, debugging through proprietary, on-chip firmware. The
ICD 2 debug features are built into the microcontroller and activated by programming the debug code into the target processor. There is
some shared overhead expense that includes one stack level, some general purpose file registers and a small area of program
memory when in the debug mode.


  • USB (Full Speed 2 M bits/s) & RS-232 interface to host PC
  • Real time background debugging
  • MPLAB IDE GUI (free copy included)
  • Built in over-voltage/short circuit monitor
  • Firmware upgradeable from PC
  • Totally enclosed
  • Supports low voltage to 2.0 volts. (2.0 to 6.0 range)
  • Diagnostic LEDs (Power, Busy, Error)
  • Reading/Writing memory space and EEDATA areas of target microcontroller
  • Programs configuration bits
  • Erase of program memory space with verification
  • Peripheral freeze-on-halt stops timers at breakpoints

The MPLAB ICD 2 connects using USB or RS-232 between the design engineer's PC operating with MPLAB IDE and their product
board (target) being developed. It acts as an intelligent interface/translator between the two, allowing the engineer to look into the active
target board's microcontroller, viewing variables and registers at breakpoints with MPLAB watch windows. A breakpoint can be set to
halt the program at a specific location. The program can be single-stepped or run at full speed. At breakpoints, data and program
memory can be read and modified. Additionally, the MPLAB ICD 2 can be used to program or reprogram the Flash-based
microcontroller while installed on the board.

Kit Part Number

MPLAB ICD 2 module, an ICD interface cable and USB cable

Notes about MPLAB ICD 2 Headers
Some 8-, 14- and 18-pin devices use small header boards with a special MCU for debugging. This special MCU has extra pins for ICD
2 communication and therefore allows the use of all pins on the part for the application. The header board is not used or needed for
programming. However, when debugging these devices the header must be used. See the "MPLAB ICD 2 Header Information"
document below.