MPLAB® Harmony v3 Libraries

This page describes the packages that make up the MPLAB® Harmony software development framework. These packages are found in the MPLAB Harmony GitHub repository and can be downloaded using the MPLAB Harmony 3 Framework downloader.

Package Name Description Example Function Names
audio Contains a variety of audio-related firmware projects that demonstrate the capabilities of the MPLAB Harmony audio offerings, drivers for hardware codecs that can be connected to development boards (e.g. WM8904 Codec Daughterboard), and a Board Support Package (BSP) Audio Template that can be used to make configuring a new audio project a matter of just a few mouse clicks. DRV_WM8904_Initialize
DRV_WM8904_BufferAddRead
DRV_WM8904_VolumeSet
bootloader Can be used to upgrade the firmware on a target device without the need for an external programmer or debugger. bootloader_Trigger
bootloader_Start
run_Application
bsp Board Support Package (BSP) defines the name of the evaluation board and the name of switches and LEDs on the board. It also defines the attributes of the pins connected to the switches and LEDs (e.g.: data direction).
bt Bluetooth-related firmware projects that demonstrate the capabilities of the MPLAB Harmony Bluetooth offerings, drivers for Bluetooth modules that can be connected to development boards (e.g. BM64 Bluetooth Module Daughterboard), and a BSP Bluetooth Template that can be used to make configuring a new Bluetooth project a matter of just a few mouse clicks. DRV_BM64_Open
DRV_BM64_BufferAddRead
DRV_BM64_VolumeSet
CMSIS-FreeRTOS Cortex Microcontroller Software Interface Standard (CMSIS) FreeRTOS. By default, when Harmony 3 core or middleware libraries are used, the MPLAB Harmony Configurator (MHC) automatically includes FreeRTOS in order to provide more efficient use of the CPU. (RTOS use can still be disabled manually.)
core Provides drivers and system services that have advanced capabilities and a higher level of abstraction that gives better hardware independence. The drivers and services provide abstracted interfaces that do not change from device to device. Peripheral Library (PLIB) interfaces, while providing lower overhead and more direct control, give no such guarantee. Applications written using driver and service APIs do not usually need to be modified if the device configuration is changed or even if a new Microchip MCU or MPU device is selected. This package also implements the Operating System Abstraction Layer (OSAL). DRV_USART_Initialize
DRV_USART_ReadBuffer
DRV_I2C_Initialize
DRV_I2C_ReadTransfer
SYS_TIME_TimerCreate
SYS_TIME_TimerCounterGet
OSAL_Malloc
crypto 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. The library provides DES, 3DES, and AES for block cipher needs. Depending on the algorithm in use, CBC and CTR modes are supported. CRYPT_RNG_Initialize
CRYPT_RNG_Get
CRYPT_ECC_KeySizeGet
CRYPT_SHA256_DataAdd
csp Chip Support Package (CSP) supports initialization of Microchip 32-bit SAM and PIC® microcontroller and microprocessor devices. The peripheral libraries (PLIB) allow the development of simple applications that directly control the SAM and PIC peripherals. UARTx_Initialize
UARTx_Read
TMRx_Start
TMRx_Stop
TCx_TimerStart
TCx_TimerStop
PORT_PinSet
PORT_PinRead
dev_packs Describes all peripherals, memory, etc… of each supported 32-bit device.
gfx Contains the Aria Graphics library, the MPLAB Harmony Graphics Composer (MHGC) plug-in, the Display Manager plug-in. It also includes a simple quickstart application (Aria Quickstart) that provides a touch-enabled starting point for Aria Graphics development. GFX_ActiveContext
GFX_Set
GFXU_StringFontIndexLookup
gfx_apps Contains all other (non-quickstart) Aria Graphics Library demonstration projects
mhc Contains the implementation of the MPLAB Harmony Configurator (MHC) tool.
micrium_ucos3 This repository contains MPLAB Harmony configurations and applications for the Micrium OS-III. Micrium OS-III software is not included and must be downloaded separately.
motor_control This module contains motor control demonstrations implemented on Microchip's 32-bit SAM microcontrollers. You can use these demonstrations as a reference for developing your own motor control applications. It also includes the X2C-Scope plug-in for the MPLAB® X IDE. X2C-Scope enables you to read, write, and plot global variables (for motor control) in real time. It communicates with the target using the UART.
net Contains the MPLAB Harmony 3 Network Package (Net). The Net repo provides a free fast to market TCP/IP stack for Microchip 32-bit SAM and PIC microprocessor devices. The repo contains multiple applications that demonstrate communication over TCP/IP using well-known protocols like TCP, UDP, HTTP, SMTP, etc. TCPIP_STACK_Status
TCPIP_STACK_NetIsReady
TCPIP_TCP_ArrayPut
touch The Touch Library is a royalty-free library for developing touch applications on 32-bit microcontrollers with a Peripheral Touch Controller peripheral. You can use it to integrate the touch-sensing capability into your applications. The library supports both self-capacitance and mutual-capacitance acquisition methods.
usb The USB module components provide USB middleware and drivers. It also includes a variety of USB-related firmware projects that demonstrate the capabilities of the MPLAB Harmony USB stack. USB_DEVICE_Attach
USB_DEVICE_EventHandlerSet
USB_HOST_CDC_AttachEventHandlerSet
wolfssl wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3.
© 2019 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.