Creating Projects and Project Types in the MPLAB® X IDE

Last modified by Microchip on 2023/12/11 21:34


MPLAB® X Integrated Development Environment (IDE) 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 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 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.

Embedded Projects

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.

create standalone project

Existing MPLAB X IDE v8 Project

This kind of project is essentially an import wizard that helps you to bring a project that was created in MPLAB X 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.

create an mplab 8 import project

Prebuilt (Hex, Loadable Image) Project

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.

create a prebuilt project

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.

create a makefile project

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 "Libraries in the MPLAB X IDE" page.

create a library project

Back to top

Other Embedded Projects

Existing IAR Embedded Workbench Project

An IAR Embedded Workbench Project allows you to import a .ewp file directly into the MPLAB X IDE environment and creates a native project for future use.

create an IAR import project

Back to top

Sample Projects

Template Project

A Template Project is a standalone project where you can choose a pre-defined project designed for a specific device.

create a template pjoject

Back to top