Microchip Technology Inc
 
Menu
 

MPLAB® Code Configurator

MPLAB® Code Configurator (MCC) is a free, graphical programming environment that generates seamless, easy-to-understand C code to be inserted into your project. Using an intuitive interface, it enables and configures a rich set of peripherals and functions specific to your application.

MPLAB Code Configurator supports 8-bit, 16-bit and 32-bit PIC® microcontrollers. MCC is incorporated into both the down-loadable MPLAB X IDE and the cloud based MPLAB Xpress IDE.

Three Ways to Get MCC

It's easy to add MPLAB Code Configurator to your development environment. Just choose one of the following options:

Option 1: Use MPLAB Xpress cloud-based IDE

MPLAB Xpress is the easiest way to get started using MCC. It’s browser-based, so all you need to do is visit microchip.com/Xpress to get started.

Option 2: Install the MPLAB X IDE plugin

If you already have the free, downloadable MPLAB X IDE installed, all you have to do is select MCC from the software’s extensive plugin library. If you don’t already have the MPLAB X IDE on your machine, you can get it HERE.

Option 3: Manually install the MPLAB X IDE plugin

If you wish to use a previous version of MCC, or if you prefer to manually install the plugin, please use the “Current Download” and “Archive Download” tabs at the bottom of this page.

270x270mcclogo

MPLAB Code Configurator Features

  • Free Graphical Programming Environment
  • Intuitive Interface for Quick Start Development
  • Automated Configuration of Peripherals & Functions
    • Minimized reliance upon product datasheet
    • Reduces overall design effort & time
  • From Novice to Expert...
    • Accelerates generation of production ready code

MCC Supports click boards

To help you bring your ideas to life even faster, we’ve added quick-start software libraries for MikroElektronika click boards into MCC. Now, you can easily incorporate sensing, control, or communication functionality to your prototype design without the stress and hassle of low level code development and validation.

Here's what our customers have to say...

"It was quite easy. You could graphically see what you wanted to do and then go in and decide how you wanted to set things up and it took care of all the details." 
- Kevin Rochford, Senior Principal Engineer, Autoliv

"We use the MCC all the time. It allowed us to do in 2 hours what took several days of digging through datasheets in the past."
- Patrick Marcus, President, Marcus Engineering

"I had five peripherals running in less than 30 minutes and this was the very first time I used this tool." 
"I have configured registers by hand and I can safely say this program saves at least 90% of project startup time."
- Craig Beiferman, Electrical/Software Engineer, Universal Laser Systems

"It was the tool I was looking for to speed up development with new boards."
- Saul Ollenides, General Electric

Easy to install MPLAB® X IDE Plugin
+
fig1a_small

All plug-ins are free, available and ready to install once MPLAB® X IDE has been installed. Just follow the simple steps below to not only see all the available plug-ins but to install the MPLAB Code Configurator. 

  1. Select the 'Tools' menu, and click on 'Plugins'
  2. In the MPLAB X IDE Plugins window, click the 'Available Plugins' tab
  3. Select MPLAB Code Configurator and click 'Install'
Provides a list of available peripherals
+
fig1small
The graphical user interface displays all of the available peripherals for the device in the Device Resource area. Simply click on the peripheral you want to add to the project. The peripheral moves to the MCC Project Resources area, and is ready to be configured to your project's requirements. 
Easily select the peripheral to configure
+
fig2

The MPLAB Code Configurator Project Resource area displays all of the peripherals currently configured for the project. By selecting a peripheral here, the peripheral is ready to be configured in the Composer area. 

In the Project Resource area, the System module is always present. The System module simplifies the setting of Configuration Bits, and configuring the system clock. 

