Microchip Technology Inc
Menu

MPLAB® Harmony v1.0

Legacy Harmony v1.XX includes a set of peripheral libraries, drivers, middleware and system services. For more information check the documentation below.

MPLAB Harmony v2.0X in its new form offers various feature additions and updates and is recommended for new application developments.

MPLABHarmonyBug
Tabs / MPLAB Harmony
Features
Downloads
Archived Downloads
Documentation
FAQs
Training/Getting Started
3rd Party Developers

MPLAB Harmony Features


Feature Description
The Framework

MPLAB Harmony is a framework of system services, device drivers, and other libraries that are built upon a base of portable peripheral libraries to provide flexible, portable, and consistent software "building blocks" that you can use to develop your embedded PIC32 applications.

TCP/IP Network Stack and WiFi support

The MPLAB Harmony TCP/IP Stack provides a foundation for embedded network applications by handling most of the interaction required between the physical network port and your application. It includes modules for several commonly used application layers, including HTTP for serving web pages, SMTP for sending e-mails, SNMP for providing status and control, Telnet, TFTP, Serial-to-Ethernet, and much more. In addition, the stack includes light-weight and high-performance implementations of the TCP and UDP transport layers, as well as other supporting modules such as IP, ICMP, DHCP, ARP, and DNS.

  • Multiple interfaces - Ethernet and/or Wi-Fi interfaces are supported
  • Dual stack with IPv4 and/or IPv6 support:
  • Fully dynamic:
  • Improved modularity and stack layout:
  • Run-time configuration through the TCP/IP console:
  • Interrupt driven operation
  • RTOS friendly, with easy RTOS integration:
  • The BSD layer compatibility has been greatly improved, new dynamic socket options have been added as well as IPv6 support.
  • Run time benchmarking support using standard industry tools - Iperf
  • The MPLAB Harmony file system (SYS FS) is used by the HTTP, FTP, SNMP, modules, among others. This makes the stack independent of the specific file structure of a particular media and allows web page storage on a multitude of storage media.
  • The stack uses the high performance MPLAB Harmony Cryptographic Library, which is a very efficient and modern implementation supporting the latest encryption and key exchanges algorithms
  • The stack security has been greatly improved by adding support of the modern wolfSSL TLS libraries
  • TCP/IP Network Stack and WiFi support

  • IGMPv3 support

Wi-Fi

The Wi-Fi software library, in conjunction with the MRF24WG0MA and MRF24WN0MA module, allows an application to:

  • Join an existing 802.11 Wi-Fi network
  • Create a 802.11 Wi-Fi network
USB Device Stack

The MPLAB Harmony USB Device Library (referred to as the USB Device Library) provides embedded application developers with a framework to design and develop a wide variety of USB Devices. A choice of Full Speed only or Full Speed and Hi-Speed USB operations are available, depending on the selected PIC32 microcontroller. The USB Device Library facilitates development of standard USB devices through function drivers that implement standard USB Device class specification. Custom USB devices can also be implemented via a USB Generic Device Driver. The USB Device Library is modular, thus allowing application developers to readily design composite USB devices. The USB Device Library is a part of the MPLAB Harmony installation and is accompanied by demonstration applications that highlight library usage. These demonstrations can also be modified or updated to build custom applications. The USB Device Library also features the following:

  • Support for different USB device classes (CDC, Audio, HID, MSD, and Generic)
  • Supports multiple instance of the same class in a composite device
  • Supports multiple configurations at different speeds
  • Supports full speed and high speed operation
  • Supports multiple USB peripherals (allows multiple device stacks)
  • Modular and Layered architecture
  • Supports deferred control transfer responses
  • Completely non-blocking
  • Supports both polled and interrupt operation
  • Works readily in an RTOS environment
USB Host Stack

The USB Host Layer in the MPLAB Harmony USB Host Stack performs the tasks of enumerating an attached device and interfacing the HCD. The following are the key features of the MPLAB Harmony USB Host Layer:

Host Layer:

  • Supports multi-configuration and composite USB Devices
  • Supports VID PID and class, subclass, and protocol devices
  • Can manage multiple USB devices through the Root Hub
  • Concise API simplifies application development
  • Modular architecture allows support for multiple (and different) USB controller in one application. Can operate multiple USB segments
  • Supports Low-Speed, Full-Speed, and High-Speed USB devices
Fixed-Point DSPk Math Libraries

