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.

Watch a Video Tutorial

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.

Watch a Video Tutorial

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.

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.

Learn More Watch an Overview Video

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

Tabs / MPLAB Code Configurator
Features
Current Download
Archive Download
Documentation

MPLAB® Code Configurator Features

Easy to install MPLAB® X IDE Plugin
Easy to install MPLAB  X IDE Plugin

+ Click image to enlarge

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
The MPLAB<sup>®</sup> Code Configurator Plugin can be installed from the Tools/Plugins menu in the MPLAB  X IDE

+ Click image to enlarge

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
Easily select the peripheral to configure

+ Click image to enlarge

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
Integrate MPLAB<sup>®</sup> Code Configurator code into your existing project, or start a new project from scratch

+ Click image to enlarge

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
Integrate MPLAB<sup>®</sup> Code Configurator code into your existing project, or start a new project from scratch

+ Click image to enlarge

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
Quickly set configuration bits

+ Click image to enlarge

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
Generates standardized driver code

+ Click image to enlarge

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
Simple to Remove peripherals

+ Click image to enlarge

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
Retain your changes to generated code

+ Click image to enlarge

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
Easily configured GPIOs

+ Click image to enlarge

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
Configure the peripheral interrupts used by the system

+ Click image to enlarge

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
Configure pins used by peripherals

+ Click image to enlarge

 

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
Package view of the pin configuration

+ Click image to enlarge

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
Generate and use specialized drivers

+ Click image to enlarge

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

Title Version Date
Published
Release
Notes
D/L
Plug In
MPLAB® Code Configurator v3.36 7/11/2017
zip
zip
Device Libraries
PIC10/PIC12/PIC16/PIC18 v1.45 7/11/2017
pdf
zip
PIC24/dsPIC33/PIC32MM v1.35.1 7/11/2017
zip
zip
PIC32MX v1.35 4/6/2017
zip
zip
Microchip Software Libraries
8-bit Bootloader v2.2.0 11/04/2016
zip
zip
LIN v2.2 7/11/2017
zip
zip
mTouch® v2.00 5/12/2017
zip
zip
TCP/IP Lite Stack v2.1.1 1/11/2017
zip
zip
USB Framework Lite v1.25.2 7/11/2017
zip
zip
Crypto v1.0.0 8/09/2016
zip
LoRaWAN Beta v1.10 1/11/2017
pdf
zip
DAC v1.00 1/27/2017
pdf
zip
Temperature Sensor v1.00 1/27/2017
pdf
zip
UCS211xx v1.00 2/8/2017
pdf
zip
EERAM v1.00 7/11/2017
pdf
zip

Plug In Archive

Title Release
Notes
D/L
MCC v3.x
MCC v3.26.4
zip
zip
MCC v3.26.2
zip
zip
MCC v3.25
zip
zip
MCC v3.16
zip
zip
MCC v3.15
zip
zip
MCC v3.0.5
pdf
zip
MCC v2.25x
MCC v2.25.2
pdf
zip
MCC v2.25.1
pdf
zip
MCC v2.25.0
pdf
zip
MCC v2.10x
MCC v2.10.3
pdf
zip
MCC v2.10.2
pdf
zip
MCC v2.10.0
pdf
zip
MCC v2.0x
MCC v2.0.1
pdf
zip
MCC v2.0
pdf
zip
MCC v1.x
MCC v1.1
pdf
zip
MCC v1.0
pdf
zip

Library Archive

Title Version Release
Notes
D/L
Device Libraries
PIC10/PIC12/PIC16/PIC18 v1.36.1
pdf
zip
PIC10/PIC12/PIC16/PIC18 v1.36
pdf
zip
PIC10/PIC12/PIC16/PIC18 v1.26.1
zip
zip
PIC10/PIC12/PIC16/PIC18 v1.25
zip
zip
PIC10/PIC12/PIC16/PIC18 v1.16
zip
zip
PIC10/PIC12/PIC16/PIC18 v1.00
zip
zip
PIC24/dsPIC33/PIC32MM v1.35
zip
zip
PIC24/dsPIC33/PIC32MM v1.26.1
zip
zip
PIC24/dsPIC33/PIC32MM v1.26
zip
zip
PIC24/dsPIC33/PIC32MM v1.25
zip
zip
PIC24/dsPIC33/PIC32MM v1.15
zip
zip
PIC24/dsPIC33/PIC32MM v1.00
zip
zip
PIC32MX v1.25
zip
zip
PIC32MX v1.15
zip
zip
PIC32MX v1.00
zip
zip
Microchip Software Libraries
8-bit Bootloader v2.1.0
zip
zip
8-bit Bootloader v1.00
zip
zip
LIN 11/04/2016
zip
zip
LIN v2.00
zip
zip
mTouch® v1.11
zip
zip
mTouch® v1.10
zip
zip
mTouch® v1.00
zip
zip
TCP/IP Lite Stack v2.1.0
zip
zip
TCP/IP Lite Stack v2.00
zip
zip
USB Framework Lite v1.25.1
zip
zip
USB Framework Lite v1.25
zip
zip
USB Framework Lite v1.15
zip
zip
USB Framework Lite v1.0.1
zip
zip
USB Framework Lite v1.00
zip
zip
LoRaWAN Beta v1.0.0
pdf
zip

MPLAB® Code Configurator Video Channel