You are here

ModusToolbox™ Software Environment | Cypress Semiconductor

ModusToolbox™ Software Environment

ModusToolbox Software Environment

ModusToolbox is a set of multi-platform development tools and a comprehensive suite of GitHub-hosted firmware libraries. Together, they enable an immersive development experience for customers creating converged MCU and Wireless systems.

Familiar User Experience

The ModusToolbox experience is adaptable to the way you work, eschewing proprietary tools and custom build environments in favor of simplicity and openness. This means you choose your compiler, your IDE, your RTOS, and your ecosystem without compromising usability or access to our industry-leading CapSense®, Bluetooth Low Energy and Mesh, Wi-Fi, security and low-power features.

Openness and Simplicity

Almost all firmware is provided as Apache® 2.0-licensed source code and is exhaustively tested with GNU Arm Embedded v7, Arm Compiler 6, and IAR C/C++ Compiler v8. Our make-based flow is easy to understand and supports command-line builds as well as IDE-based development with IAR Embedded Workbench, Arm MDK, and our Eclipse-based ModusToolbox IDE. Our device and middleware configuration tools generate simple C code that just gets compiled into your application without error-prone format conversion or mysterious merge utilities.

World-Class Software and Ecosystem Partners

Modern embedded applications are more complicated than ever, and we recognize that world-class software for all the functionality you need is already available. Accordingly, we aggressively target the best third-party software, such as Mbed TLS and Segger emWin, and integrate it into our ModusToolbox ecosystem to ensure high quality and a painless user experience. This commitment to working with the best partners extends to IoT development platforms like Mbed™ OS and Amazon FreeRTOS™. We are active contributors to these communities and support cloud-based application development with comprehensive board support packages, unique firmware libraries, technical support to our users.

Download ModusToolbox 2.0 for Windows®, macOS®, and Linux® now!

For code examples, please visit Cypress' GitHub Repository.

For additional information and support please visit the ModusToolbox page in the Cypress Developer Community.

ModusToolbox™ 2.0 Documentation
This page provides brief descriptions and links to various types of documentation included as part the ModusToolbox software.
Getting Started Documents
This section contains general documents to install ModusToolbox software, use the IDE, learn tips for using ModusToolbox in Eclipse, and porting applications from other Cypress IDEs.
Name Description
ModusToolbox Installation Guide This document is available online only. It describes how to install the ModusToolbox software on Windows, Linux, and macOS.
ModusToolbox Release Notes Features and Known Issues for the ModusToolbox 2.0 release.
ModusToolbox IDE Quick Start Guide Step-by-step guide to create and build starter applications using the IDE.
ModusToolbox IDE User Guide Guide covering more details about the ModusToolbox IDE and software features.
ModusToolbox Software Overview General overview about all of ModusToolbox.
Eclipse Survival Guide This document is also online only. It offers tips on how the ModusToolbox IDE works in the Eclipse environment.
Running ModusToolbox from the Command Line Guide for using the command-line make for ModusToolbox applications.
Configurator and Tool Documents
These documents are located in the "tools" directory in each individual configurator and tool "docs" subfolder.
Name Description
Device Configurator Guide Covers how to enable and configure platform peripherals, such as clocks and pins, as well as standard MCU peripherals, that do not require their own tool.
CapSense Configurator Guide Covers how to create and configure CapSense widgets and generate code to control the application firmware.
CapSense Tuner Guide Covers how to use the Tuner to debug your CapSense application.
QSPI Configurator Guide Covers how to open or create configuration files, configure memory slots, and generate code for your application.
Segment LCD Configurator Guide Covers how to configure LCDs and generate code for your application.
Smart I/O Configurator Guide Covers how to configure the Smart I/O and generate code for your application.
Bluetooth Configurator Guide Covers how to configure Bluetooth parameters and generate code to control the application firmware.
USB Configurator Guide Covers how to design a USB Full Speed device by configuring the descriptors needed for your application.
Library Manager User Guide Covers how to add/remove BSPs and libraries.
Project Creator Guide Covers how to use the stand-alone tool to create projects with the IDE.
Cypress MCU Elf Tool User Guide Covers how to use the CyMCUElfTool for signing important data structures, merging ELF files, and generating bootloadable data for use with the PSoC 6 MCU Bootloader.
Device Firmware Update Host Guide Covers how to use the Device Firmware Update Host Tool to communicate with a PSoC 6 MCU with a programmed application and perform various actions, such as program new data, verify, and erase.
Power Estimator User Guide Provides an estimate of power consumed by a target device (also called platform).


The PSoC 6 SDK is all about options for MCU designs. It is a git-hosted suite of firmware packages providing robust BSP implementations for all the Cypress kits, coupled with all the drivers and libraries you need to assemble incredibly feature-rich applications.