The DSP Fixed-Point Library contains building block functions for developing digital signal processing algorithms. The library supports the Q15 and Q31 fractional data formats. The functions are implemented in efficient assembly specifically targeted at the DSP extensions in this core family. The library makes these functions available in a simple C-callable structure.

  • complex math
  • vector math
  • matrix math
  • digital filters
  • transforms
Graphics Library

The Graphics Library is a free, modular library optimized for Microchip microcontrollers. The library includes features such as alpha blending, gradient fills, and anti-aliased fonts. Applications can take advantage of these features to enhance the user experience while delivering performance required by the application

Cryptographic Library

This library provides a software Cryptographic Library that is available on the Microchip family of microcontrollers with a convenient C language interface. The Cryptographic Library includes functions to perform encryption, decryption, hashing, authentication, and compression within the embedded application. Random number generation (RNG) functions are also provided.

Block Ciphers - The library provides DES, 3DES, and AES for block cipher needs. Depending on the algorithm in use, CBC and CTR modes are supported.

Public Key Cryptography - The library provides RSA and Elliptic Curve Cryptography (ECC) for Public Key Cryptography, and Diffie-Hellman (DH) for key agreement arrangements.

Hash Functions - The library provides MD5, SHA, SHA-256, SHA-384, and SHA-512 for hashing. These functions do not require keys or initialization vectors (IV)

Random Number Generation Functions - The library provides functions to generate either a single pseudo-random number, or a block of such numbers.

File System

The File System service is a framework designed to support multiple file systems (native file system) and multiple media in the same application. Supported file systems are FAT12, FAT32, MPFS, and JFS. Each of these native file systems have a common set of APIs that can be used to access the files of that particular native file system.

  • Support for multiple file system (FAT, MPFS)
  • Supports multiple physical media (NVM, SD card)
  • More physical media can be interfaced with the FS, once the driver is available for the media
  • Modular and Layered architecture
Peripheral Library

Support for all PIC32 Devices and peripherals, including:

  • PIC32MX320_340_360_420_440_460
  • PIC32MX575/675/695/775
  • PIC32MX534/564/664/764
  • PIC32MX1XX/2XX
  • PIC32MX1XX/2XX (256 KB/64 KB)
  • PIC32MX330_350_370_430_450_470
  • PIC32MX320_340_360_420_440_460
  • PIC32MX1XX/2XX/5XX
  • PIC32MX1XX/2XX (256 KB/16 KB)
  • PIC32MZEC
  • PIC32MZEF
  • PIC32MK
  • PIC32MZ DA (Beta)
Drivers

Static and/or Dynamic drivers for the following peripherals: ADC, CMP, I2C, I2S, IC, NVM, OC, PMP, RTCC, SD, SPI, External Flash (SST25VF016B, SST25VF020B), Timer, UART.

System Services

MPLAB Harmony system services are responsible for managing shared resources so that other modules, such as drivers, middleware, and applications, do not conflict on shared resources.

Clock - This library provides an interface to manage the Oscillator module on the Microchip family of microcontrollers during different modes of operation.

Console - This service routes data or message traffic between a console device and a middleware layer or application. The most common use of the Console Service is to route debug or error messages from a PIC32-based device to a terminal program on a host development system.

Debug - This service provides a set of functions that allow the developer to output debug and/or error messages based on a global error level. The messages are sent to the System Console Service, where they are routed to a console device.

Device Control - This service provides the developer with simple APIs to configure and control device-specific functions.

DMA - This library provides an interface to interact with the DMA subsystem to control and manage the data transfer between different peripherals and/or memory without intervention from the CPU.

Interrupt - This service provides support for initializing the processor's interrupt controller, registering Interrupt Service Routines (ISRs) and managing interrupts. These features enable making efficient and dynamic applications, drivers, and middleware that respond to external events as they occur in real time.

Messaging - This library provides intra-process and inter-process communication by the sending and receiving of simple messages.

Ports - This library provides an interface to manage and control general purpose input or output ports controlled by the Ports modules

Random Number Generator - This System Service provides a simple C-language interface for generating random numbers at both pseudo-random and cryptographic strengths.

Reset – This service can be used to identify the reason for the most recent processor reset, manage the system's reset reason status flags, and even cause a reset under software control if the processor in use supports that functionality.

Timer - This library provides interfaces to manage alarms and/or delays.

WDT - This library provides a low-level abstraction of the Watchdog Timer peripheral.

 

Operating System Abstraction Layer (OSAL)

