Microchip Technology Inc

MPLAB® X Integrated Development Environment (IDE)

mplblgoMPLAB X IDE is a software program that runs on a PC (Windows®, Mac OS®, Linux®) to develop applications for Microchip microcontrollers and digital signal controllers. It is called an Integrated Development Environment (IDE), because it provides a single integrated "environment" to develop code for embedded microcontrollers.

MPLAB X Integrated Development Environment brings many changes to the PIC® microcontroller development tool chain. Unlike previous versions of the MPLAB IDE which were developed completely in-house, MPLAB X IDE is based on the open source NetBeans IDE from Oracle. Taking this path has allowed us to add many frequently requested features very quickly and easily, while also providing us with a much more extensible architecture to bring you even more new features in the future. 

Want MPLAB® X IDE on the go? Meet the Cloud based MPLAB® Xpress IDE

The award winning MPLAB® Development Environment is now more portable than ever! Simply navigate to mplabxpress.microchip.com from any compatible internet browser, and enjoy the streamlined MPLAB Xpress IDE without any downloads or installation.

More Information
Tabs / MPLAB® X

Features (Extended)

MPLAB® X IDE supports "One-Click"

"One Click" Make, Program, Debug / Execute operation. Unlike other IDEs where you build, have to connect to the hardware tool, program the target and then start your debug session.

Under MPLAB X it is all compiled into one action button. Run, Program, or Debug Run starts ‘Make’ which will check for changes and build any relevant updates, connect to the tool program the images and either start a debug session or start an execution of the programmed image. (There is also the option of doing these individually if the customer prefers).

Provides a new Call Graph for navigating complex codes

In order to navigate your code or understand a colleague’s code in addition to documentation the Call Graph provides a static call tree of all functions called from other functions. It can also be exported to a Portable Network Graphics (PNG) image.

Supports Multiple Configurations within your projects
A single project can now build the same set of source files in many different ways. Each “configuration” has its own compiler options, compiler, hardware tool, and target device.
Supports Multiple Versions of the same compiler

You can have as many versions of a compiler installed as you wish to work with. Each is identified by its own version. For any project, you can select the specific version of your choice. This enables you to use more than one instance of a compiler within the IDE at the same time.

Project configurations can be set to use an older version while trying a new release.

Support for multiple Debug Tools of the same type

MPLAB X IDE now allows you to have multiple debug tools connected to the computer at the same time. You can select which ever tool you desire for a specific project or configuration within a project (example: Programmer and Simulator in their own configurations). It provides the ability to debug more than one target at the same time using just one installation of MPLAB X IDE.

Supports Live Parsing

Live parsing means while you type in code if you enter something the C parser does not recognize it will flag it. Many times this allows you to fix code before even compiling.

Import existing MPLAB 8 IDE projects and use either IDE for the same source

You can import an existing MPLAB 8 project and develop the code from within either IDE. The same compiler and same debug tools are used so the code is still as production worthy as always. This flexibility allows you to use the MPLAB® X IDE without affecting your MPLAB 8 project.

Supports hyperlinks for fast navigation to declarations and includes

Using the CTRL key and mouse over a function, variable, macro, or include statement allows you to view its declaration. Clicking on the hyperlink will take you right to the source of declaration. Alternatively, you can right click on it and choose Navigate → Go to Declaration from the context menu to jump to its declaration.
Supports Live Code Templates

Within the IDE there are many existing code templates that can be accessed using a couple of letters then tab (or specified key). You can create your own templates, (even live templates) such that when you enter values into the template area, other areas of code are also populated. For example the 'func' active code template shown here. As you enter parameters in the comments, to document the function, the real function is also populated.
Supports the ability to enter File Code Templates with license headers or template code
The developer can select from a template file whenever he creates a new file to add source code to.
MPLAB X IDE can Track Changes within your own system using local history

Unsure of what changes you made to the software since the last version control update? Use the Local History utility to visualize changes made. Very useful for backtracking.
Within MPLAB® X IDE a user can configure their own Code Format Style

Either an individual or a company can set up a code format standard to be used within the editor. Just select the file to format the code in and menu Source>/Format to reapply the template to your source code.
Provides a Tasks Window which is a great way to keep track of those "loose ends" in your code

The Tasks operation, automatically scans your code and lists commented lines containing words such as "TODO" or "FIXME", (the words can be customized under options). Tasks provide a convenient way to keep track of important items you feel need addressing.
Shows Macro Expansions