Integrate MPLAB Code Configurator code into your existing project, or start a new project from scratch
+
fig3small
Using MPLAB® Code Configurator you can add code for a peripheral to your existing project, or you can use MPLAB® Code Configurator to get you started on a new project. If MPLAB® Code Configurator detects a main.c file already in the project, it will not create one. You only need to add two lines to your main.c file to start using the generated drivers. If your project does not have a main.c, MPLAB® Code Configurator will create one for you. 
Integrated with MPLAB X IDE
+
fig4small
The code generated by MPLAB® Code Configurator is automatically added to your project. When a peripheral is added to MPLAB Code Configurator and the generated code, the new files and code are automatically added to the project. All of the MPLAB X IDE features work with code generated by MPLAB Code Configurator, like auto-completion, and code navigation. 
Quickly set configuration bits
+
fig5small
The System Clock and Configuration Bits can be quickly configured in the Composer area. The system clock rate configured here, will automatically be used by MPLAB® Code Configurator to calculate timer periods, duty cycles, and baud rates as required by other peripherals. 
Generates standardized driver code
+
fig6small
MPLAB® Code Configurator generates custom standardized driver code based on the selections made in the Composer area. This is real code that is automatically added to your project. The code can be debugged, edited, and reviewed, just like any other code. It can be modified manually, or reconfigured in the MPLAB® Code Configurator Composer window and regenerated. 
Simple to Remove peripherals
+
fig7
Removing a peripheral is simple. Any device in the Project resource area can be removed from the project by clicking on the X to the right of the peripheral. 
Retain your changes to generated code
+
fig8small

Code generated by MPLAB® Code Configurator can be edited like any other code. The generated code is real code! If you choose to modify the code after it is generated you are free to do so. But what happens if you also change the configuration in MPLAB Code Configurator and generate the code again? No problem. MPLAB Code Configurator detects your changes and displays a comparison window that allows you to select whether to keep your changes, or the newly generated code. 

Your code is shown on the left, and the newly generated code is shown on the right. Navigation buttons at the top let you move to each difference found. An arrow along the center margin allows you to copy your changes into the generated code. 

Easily configured GPIOs
+
fig9small

Port pins can be configured as GPIO pins simply by clicking on the Pin Manger. Every pin can be given a custom name. That name is then used in the Pin Manger display, and in the generated code. 

The direction of a pin, input or output, as well as the starting value, can be configured in a few clicks. For input pins the weak pull-up (WPUE), and the interrupt on change (IOC) can also be configured. 

Configure the peripheral interrupts used by the system
+
fig10small
Easily change the order in which interrupt service routines are called in the Interrupt Manager. Select a peripheral interrupt and click on the up or down arrow to set the execution priority. 
Configure pins used by peripherals
+
fig11small
When a peripheral is added to the Project Resources area, the pins associated with the peripheral are displayed in the Pin Manager. Clicking on a pin in the Pin Manger locks that pin to the selected peripheral. 
Package view of the pin configuration
+
fig12small
The Pin Manger includes a package view of the device showing the configuration of the pins. When pins are assigned custom names in MPLAB® Code Configurator, the package view display the custom name. The package view can be copied and printed for use in other documentation. 
Generate and use specialized drivers
+
fig13small
Specialized peripheral drivers focus on specific functions of a peripheral. For example the MSSP can be used for I2C or SPI. Both of those functions can be used a Master or a Slave. The MPLAB® Code Configurator provides specialized drivers to let you focus on the desired function of a peripheral instead of requiring you to configure the individual control registers. 

Current Version

TitleVersionDate PublishedRelease NotesD/L
MPLAB® Code Configurator3.55.14/5/2018
TitleVersionDate PublishedRelease NotesD/L
MCP19XXXX1.12/13/2018
PIC10 / PIC12 / PIC16 / PIC18 MCUs1.65.24/4/2018
PIC24 / dsPIC33 / PIC32MM MCUs1.543/28/2018
PIC32MX MCUs1.354/4/2017
TitleVersionDate PublishedRelease NotesD/L
47XXX I2C EERAM1.0.211/29/2017
8-bit Bootloader2.2.3110/31/2017
CoAP1.0.08/4/2017
Crypto1.0.08/9/2016
DAC1.001/25/2017
Foundation Services0.1.2310/17/2017
I2C EEPROM1.0.04/5/2018
LIN2.25/24/2017
LoRaWAN01.10.00_beta12/23/2016
MCP794XX I2C RTCC1.007/18/2017
MikroElektronika Click1.0.2610/13/2017
TCP/IP Lite Stack2.2.87/13/2017
Temperature Sensor1.001/25/2017
UCS211x1.12/13/2018
USB Framework Lite1.25.62/28/2017
mTouch® Capacitive Sensing2.402/9/2018
Fact Sheets
Title Date Published Size D/L
Instructions
Title Date Published Size D/L
helloWorld Application Lab Jul 22, 2015 1.5 MB