The OSAL provides the interface to commonly available Real-Time Operating Systems (RTOS) such that drivers and middleware (and optionally, applications) may be written using a single interface to a minimal set of OS-specific features needed to provide thread safety. The OSAL interface can be implemented appropriately to support almost any desired RTOS. For applications where no RTOS is available, or desired, a bare version of the OSAL supports either polled or interrupt-driven environments running directly on the hardware. This allows applications designed with the MPLAB Harmony stack to be executed in all three common embedded environments: polled (shared multi-tasking), interrupt-driven, or RTOS-based.

Support for the following RTOS:

  • FreeRTOS
  • OpenRTOS
  • µC/OS-III, µC/OS-II
  • ThreadX
  • embOS
MPLAB Harmony Configurator (MHC) Tool

MPLAB Harmony provides a MPLAB Harmony Configurator (MHC) MPLAB-X IDE plug-in that can be installed in MPLAB X IDE to help you create your own MPLAB Harmony applications. It supports configuration and code generation for all MPLAB Harmony components and 3rd party software (coming soon). Additional features:

  • Graphical clock configuration
  • Graphical Pin management
  • MPLAB Harmony® Graphics Composer and GRC integration

The Display Manager plug-in for MHC was added which includes the following features:

  • Automatically configures display drivers
  • 8-bit pallet support

  • WVGA double-buffer support

3rd Party Software

wolfSSL - A lightweight C-language-based SSL/TLS library targeted for embedded, RTOS, or resource-constrained environments primarily because of its small size, speed, and portability. wolfSSL supports industry standards up to the current TLS 1.2 and DTLS 1.2 levels, is up to 20 times smaller than OpenSSL, offers a simple API, an OpenSSL compatibility layer, OCSP and CRL, and offers several progressive ciphers. wolfSSL is under active development, and should be chosen over yaSSL when possible.

  • Segger emWin Pro Library: emWin from SEGGER Microcontroller GmbH & Co. KG, is a software graphics library that provides an efficient, processor and LCD controller-independent Graphical User Interface (GUI) for applications that operate with a graphical LCD. emWin provides a graphical user interface for a graphics application, that is independent of the LCD controller and CPU.

MPLAB Harmony Downloads


Title Date Published D/L
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.11 5/04/2017 ZIP
MPLAB® Harmony Release Notes and Contents (v1.11) 5/04/2017 ZIP
MPLAB® Harmony Release Brief v1.11 5/04/2017 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.11 5/04/2017 ZIP
MPLAB® Harmony Release Notes and Contents (v1.11) 5/04/2017 ZIP
MPLAB® Harmony Release Brief v1.11 5/04/2017 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.11 5/04/2017 ZIP
MPLAB® Harmony Release Notes and Contents (v1.11) 5/04/2017 ZIP
MPLAB® Harmony Release Brief v1.11 5/04/2017 ZIP

Before using MPLAB Harmony, ensure that the following development tools and plug-ins are installed:

Development Tools:

MPLAB X IDE plug-ins:

  • MPLAB Harmony Configurator v1.11.xx

MPLAB Harmony Archived Downloads


Title Date Published D/L
v1.10
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.10 1/19/2017 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.10) 1/19/2017 ZIP
MPLAB® Harmony Release Brief v1.10 1/19/2017 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.10 1/19/2017 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.10) 1/19/2017 ZIP
MPLAB® Harmony Release Brief v1.10 1/19/2017 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.10 1/19/2017 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.10) 1/19/2017 ZIP
MPLAB® Harmony Release Brief v1.10 1/19/2017 ZIP
v1.09
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.09 10/12/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.09) 10/12/2016 ZIP
MPLAB® Harmony Release Brief v1.09 10/12/2016 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.09 10/12/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.09) 10/12/2016 ZIP
MPLAB® Harmony Release Brief v1.09 10/12/2016 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.09 10/12/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.09) 10/12/2016 ZIP
MPLAB® Harmony Release Brief v1.09 10/12/2016 ZIP
v1.08.01
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.08.01 7/14/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.08.01) 7/14/2016 ZIP
MPLAB® Harmony Release Brief v1.08 6/16/2016 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.08.01 7/14/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.08.01) 7/14/2016 ZIP
MPLAB® Harmony Release Brief v1.08 6/16/2016 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.08.01 7/14/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.08.01) 7/14/2016 ZIP
MPLAB® Harmony Release Brief v1.08 6/16/2016 ZIP
v1.07.01
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.07.01 3/11/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.07.01) 3/11/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.07.01 3/11/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.07.01) 3/11/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.07.01 3/11/2016 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.07.01) 3/11/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
v1.07
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.07 2/23/2016 ZIP
MPLAB® Harmony Help File/Release Notes (v1.07) 2/23/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.07 2/23/2016 ZIP
MPLAB® Harmony Help File/Release Notes (v1.07) 2/23/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.07 2/23/2016 ZIP
MPLAB® Harmony Help File/Release Notes (v1.07) 2/23/2016 ZIP
MPLAB® Harmony Release Brief v1.07 2/23/2016 ZIP
v1.06.02
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.06.02 12/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06.02) 12/11/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.06.02 12/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06.02) 12/11/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.06.02 12/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06.02) 12/11/2015 ZIP
v1.06
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.06
Note: MPLAB X 3.06 or higher is required
08/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06) 08/11/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.06
Note: MPLAB X 3.06 or higher is required
08/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06) 08/11/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.06
Note: MPLAB X 3.06 or higher is required
08/11/2015 ZIP
MPLAB® Harmony Help/Release notes (v1.06) 08/11/2015 ZIP
v1.05
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.05
Note: MPLAB X 3.00 is required
06/19/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.05) 06/19/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.05
Note: MPLAB X 3.00 is required
06/19/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.05) 06/19/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.05
Note: MPLAB X 3.00 is required
06/19/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.05) 06/19/2015 ZIP
v1.04.02
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.04.02
Note: MPLAB X 3.00 is required
05/06/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.04.02) 05/06/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.04.02
Note: MPLAB X 3.00 is required
05/06/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.04.02) 05/06/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.04.02
Note: MPLAB X 3.00 is required
05/06/2015 ZIP
MPLAB® Harmony Release Notes and Contents (v1.04.02) 05/06/2015 ZIP
v1.04.01
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.04.01
Note: MPLAB X 3.00 is required
04/24/2015 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.04.01) 04/24/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.04.01
Note: MPLAB X 3.00 is required
04/24/2015 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.04.01) 04/24/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.04.01
Note: MPLAB X 3.00 is required
04/24/2015 ZIP
MPLAB® Harmony Help Files/Release Notes (v1.04.01) 04/24/2015 ZIP
v1.03.01
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.03.01 02/23/2015 ZIP
MPLAB Harmony Release Notes (V1.03.01) 02/23/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.03.01 02/23/2015 ZIP
MPLAB Harmony Release Notes (V1.03.01) 02/23/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.03.01 02/23/2015 ZIP
MPLAB Harmony Release Notes (V1.03.01) 02/23/2015 ZIP
v1.03
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.03 Archived Windows 01/30/2015 ZIP
MPLAB® Harmony Help and Release Notes (v1.03 Archived) 01/30/2015 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.03 Archived Linux/a> 01/30/2015 ZIP
MPLAB® Harmony Help and Release Notes (v1.03 Archived) 01/30/2015 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.03 Archived OS-X 01/30/2015 ZIP
MPLAB® Harmony Help and Release Notes (v1.03 Archived) 01/30/2015 ZIP
v1.02
MPLAB Harmony Integrated Software Framework v1.02 Archived OS-X 12/15/2014 ZIP
MPLAB Harmony Integrated Software Framework v1.02 Archived Linux 12/15/2014 ZIP
MPLAB Harmony Integrated Software Framework v1.02 Archived Windows 12/15/2014 ZIP
MPLAB Harmony Help and Release Notes (v1.02 Archived) 12/15/2014 ZIP
v1.01
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.01 11/14/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.01) 11/14/2014 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.01 11/14/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.01) 11/14/2014 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.01 11/14/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.01) 11/14/2014 ZIP
v1.0
Windows (x86/x64)
MPLAB® Harmony Integrated Software Framework v1.0 8/19/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.0) 8/19/2014 ZIP
Linux 32-Bit and Linux 64-Bit
MPLAB® Harmony Integrated Software Framework v1.0 8/19/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.0) 8/19/2014 ZIP
Mac (10.X)
MPLAB® Harmony Integrated Software Framework v1.0 8/19/2014 ZIP
MPLAB® Harmony Help Files / Release Notes (v1.0) 8/19/2014 ZIP

Before using MPLAB Harmony, ensure that the following development tools and plug-ins are installed:

Development Tools:

  • MPLAB X IDE v3.06
  • MPLAB XC32 C/C++ Compiler v1.40

