# MPLAB devices

The MPLAB series of devices are programmers and debuggers for Microchip PIC and dsPIC microcontrollers, developed by Microchip Technology.
The ICD family of debuggers has been produced since the release of the first Flash-based PIC microcontrollers, and the latest ICD 3 currently supports all current PIC and dsPIC devices. It is the most popular combination debugging/programming tool from Microchip.
The REAL ICE emulator is similar to the ICD, with the addition of better debugging features, and various add-on modules that expand its usage scope. The ICE is a family of discontinued in-circuit emulators for PIC and dsPIC devices, and is currently superseded by the REAL ICE.

## MPLAB ICD

The MPLAB ICD is the first in-circuit debugger product by Microchip, and is currently discontinued and superseded by ICD 2. The ICD connected to the engineer's PC via RS-232, and connected to the device via ICSP.
The ICD supported devices within the PIC16C and PIC16F families, and supported full speed execution, or single step interactive debugging. Only one hardware breakpoint was supported by the ICD.

## MPLAB ICD 2

The MPLAB ICD 2 is a discontinued in-circuit debugger and programmer by Microchip, and is currently superseded by ICD 3. The ICD 2 connects to the engineer's PC via USB or RS-232, and connects to the device via ICSP.
The ICD 2 supports most PIC and dsPIC devices within the PIC10, PIC12, PIC16, PIC18, dsPIC, rfPIC and PIC32 families, and supports full speed execution, or single step interactive debugging. At breakpoints, data and program memory can be read and modified using the MPLAB IDE. The ICD 2 firmware is field upgradeable using the MPLAB IDE.
The ICD 2 can be used to erase, program or reprogram PIC MCU program memory, while the device is installed on target hardware, using ICSP. Target device voltages from 2.0V to 6.0V are supported.

## MPLAB ICD 3

The MPLAB ICD 3 is an in-circuit debugger and programmer by Microchip, and is the latest in the ICD series. The ICD 3 connects to the engineer's PC via USB, and connects to the device via ICSP. The ICD 3 is entirely USB-bus-powered, and is 15x faster than the ICD 2 for programming devices.
The ICD 3 supports all current PIC and dsPIC devices within the PIC10, PIC12, PIC16, PIC18, dsPIC, rfPIC and PIC32 families, and supports full speed execution, or single step interactive debugging. At breakpoints, data and program memory can be read and modified using the MPLAB IDE. The ICD 3 firmware is field upgradeable using the MPLAB IDE.
The ICD 3 can be used to erase, program or reprogram PIC MCU program memory, while the device is installed on target hardware, using ICSP. Target device voltages from 2.0V to 5.5V are supported.
The ICD 3 has over-voltage protection in the probe drivers to guard against power surges from the target. All lines have over-current protection. The ICD 3 can also provide power to a target, up to 100 mA.

## MPLAB REAL ICE

The MPLAB REAL ICE (In-Circuit Emulator) is a high-speed emulator for Microchip devices. It debugs and programs PIC and dsPIC microcontrollers in conjunction with the MPLAB IDE, while the target device is "in-circuit". The REAL ICE is significantly faster than the ICD 2, for programming and debugging.
The REAL ICE connects to the engineer's PC via a USB 2.0 interface, and connects to the target device via ICSP (PGC/PGD programming pins), typically using a RJ11 connector. LVDS is also available for high-speed data transfer between the device and the REAL ICE. MPLAB REAL ICE is field upgradeable through firmware downloads in MPLAB IDE.
The REAL ICE supports 8-bit devices (PIC10, PIC12, PIC16, PIC18), 16-bit devices (PIC24, dsPIC) and 32-bit devices (PIC32MX).

### Performance Pak

The REAL ICE Performance Pak is an optional add-on to the REAL ICE, that consists of a High Speed Probe Driver and Receiver that employ two CAT5 cables. Debug pins are driven using LVDS communications, and the additional trace connections allow high speed serial trace uploads to the PC.

### Isolator

The REAL ICE Isolator is an optional add-on to the REAL ICE, that enables connectivity to AC and High-voltage applications not referenced to ground. Control signals are magnetically or optically isolated providing up to 2.5 kV equivalent isolation protection. The isolator acts as an isolated bridge, where signals are passed through with complete transparency to the MPLAB REAL ICE or MPLAB IDE.

## MPLAB ICE2000

The MPLAB ICE2000 is a discontinued in-circuit emulator for PIC and dsPIC devices. It has been superseded by the REAL ICE.
The ICE2000 connects to the engineer's PC via a parallel port interface, and a USB converter is available. The ICE2000 requires emulator modules, and the test hardware must provide a socket which can take either an emulator module, or a production device.

## MPLAB ICE4000

The MPLAB ICE4000 is a discontinued in-circuit emulator for PIC and dsPIC devices. It has been superseded by the REAL ICE. The ICE4000 is no longer directly advertised on Microchip's website, and Microchip states that it is not recommended for new designs.
The ICE4000 connects to the engineer's PC via a USB 2.0 interface. PIC devices under debug with the ICE4000 ran at full speed, and the emulator supported unlimited breakpoints, and complex break/trigger logic. The emulator supported multiple external inputs and external outputs to sync with other instruments.