Project Types


MPLAB X provides several different project types to accommodate a variety of scenarios, each of which is described below. The steps involved in creating each of the project types differs slightly. Links to step-by-step instructions for each of the project types are provided below in their respective sections.

MPLAB X Integrated Development Environment (IDE) is a project based environment, which means that a project must be created in order to do anything useful with the IDE. There are several different project types available to cover a wide variety of needs, all of which are discussed below, each with a link to a step-by-step tutorial.

If you are simply trying to program a device from a hex file, you might want to consider the MPLAB X Integrated Programming Environment (IPE) instead. While the IDE is fully capable of doing this, it is not necessarily the program best suited to the task. The IPE was designed with a simpler interface for use in production programming environments.

1 Microchip Embedded


Standalone Project

Step-by-Step Instructions:
Create a Standalone Project

This is the type of project you will create the majority of the time. Standalone projects compile (or assemble) down to hex files that may be directly programmed into a PIC® microcontroller and executed.

Depending on your level of experience, you may wish to create a Template Project instead.

Click image to enlarge.


Existing MPLAB IDE v8 Project

Step-by-Step Instructions:
Import an Existing MPLAB IDE v8 Project

This kind of project is essentially an import wizard that helps you to bring a project that was created in MPLAB IDE version 8 into MPLAB X. The new MPLAB X IDE project will share the source files with the MPLAB IDE v8 project so that you may work on the code from either IDE. However, their project settings will be completely independent of one another. Once imported, the project will behave like a standalone project.

Click image to enlarge.


Prebuilt (Hex, Loadable Image) Project

Step-by-Step Instructions:
Import a Hex File

Because MPLAB X IDE is project based, everything you can do must be done to a project. So, in order to import a hex file (to program it into a device for example), a project wrapper must be created first. The wizard will ask you just a few basic questions and then automatically create the project wrapper around the hex file.

If you are only interested in programming a target device, you may want to consider using the MPLAB X Integrated Programming Environment instead.

Click image to enlarge.


User Makefile Project

Step-by-Step Instructions:
Create a User Makefile Project

This kind of project allows you to use your own, custom makefile rather than the one that is generated automatically by the IDE. In all other respects it behaves as a standalone project.

Click image to enlarge.


Library Project

Step-by-Step Instructions:
Create a Library Project

A library project is similar to a standalone project, except the the code is compiled (or assembled) down to a series of object files. The link step is skipped, so no hex file will be generated. Instead, the librarian is invoked and all object files generated by the project will be added into a library / archive file that may be included in any project that uses a compatible device with the one used to generate the library.

For more information on why and how to use libraries, please see the Working with Libraries topic.

Click image to enlarge.

2 Other Embedded


Existing IAR Embedded Workbench Project

Click image to enlarge.

3 Samples


Template Project

Step-by-Step Instructions:
Create a Project Using a Template

Click image to enlarge.
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.