MPLAB X IDE plug-ins:

  • MPLAB Harmony Configurator v1.06.xx

Documentation


MPLAB® Harmony

Title Date Published D/L
Using MPLAB® Harmony Help 07/24/2015 PDF
MPLAB® Harmony Help File/Release Notes 5/04/2017 PDF
MPLAB®Harmony Release Notes and Contents 5/04/2017 PDF
Microchip Compact MP3 Decoder Library User's Guide 11/13/2012 PDF
Board Support Packages (BSPs) 5/04/2017 PDF
Bootloader Library 5/04/2017 PDF
Crypto library 5/04/2017 PDF
Decoder Libraries 5/04/2017 PDF
Demo Applications 5/04/2017 PDF
MPLAB Harmony Development 5/04/2017 PDF
Driver Libraries 5/04/2017 PDF
Graphics Libraries 5/04/2017 PDF
Math Libraries 5/04/2017 PDF
Microchip MIB Compiler 5/04/2017 PDF
MPFS2 Utility 5/04/2017 PDF
MPLAB Harmony Configurator (MHC) and MPLAB Harmony Graphics Composer 5/04/2017 PDF
MPLAB Harmony Test Harness User's Guide 5/04/2017 PDF
Networking Presentation Layer 5/04/2017 PDF
OSAL Library 5/04/2017 PDF
Peripheral Libraries 5/04/2017 PDF
PIC32 Bluetooth Stack Library 5/04/2017 PDF
Prebuilt Libraries 5/04/2017 PDF
Sample Library 5/04/2017 PDF
System Service Libraries 5/04/2017 PDF
TCP-IP Stack Libraries 5/04/2017 PDF
Test Harness Lirary 5/04/2017 PDF
Third-Party Products 5/04/2017 PDF
Understanding MPLAB Harmony 5/04/2017 PDF
USB Libraries 5/04/2017 PDF
Volume I – Getting started with MPLAB Harmony 5/04/2017 PDF
Volume II – MPLAB Harmony Configurator (MHC) 5/04/2017 PDF
Volume III – MPLAB Harmony Development 5/04/2017 PDF
Volume IV – MPLAB Harmony Framework Reference 5/04/2017 PDF
Volume V – Third Party Products 5/04/2017 PDF
Volume VI – Utilities 5/04/2017 PDF
Brochures
Title Date Published D/L
MPLAB® Harmony Brochure 07/15/2015 PDF

InterNiche Technologies, Inc.

Embedded Library User Guides
Title Date Published D/L
embDUAL User's Guide for PIC32 8/23/2013 PDF
embFTP User's Guide for PIC32 9/19/2013 PDF
embHTTP User's Guide for PIC32 9/19/2013 PDF
embTCP User's Guide for PIC32 10/19/2013 PDF
embTelnet User's Guide for PIC32 10/19/2013 PDF
Source Code Product Briefs
Title Date Published D/L
Dual HTTP Server Bundle 8/23/2013 PDF
Dual SNMPv3 Bundle 9/19/2013 PDF
NicheStack Dual IPv4IPv6 9/19/2013 PDF
NicheStack IPv4 10/19/2013 PDF
TCPIP HTTP Bundle 10/19/2013 PDF
TCPIP SNMP Bundle 10/19/2013 PDF

WITTENSTEIN Product Brief

Title Date Published D/L
OpenRTOS pic32 family 7/17/2013 PDF

WolfSSL Product Brief

Title Date Published D/L
Embedded Security for Devices 07/2013 PDF

SEGGER emWIN

Title Date Published D/L
SEGGER emWIN users guide 02/22/2016 PDF

MPLAB Harmony Frequently Asked Questions


What is MPLAB® Harmony and MPLAB® Harmony Middleware ?
MPLAB® Harmony is more than just libraries and middleware; it is a revolution in Microchip's approach to creating software. It is a new process for software design, development, testing and documentation. It consists of a set of peripheral libraries, drivers, system services, middleware, and third-party code that will make it easier to create all types of applications. It comes with examples that show proper abstraction and use of the new software tools, such as device drivers, that is new to the Microchip software development platform. The code is written in a highly reusable format, MPLAB® Harmony will save everyone using it significant time and effort. As a direct result of the MPLAB® Harmony process, users now have the capability of running more than one stack or more than one instance of a stack interface at a time. MPLAB® Harmony also creates standard Application Programmer Interfaces (APIs), and naming conventions to improve consistency and ease of use. MPLAB® Harmony implements an Operating System Abstraction Layer (OSAL), which allows seamless integration of commercial RTOS such as FreeRTOS, Micrium and others.
 