Macros are incredible useful but sometimes they can have unexpected values if they are conditionally defined. This window allows you to see what the compiler will consume after the preprocessor is done. With the expansion view you see exactly what value they expand to. Also, blocks of code not to be compiled are omitted in the view. Also, in the editor window, MPLAB X shows you all the #ifdef/#endif blocks. It uses the comment color (grey by default) to show you sections that will not be included.
Now supports Configurable Memory views

You can change any memory view to look at any type of memory. Formats for those views are also selectable from the dropdowns. This allows a quick view change without going thru the menus.
Has a new "Project Status" window

Need one place to summarize you project? For convenience there is a single window that gathers all the relevant project information and its environment. Device name, Debug Tool, Language Build Tool, and Connection state are presented. The Memory section shows Total, Used and Reserved by Debug Tool for RAM and Flash memory. Checksum and Breakpoint (silicon resource) status is also shown. The Debug tool provides additional status for Device ID, firmware versions and voltages.
Allows you to attach a specific debugger tool firmware version to a project

With this feature you’ll never have to worry about which firmware version you were using. MPLAB will remember it and automatically restore it to the correct version when you connect to the debugger.

Just set it and forget it.

Now has two types of Disassembly Windows

Available only during a debug session and accessed through the Window>/ Debugging menu, this new Disassembly window shows the disassembled memory of the high-level language function in the scope of the current execution point of the debugger. It is extremely useful for debugging program execution at the assembly level.

In addition is the Disassembly listing window which is similar to the one provided in MPLAB IDE v8.x. It is available under the Window>/ Output menu. This window shows the disassembled code generated by the compiler for the current project. It interleaves the disassembled code with the original high-level language source code so it is possible to see what the compiler generates for each line of source code in the project. A project must be built with debugging information, since the display depends upon the debugging line table within the built project, in order to display data.

Provides a Software Call Stack window with function arguments
Use the Variables and Call Stack windows together to browse local variable history of each function in the call chain. Hint: The Variables window is docked at the bottom of the output pane to allow simultaneous interaction and display of the local variables with the selected function in the Call Stack window
Provides Focused Modes of the variables display

The variables window configured to show only variables used near the program counter location (cursor position). In this mode note that global variables used in the scope of the function can be displayed as well as local variables.

Variables window with display mode configured to show all variables defined in the scope of a function where the program counter is currently located. Notice that the two globally defined variables are excluded from the list in this mode.

Provides Auto-Completion

Save time entering programs, and ensure correctness using the MPLAB®X editor’s auto-completion features.
Provides Source Code Control built in

There are three flavors of configuration management source control already built into the new IDE. In addition others are provided through the NetBeans community.
Provides a Navigation Window which allows fast easy access to code

Save time navigating to particular locations in large code bases using the Navigation window. Use the context menu to filter out undesired types.
Supports a fully customizable workspace, and Multiple Screen support

You can customize the actions in the toolbars, minimize the windows to have them on side bars which will pop out. Undock any editor tab by dragging and dropping it outside the IDE. This will turn into an independent window that will allow moving onto a second screen.
Extend the IDE functionality with the MPLAB® IDE Plug-in manager

You can use the plug-in manager from the tools menu to add, remove or update sets of features for embedded programming, including a wide variety of NetBeans plug-ins (Change Case, Rectangular Edit Tools, Adobe reader, Clear Case Revision Control, plus many more. plugins.netbeans.org/PluginPortal). In addition Microchip hosts a plug-in portal for Microchip specifically developed plug-ins.
Date Published
Windows (x86/x64)
MPLAB® X IDE v4.15
642.0 MB
MPLAB® X IDE Release Notes / User Guide v4.15 2/23/2018
6.7 KB


Linux 32-Bit and Linux 64-Bit (Required 32-Bit Compatibility Libraries)
MPLAB® X IDE v4.15
617.5 MB
MPLAB® X IDE Release Notes / User Guide v4.15
6.7 KB
Mac (10.X)
MPLAB® X IDE v4.15
517.4 MB
MPLAB® X IDE Release Notes / User Guide v4.15
6.7 KB

Here are some of Microchip's Webinar presentations on the MPLAB® X IDE helping you get the information you need. Available in several convenient formats (streaming video, pdf downloads, etc.), this material is created and presented by engineers who value your time - most presentations take only 20 minutes: