There are many other parts of ModusToolbox™ software that are provided as middleware libraries. You do not need to use these libraries directly. When you create a ModusToolbox™ application, the system downloads all the libraries your application needs to take full advantage of the various features of our devices. A ModusToolbox™ application can use different libraries based on the Active BSP. If you wish to add various libraries to your application, use the Library Manager tool.
The following tables provide brief descriptions about the libraries available and links to the various repos. Refer to the ModusToolbox™ run-time software page for more details about how these libraries are used in the ModusToolbox™ ecosystem.
Device families
PSOC™ Edge
PSOC™ Control
| Library |
Details |
Docs |
| mtb-hal-pc3 |
Hardware Abstraction Layer for PSOC™ Control. |
API reference |
| mtb-pdl-cat1 |
The Peripheral Driver Library (PDL) integrates device header files, startup code, and low-level peripheral drivers into a single package. |
API reference |
| recipe-make-cat1b |
This repo provides the build recipe make files and scripts for building and programming PSOC™ Control C3 applications. |
Release notes |
PSOC™ 4, PMG
| Library |
Details |
Docs |
| mtb-hal-cat2 |
PSOC™ 4 Hardware Abstraction Layer package, provides a set of APIs to initialize, configure, and use the PSOC™ 4 MCU resources using the defined Hardware Abstraction Layer. |
API reference |
| mtb-pdl-cat2 |
The Peripheral Driver Library (PDL) integrates device header files, startup code, and low-level peripheral drivers into a single package. |
API reference |
PSOC™ 6, CYW20829, TRAVEO™ II, XMC7000
| Library |
Details |
Docs |
| cat1cm0p |
Arm® Cortex®-M0+ prebuilt images enabling flash write services and Bluetooth® Low Energy event handling. |
README |
| mtb-hal-cat1 |
The PSOC™ 6 Hardware Abstraction Layer package provides a set of APIs to initialize, configure, and use the PSOC™ 6 MCU resources using our defined Hardware Abstraction Layer. |
API reference |
| mtb-pdl-cat1 |
The Peripheral Driver Library (PDL) integrates device header files, startup code, and low-level peripheral drivers into a single package. |
API reference |
XMC1000, XMC4000
| Library |
Details |
Docs |
| mtb-xmclib-cat3 |
The XMC peripheral library (XMC Lib) consists of low-level drivers and CMSIS startup code for the XMC product family peripherals. |
API reference |
CYW43907, CYW54907
| Library |
Details |
Docs |
| mtb-hal-cat4 |
Hardware Abstraction Layer package, provides a set of APIs to initialize, configure, and use the CYW43907/CYW54907 resources using the defined Hardware Abstraction Layer. |
API reference |
Drivers and Core Middleware
| Library |
Details |
Docs |
| core-lib |
Header files that declare basic types and utilities (such as result types or ASSERT) that can be used by multiple BSPs. |
API reference |
| cmsis |
used by application or middleware to link CMSIS Core headers |
README |
| freertos |
FreeRTOS kernel, distributed as standard C source files with configuration header file, for use with the PSOC™ 6 MCU. |
FreeRTOS webpage |
| freertos-posix |
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. freertos-posix implements a small subset of the POSIX threading API. |
POSIX API Reference |
| command console |
Provides a framework to add command console support to the application (or) product use cases. |
API reference |
| csdadc |
Enables the ADC functionality of the CAPSENSE™ Sigma-Delta (CSD) hardware block. Useful for devices that do not include other ADC/IDAC options. |
API reference |
| csdidac |
The same, for IDAC functionality. |
API reference |
| emeeprom |
The Emulated EEPROM library provides an API to manage an emulated EEPROM in flash. It has support for wear leveling and restoring corrupted data from a redundant copy. |
API reference |
| emfile |
A FAT16/32 filesystem for embedded systems supporting SPI NOR flash and SD card. |
User guide |
| emusb-host |
CPU-independent USB Host stack. |
API reference |
| emusb-device |
Enables easy integration of USB functionality into an embedded system. |
API reference |
| usbdev |
The USB Device library provides a full-speed USB 2.0 Chapter 9 specification compliant device framework. |
API reference |
| littlefs |
A little fail-safe filesystem designed for microcontrollers. |
README |
| mtb-littlefs |
Provides a set of block device drivers for use with the littlefs file system. |
API reference |
| abstraction-rtos |
Abstraction layers provide APIs that allow different libraries to interact with each other without having to know specific details about a given library. This library provides a common API that allows code or middleware to use RTOS features. In the ModusToolbox™ Library Manager, this library is listed under "Abstraction Layer." |
API reference |
| clib-support |
The CLib FreeRTOS support library provides the necessary hooks to make C library functions such as malloc and free thread safe. |
API reference |
| retarget-io |
Provides a board-independent API to retarget text input/output to a serial UART on a kit |
API reference |
| serial-flash |
Provides a board-independent API to use the serial flash on a kit |
API reference |
| mtb-stl |
Provides functional safety APIs to implement overall safety of a system that depends on automatic protection suitable for using in industrial environments and home appliances. |
README |
ModusToolbox™ for Connectivity
| Library |
Details |
Docs |
| aws-iot-device-sdk-embedded-C |
Collection of C source files under the MIT open source license that can be used in embedded applications to securely connect IoT devices to AWS IoT Core. |
README.md |
| aws-iot-device-sdk-port |
Contains the port layer implementation for the MQTT and HTTP Client libraries to work with the AWS-IoT-Device-SDK-Embedded-C library on PSOC™ 6 MCU based platforms with network connectivity. |
API Reference |
| azure-c-sdk-port |
Implements the port layer for the Azure SDK for Embedded C to work on PSOC™ 6 MCU based platforms with network connectivity. |
API reference |
| azure-sdk-for-c |
Allows small embedded (IoT) devices to communicate with Azure services. |
README |
| http-client |
Provides the HTTP Client implementation that can work on the PSOC™ 6 MCU platforms with Wi-Fi connectivity. |
API reference |
| http-server |
Provides communication functions for an HTTP server. |
README |
| lpa |
The Low Power Assistant (LPA) is a library and associated settings in the ModusToolbox™ Device Configurator that allow you to configure a PSOC™ 6 Host and WLAN (Wi-Fi / BT Radio) device for optimized low-power operation. |
API reference |
| mqtt |
This library includes the open source AWS IoT device SDK embedded C library plus some glue to ensure seamless MQTT cloud connectivity. |
API reference |
| secure-sockets |
The Secure Sockets library eases application development by exposing a socket like interface for both secured and non-secured socket communication. |
API reference |
| connectivity-utilities |
General purpose middleware connectivity utilities, for instance a linked_list or a json_parser. |
API reference |
| ota-update |
Provides support for Over-The-Air update of the application code running on a PSOC™ 6 MCU with AIROC™ CYW4343W or CYW43012 Wi-Fi & Bluetooth® combo chip, using Wi-Fi or Bluetooth®. |
API reference |
| netxduo |
Advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications. |
README |
| memfault-firmware-sdk |
An SDK responsible for working with Memfault device monitoring, debugging and OTA management platform. |
External README |
| golioth-firmware-sdk |
A software development kit for connecting embedded devices to the Golioth IoT Cloud |
External README |
| lwIP |
Lightweight open-source TCP/IP stack. |
External website |
| virtual-connectivity-manager |
Virtual-Connectivity-Manager (VCM) is a library that enables connectivity libraries to add multi-core support through virtualization. Virtualization allows the connectivity stack running on one core to be accessed from another core using Inter Process Communication (IPC). |
API reference |
ModusToolbox™ for Wi-Fi
| Library |
Details |
Docs |
| wifi-mw-core |
The Wi-Fi Middleware Core library bundles the core libraries that any Wi-Fi application needs. |
API reference |
| wifi-host-driver |
The Wi-Fi Host Driver (WHD) is an independent, embedded driver that provides a set of APIs to interact with our WLAN chips. |
API reference |
| wifi-connection-manager |
The Wi-Fi Connection Manager (WCM) includes the wifi-mw-core library by default and provides easy to use APIs to establish and monitor Wi-Fi connections on our devices that support Wi-Fi connectivity. |
API reference |
| smartcoex |
Provides an API to configure the coex parameters for WLAN and Bluetooth® Low Energy on PSOC™ 6 MCU based platforms with Wi-Fi & Bluetooth® combo chip. |
API reference |
| enterprise-security |
This library implements a collection of the most commonly used Extensible Authentication Protocols (EAP) used in enterprise Wi-Fi networks |
API reference |
| wpa3-external-supplicant |
The WPA3 External Supplicant supports WPA3 SAE authentication using HnP (Hunting and Pecking Method) using RFC, as well as H2E (Hash to Element Method) using RFC following 802.11 spec 2016. |
README |
ModusToolbox™ for Bluetooth®
| Library |
Details |
Docs |
| ble-mesh |
Provides Application Programming Interfaces (APIs) for application developers to use and create Mesh Applications. |
API reference |
| btstack |
BTSTACK is our Bluetooth® Host Protocol Stack implementation. The stack is optimized to work on our Bluetooth® controllers. |
API reference Dual Mode API reference |
| btstack-integration |
Platform adaptation layer (porting layer) between AIROC™ BT Stack and Abstraction Layers (CYHAL and CYOSAL) for different hardware platforms. |
README |
| bless |
This library is specific to devices like CY8C6347BZI-BLD53, with onboard Bluetooth® and no separate connectivity device. The Bluetooth® Low Energy Subsystem (BLESS) library contains a comprehensive API to configure the Bluetooth® LE Stack and the underlying chip hardware. |
API reference |
For information about BTSDK, see https://Infineon.github.io/btsdk-docs/BT-SDK/index.html.
ModusToolbox™ for Motor Control
ModusToolbox™ for Power Conversion
ModusToolbox™ for Graphics
| Library |
Details |
Docs |
| emwin |
SEGGER embedded graphic library and graphical user interface (GUI) framework designed to provide processor- and display controller-independent GUI for any application that needs a graphical display. |
Overview |
ModusToolbox™ for Security
ModusToolbox™ for Machine Learning
See the following code examples for Machine learning:
ModusToolbox™ for Voice
ModusToolbox™ for HMI
| Library |
Details |
Docs |
| CAPSENSE™ |
Capacitive sensing can be used in a variety of applications and products where conventional mechanical buttons can be replaced with sleek human interfaces to transform the way users interact with electronic systems. |
API reference |