Thursday , March 30 2017
Home / Embedded Systems / PIC Microcontroller / 8 Reasons Why You Should Switch to MPLAB X IDE

8 Reasons Why You Should Switch to MPLAB X IDE


The MPLAB X is an IDE for Microchip PIC microcontrollers. It has a lot of added features when compared to the older MPLAB IDE v8.xx. The MPLAB X is not a new version of the current MPLAB IDE v8 framework but is instead based on Oracle‘s open-source NetBeans platform.

Old habits die hard they say, that’s exactly what happens when you are migrating from one IDE to another for the same controller, you tend to have a hostile feeling. I still see some people have not switched over in spite of all the advertisement form Microchip. Here are 10 reasons (good reasons) why you should change to MPLAB X IDE.

In each of the sections I have added images which you can click to enlarge.

Docked workstation

mplab x IDE MPLAB X IDE has made a giant leap in terms of the docked workstation. This something that has to be marked as ‘the’ most important feature of the new IDE form Microchip. The older IDE had all the windows dangling around and was really not capable of handling projects with multiple files effectively. Here all the files of a project can be opened and tabbed.

Any window can be re sized to suit your need. You can also minimize all the windows to have only the code editor in the entire screen. The minimized windows appear as a popup and vanish after you are done with it.

Ease of use

mplab x icons

With this IDE you don’t have to remember the path of almost any tool. You can easily customize it to show in your front panel. The MPLAB X IDE already has all the frequently used tools in the front panel of the IDE. If you need more you could do so with a right click on the tools bar and choosing the customize option.

Auto completion

mplab x include header file The IDE has the auto complete feature that can be used to complete known header files and port pins without having to type it fully. As you start typing there is a box that drops down to have all the possible combination. You can ignore in and keep typing or choose one form the list. Since it shows all the list of possibilities, you will know if what you are doing is legal or not instantaneously.

If the header file or a port pin that you are trying to define does not exist, you will see a read mark on that line number indicating an error. This can be a little distinctive at first but you will get used to it soon.

Macro and Variable Grouping

Macro groupingThis is another new feature of the MPLAB X IDE. If you place your cursor on any variable or a macro, it highlights all the other instances of the same variable. It also shows an indication on the scroll bar on all the other instances in case of a long file.

This feature is really helpful in debugging or porting code. In the picture, I have placed my cursor on one the variable index and you can see all its instances are shown up in the highlight.

Live syntax checker

live code checkerThere is a syntax checker that is running in the background that interprets your code line by line and checks the correctness of the syntax and the logic. It is capable of detecting some very common errors such as, undefined variable, unused variable and syntax error.

This also reduces the total number of errors you might have at the end of the compilation. Simply put, you won’t have to correct a dozen typos and semi colons at compile time. In this example I have commented out the declaration of the variable index and you can how it reacts at all instances of index.

Dashboard Window

mplab x program dashboardThe dashboard window is another inclusion in the MPLAB IDE. It has various useful information such as the RAM and EEPROM usage. it also gives a gist of the project properties. If you are working with multiple families of the PIC Microcontroller, this window will help you quickly understand which toolchain and programmer you have configured without having to the project properties.

It has a launcher for the project properties window, and an icon to refresh the debugger/programmer tool status. Another great feature is the icon for the data sheet launch. You can see a small PDF image in the left of the image. If you have a datasheet directory, you can give the path to this icon for launching the datasheet PDF file.

One click Comment and Un-Comment of code

one click commentIf you are testing a project, the most conventional method is to disable all the modules (sets of code) and test individual module and then recombine them. For doing this, the comment and un-comment button on the code editor can be used. with one click you are able to comment out large parts of code and revert back by selecting the commented out portion and clicking the un-comment button.

Variable, headers and function Navigation

navigationThis is another feature excursively available in the MPLAB X IDE alone. When you hover your mouse over a file included or a macro defined or a variable used, with the CTRL key pressed, you get a hyper link that can be clicked to navigate through the project to the place of declaration or to the file itself in case of the header files.

In this example I’m having the mouse over the #include<Delays.h> line. You can see that there is a pop up window that shows the location of the file in the hard disk. This line is now linked to the location of the file Delays.h and you can open it by clicking on it.

To conclude, some times in life, you will have to leave thing and move on. Now is the time to move on the more advanced IDE for the PIC microcontroller from it’s manufacturers. Not all the modules available in the v8 have been ported into the MPLAB X IDE but most of it has been done and more are being done.

From what I read, microchip will stop support for v8 in the foreseeable future and you will anyways be forced to use the MPLAB X IDE. So it better be an action of choice than an action due to lack of options. In my upcoming post I will deal with the getting started with the MPLAB X IDE. Subscribe to our blog with your email and get our posts delivered to your inbox.

About Siddharth

Siddharth is a Firmware Engineer, techie, and a movie-buff. His interests include, Programming, Embedded Systems, Linux, Robotics, CV, Carpentry and a lot more. At times, you could see some of his sunday projects converge on release quality. You get to know him on the following social channels.

Check Also

Getting Started with PIC Microcontrollers

Having worked with any one Microcontroller, moving from one of its family to another is …

  • Nick F

    Here is one good reason NOT to switch to MPLAB X IDE: I can not find ONE bloody sample project for PIC16F628A or PIC16F84A that can be loaded to MPLAB X, compiled using a Microchip C compiler to get me going.

    I want to quickly put together a project that flashes two leds and reads an input and I can’t find any simple project. If I were not so stubborn, I would go back to asm programming and modify the previous projects. It’s more work in assembly, but hey – the shortest road is the road you know…

    My PICKit2 also does not seem to be functional in Windows 7 64bit, although it was recognised when plugged in and the drivers installed.

    Very frustrating to go through a huge learning curve with a new OS and new Microchip software…


    • Hi Nick,

      I have been working with PIC for 2 years now and honestly I have never looked for sample projects in the IDE. So I did not have any idea that there were no sample projects in MPLAB X IDE.

      If you do have sample projects for your preferred device in the old IDE you can always import those files into MPLAB X IDE with the “import legacy files” option in the welcome screen or using the Existing MPLAB v8 project option while creating a new project.

      The issue with Pickit 2 is due to file permissions in windows. Are you the administrator for the computer? Have you installed Pickit 2 for all users? If you are not sure, uninstall the software and re install it with the “install for all users” option.

      I hope you will change your mind about MPLAB X IDE. All the best.


  • MPLAB X is CRAP – I’m a newcomer to it, and it’s getting uninstalled tomorrow – change for the sake of change IS A JOKE. None of your “reasons” are substantial ones, sorry!

    • I could try to defend my statement but I see you have already made the decision. People have their own needs and desires. There are some issues with MPLAB X but nothing that I cant live without. Personally I liked it because it had a linux version. Hey, but the its just me.

  • That was a good read, thanks!
    Another good reason: you have the XC8 compiler, so you can write code for PIC16 devices, and on top of that I find the configuration bits code generator an extremely useful feature.
    I’ve had a lot of hassle in MPLAB 9 / HI-TECH C compiler with regards to writing configuration bits in software, now this doesn’t happen with the X version. Also, Linux support is great to have.

  • gopi krishna

    sir I want circuit for clearly

  • Raptor

    One big problem is that MPLAB X won’t allow you to import EEPROM data during programming. Unless it is actually written into your code to change the EEPROM memory values, they default back to their blank values. Unfortunately, my program uses too much space to allow me to add the additional code required to do this!

Keep in touch with the current trends!
Did you like this article? Sign up and get our latest posts delivered to your inbox!
  We hate spam and never share your details.