Your Compiler, Your IDE

Regardless of the target device or the type of application you are creating, you have control over the way you want to work. Applications based on the PSoC 6 SDK have a very simple build recipe that is controlled by the ubiquitous make utility. There are no proprietary tools or merge steps involved, and so using IDEs such as IAR’s Embedded Workbench (EW-ARM) or Arm’s Microcontroller Development Kit (MDK) requires very little effort when setting up your project. All firmware is thoroughly tested with the GNU Arm Embedded, IAR C/C++, and Arm compilers, and so your IDE choice never compromises reliability or usability.

Powerful Tools

As a key part of the ModusToolbox environment, PSoC 6 SDK is fully supported by the ModusToolbox IDE, configuration tools and make-based build system. The Project-Creator and Library-Manager tools make the job of setting up a project, for any IDE, extremely simple and error-free. Project-Creator takes your chosen BSP and presents a set of starter example projects that support it. Make your choices and it pulls in all the firmware required to build the application. When you decide to add functionality to the design, the Library-Manager presents all middleware that is compatible with the BSP and you just choose the functionality you need. It even lets you change the target BSP so you can test out your project on any number of devices and boards.

Project-Creator example

Project-Creator example

Library-Manager example

Library-Manager example

Code Examples

For code examples, please visit Cypress' GitHub Repository.

PSoC 6 Kits

PSoC 6 Libraries

  • PSoC 6 Peripheral Driver Library (psoc6pdl)
  • PSoC 6 Device Firmware Update Middleware Library (dfu)
  • Cypress Hardware Abstraction Layer (psoc6hal)
  • Cypress CapSense Middleware Library (capsense)
  • Cypress CSDADC Middleware Library (csdadc)
  • Cypress CSDIDAC Middleware Library (csdidac)
  • Cypress USB Device Middleware Library (usbdev)
  • Cypress Emulated EEPROM Middleware Library (emeeprom)
  • SEGGER emWin Middleware Library (emwin)
  • FreeRTOS (freertos)
Amazon FreeRTOS

Amazon FreeRTOS SDK

With ModusToolbox version 2.0 and later, support for Amazon FreeRTOS is enabled for PSoC 6. Amazon FreeRTOS is an open source operating system that extends the popular FreeRTOS kernel with software libraries that make it easy to connect IoT devices to AWS cloud services like AWS IoT Core.

For additional information and getting started instructions on using Amazon FreeRTOS with PSoC 6, please go to the ModusToolbox Amazon FreeRTOS SDK community page.

Arm Mbed SDK

Mbed SDK

Mbed OS is an open-source real-time operating system (RTOS) for the Internet of Things. PSoC 6 brings an astonishing combination of flexibility, security, ultra-low power architecture, and 150MHz compute performance to the Mbed OS ecosystem. In combination with our CYW4343W (8012.11b/g/n) and CYW43012 (802.11 ac-friendly) connectivity devices, PSoC enables concurrent Wi-Fi and Bluetooth Low Energy (BLE) operation through a single antenna. This uniquely empowers Mbed OS users to create ever more diverse and exciting applications at the edge of the IoT without the power, complexity and cost impact of multi-chip alternatives.

To get started with Mbed OS on PSoC 6, visit our team page on, where you will find information about the supported kits and links to download and install the Mbed CLI. The following kits are already Mbed-enabled.

BT SDK (Bluetooth)

The BT SDK contains everything you need to build applications for the following dual mode (BR + EDR + BLE) Bluetooth 5.0 core spec compliant solutions: CYW20719B2, CYW20721B2, CYW20819, CYW20820 and CYW89820. The SDK, along with the ModusToolbox IDE and configurator tools, form a powerful but easy to use toolset that helps you create amazing Bluetooth-enabled IoT solutions like beacons, trackers, smart watches, audio devices (headsets, speakers), hid devices (remotes, mice, keyboard), medical devices, and home automation platforms. The SDK includes the following:

  • Bluetooth firmware
  • Platform and board support packages
  • Utilities including BTSpy trace, Manufacturing Bluetooth test tool, Client Control, and Mesh Client control
  • Peer apps for OTA and Mesh
  • A rich set of WICED™ connectivity APIs that allow for simplified programming of BT/BLE connectivity
  • Various sample applications that serve as examples of how to utilize the BT/BLE APIs
  • More complex code examples that utilize various APIs and middleware to create a more complete solution

Bluetooth Documentation

BT SDK Documentation for the WICED Bluetooth devices are available on the Cypress semiconductor github:

For additional information and support please visit the BT SDK page in the Cypress Developer Community.