What are the major differences between MLA and MPLAB® Harmony?
MPLAB® Harmony is the next generation microchip libraries designed from the beginning to be modular and interoperable with and without a RTOS.

MLA does not include:

  • Integrated RTOS support
  • Integrated 3rd party software
  • Run time peripheral instantiation
 
At what point should a client use MPLAB® Harmony instead of MLA ?

Note: 8-and 16-bit applications will NOT be initially supported by MPLAB® Harmony. These applications will continue to use MLA for the foreseeable future.The full release of MPLAB® Harmony is targeted for v1.00 release in 1st Half 2014. PIC32 designs starting before the MPLAB® Harmony v1.00 release will have the following options:

  • PIC32MX devices – MLA
  • PIC32MX, PIC32MZ – MPLAB® Harmony

It is recommended that users use MPLAB® Harmony for all new designs starting after the MPLAB® Harmony v1.00 launch. MLA will be archived for all existing PIC32MX products.

 
Will there be any license agreements and/or fees associated with MPLAB® Harmony or specific MPLAB® Harmony functions?
Microchip's standard USB, GFX, TCP/IP, and peripheral driver support for MPLAB® Harmony will be available free of charge in the same way as MLA, In some cases, new capabilities or features may not be offered for free. MPLAB® Harmony will run without a RTOS; however, if a user chooses to include a RTOS, they will need to address those costs separately. For example, freeRTOS is available as part of install package, but users needing OpenRTOS will have to purchase the license from microchipDIRECT
 
Will MPLAB® Harmony be downloadable as one file or can a customer choose MPLAB® Harmony modules and stacks to download individually?
Current plans are to have a single download of MPLAB® Harmony in the same way as MLA is downloaded. It will include a number of standard / working projects so users can get started right away. However, the MPLAB® Harmony is a framework and there is no reason we cannot later distribute individual libraries or stacks separately, to be inserted into that framework, or to support demonstration and development systems. We are also exploring GUIs, which will simplify customization and configuration, including selection of desired modules and features.
 
How is MPLAB® Harmony support provided?
Support for MPLAB® Harmony Beta version is provided by an exclusive users forum and by the Microchip global support channel. This forum is monitored and maintained by Harmony developers, field sales and experts.
 
How to obtain the 3rd party solutions related to MPLAB® Harmony
Microchip re-sell's and licenses to selected 3rd party solutions compatible with MPLAB® Harmony. Additional software is continuously being added to this list
 
Who provides the support for 3rd party MPLAB® Harmony solutions
Front linesupport is provided by Microchip for 3rd party solutions that are puchased through Microchip
 
What are the PIC32 product families supported by MPLAB® Harmony
All PIC32 families are supported by MPLAB® Harmony
 
Are there migration guides to assist in transitioning from MLA to MPLAB® Harmony middleware?
Yes. Download the file \"MPLAB® Harmony Help Files\/Release Notes\" and refer to the individual framework sections for applicable Porting Applications Guides
 

Interested in getting to know more about Harmony?

Here are some training links that can help you get started.


For Developers


If you have a great idea for embedded software that will enhance the MPLAB® Harmony engineer's experience or fill a technological need, then Microchip has everything you need to get started. This is your opportunity to open new avenues of business for you and your company by becoming an MPLAB Harmony third-party software provider, just like other leading software and operating system providers. This page contains the tools you need to build a set of solutions that other MPLAB Harmony developers worldwide can use to make the next generation of embedded products.

Getting Started

Are you ready to start developing with MPLAB Harmony? These guides will help you design your own software offering for MPLAB® Harmony:

Other Things to Check Out

  • For more information on MPLAB X IDE, including where to download the tools, check out the MPLAB Design Center.
  • Find out more about PIC32, Microchip's industry-leading 32-bit architecture, by going to here.
  • Microchip partners with select software providers as part of our MPLAB® Harmony Premium Third-Party Solutions program. Go here to find out more.

Tell Us About Your Project

Do you have an MPLAB® Harmony project that you want other developers to hear about? Are you interested in becoming a featured MPLAB® Harmony Software Provider? We want to hear from you! Tell us more about you and what you're working on. We can't wait to hear about the great software that you are developing for PIC32 devices. We may even feature you in one of the many ways that we connect with our developer audience.

Contact Information

Please fill out your contact information below.
Name*
 
 

MPLAB Harmony