A Typical Development Setup
Most development setups consist of three main components:
- A computer running the MPLAB® X Integrated Development Environment
- A programmer / debugger such as one of the following:
- A target board with your PIC® microcontroller of choice. This could be something like:
- Your own hardware
- A Microchip demonstration board
- A third-party demonstration board
- A breadboard

This setup enables you to develop code, program a device, and debug your code in-circuit. It provides you with the greatest amount of flexibility in terms of supported devices since the programmer / debugger tools support the entire range of flash-based PIC microcontrollers and several demonstration boards support entire PIC microcontroller families.
Starter Kits and Microsticks
If you are on a budget or want to evaluate a particular device or device family for possible use in an application, Starter Kits and Microsticks provide an economical and convenient means to get the job done. These tools effectively combine the programmer / debugger and the target device and board into a single unit. While some of them provide a means of expansion into a more full development tool chain, they are limited to the target device that comes on the board. However, the target device is usually the "superset" member of a device family, allowing code developed for it to be used on several other similar devices.
Which Programmer / Debugger Is Right For Me?
While the PICkit 3, ICD3 and Real ICE share a common base feature set, they don't all support every debug feature available. The PICkit 3 is the lowest cost member of the programmer /debugger family and supports the basic debugging functions that developers use most of the time. The ICD3 adds some intermediate debugging features to support more complex debugging tasks. The Real ICE is the flagship debugging tool, offering all the features of the other two tools while adding sophisticated trace and log functions as well as the ability to view variable values in real or near real time.
| Feature (Clickable Links) |
PIC10F PIC12F PIC16F |
PIC16F1x |
PIC18F |
dsPIC30F |
PIC24F |
PIC24H dsPIC33F |
PIC32MX |
|
|
|
| Trace Data & Program Flow | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| Runtime Watch | ✘ | ✔ | ✔* | ✘ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| Software Breakpoints | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Break on Address or Data Match | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Break on Data Fetch or Write | ✘ | ✔* | ✔* | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Pass Counter | ✘ | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Stopwatch | ✘ | ✔* | ✔* | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| WDT Overflow | ✘ | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Run, Halt | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Single Step | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Hardware Breakpoints | 1 | 1-3 | 1-3 | 1-4 | 1-6 | 1-6 | 1-6 | ✔ | ✔ | ✔ |
| Peripheral Freeze on Halt | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
* Does not apply to all members of family
For the latest device information, from the MPLAB X START Page…
Go to the User’s Guide > Release Notes > Device and Feature Support > Hardware Tool Debug Features by Device

