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.

The firmware libraries comprise easily customizable Board Support Packages (BSP) for Cypress PSoC® 6 and Bluetooth® SoC (20xxx) kits, a comprehensive set of middleware libraries - enabling industry-leading features such as CapSense®, Bluetooth Low Energy and Mesh, and the lowest-power, most reliable Wi-Fi® on the market - plus an impressive set of thoroughly tested and amazingly helpful code example applications.

IoT Solutions

ModusToolbox is rapidly establishing itself as the most adaptable development system for IoT and includes carefully packaged solutions to support the popular ecosystems and cloud management tools in use today.

  • Arm® Pelion™ Cloud Management and Mbed™ OS
  • Amazon Web Services (AWS) IoT and FreeRTOS™
  • Cypress AnyCloud IoT

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 Microsoft Visual Studio® Code, IAR Embedded Workbench®, Arm MDK, and an Eclipse-based IDE with specialized ModusToolbox plugins. 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 much of the functionality you need is already available. Why reinvent it? We aggressively target the best third-party software, such as Mbed TLS, TF-M from TrustedFirmware.org and Segger emWin, and integrate it into our ModusToolbox ecosystem to ensure the highest reliability and a painless user experience.

Download ModusToolbox 2.1 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.

Learn about Infineon Tools

New in June

HTTP Server for AnyCloud

Our HTTP server library, which was originally released for use with Mbed OS, has been extended to support the AnyCloud solution. It is a rich implementation with this impressive feature list.

  • Provides secure (with TLS security) and non-secure connections
  • Includes a comprehensive set of RESTful HTTP methods such as GET and POST
  • Supports various resource content types such as HTML, Plain, JSON, etc.
  • Handles large content payload (greater than MTU size) using a content length HTTP header
  • Supports chunked encoding for GET and POST methods

IPv6

The AnyCloud Secure Sockets library has been extended to support IPv6. This enlarges the device address space and shall enable future application layer protocol support, such as HomeKit, Weave and mDNS (Multicast DNS).

New in ModusToolbox 2.1

The 2.1 release of ModusToolbox includes support for new third-party IDEs, improved access to the GitHub libraries, support for off-line development, and new Board Support Packages.

Microsoft Visual Studio Code

VS Code is an exciting (and free) new code editing environment from Microsoft that is rapidly becoming popular among embedded developers. Cypress assisted in the development of a Cortex-M debugging plug-in that transforms the tool into a powerful and intuitive IDE. The product is completely free and supports all host OS; you just install VS Code, add the Cortex-M plug-in, and export your projects with the simple ModusToolbox “make vscode” command.

Arm Microcontroller Development Kit (MDK)

You can now export designs from the command-line into Arm’s µVision IDE in seconds. Just like VS Code, the “make uvision5” command generates a CMSIS Pack file that you can use to create new projects in your favorite IDE. There’s no need to redesign your development flow or invest in costly replacements to your trusty ULINK debugger hardware. Just install the Cypress PSoC 6 Device Family Pack (DFP) using the CMSIS Pack installer and you’re ready to go.

AnyCloud Wireless Connection Manager (WCM)

The WCM makes Wi-Fi connections easier and more reliable. Firstly, it implements WPS to simplify the secure connection of a device to access points (AP). This enables applications to store the credentials in non-volatile memory so that future connections are just automatic whenever the AP is available. Secondly, it provides a monitoring service to detect problems and keep connections alive, improving the reliability of your products and leaving you free to work on the important stuff - your application.

AnyCloud Secure Socket API

Networking software is tricky. Secure networking software is really tricky! So we have created a secure socket API that makes it all much easier. The AnyCloud core library already includes Mbed TLS to enable the creation of secure connections but, with the addition of our secure sockets library that abstracts away a lot of the TLS complexity, you can now build secure applications without having to earn a degree in cryptography first!

Over-The-Air (OTA) Bootloading over MQTT

The AnyCloud OTA toolkit is a highly extensible solution that can be modified to work with any third-party or custom IoT device management software. A well-crafted code example demonstrates a simple OTA download over MQTT from a Mosquitto broker. It also shows off safe application upgrades with the industry standard MCUboot secure bootloader Together, they show how to rapidly create efficient and reliable OTA schemes that perfectly match the needs of your cloud solution.

Low Power Assistant (LPA)

Cypress LPA is a library and associated configurator that allow you to configure a PSoC 6 Host and WLAN (Wi-Fi / Bluetooth Radio) device for optimized low-power operation. The lpa library provides an API for the application to set up the connectivity device behavior and the Device Configurator generates the code to make using that API as easy as possible. With LPA you can achieve the most aggressive power budgets by placing the host device into sleep or deepsleep modes while networks are quiet or handling traffic that can be handled on the connectivity device.

  • Automatic host wakeup on a Wi-Fi or Bluetooth event
  • Reduced broadcast traffic with ARP offload
  • Selected Wi-Fi packet filtering

LPA in Device Configurator

Bluetooth Low Energy

In addition to the great Wi-Fi support in AnyCloud, you can now use the Bluetooth LE functionality in the 43xxx combo device to implement a network introducer. Our carefully designed and well documented code example shows you how to safely and quickly connect a wireless device to a Wi-Fi network using Bluetooth Low Energy to select the network and enter the password.

Proxy Handling Improvements

Firewall issues have been identified as problematical for several users of ModusToolbox 2.0. To minimize the impact, the number of places where proxy settings are required has been minimized and a means of rapidly enabling/disabling proxy settings has been implemented.

Project Creator Update

The Project Creator tool has been spruced up to make it easier and quicker to get started on a new project. ModusToolbox supports a lot of kits and the tool now groups them by device type so you don't accidentally create a Bluetooth project when you wanted to use CapSense on a PSoC! You can also create multiple projects without having to re-run the tool, which is both convenient and ensures you create them all for the right kit.

ModusToolbox® 2.1 Documentation
This page provides brief descriptions and links to various types of documentation included as part the ModusToolbox software.
For ModusToolbox version 2.0 documentation, please click here.
Getting Started Documents
This section contains general documents to install and use ModusToolbox software, as well as use the provided Eclipse IDE.
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 This document lists and describes features for this release of ModusToolbox. It also includes known issues and workarounds and important design impacts you should know.
ModusToolbox User Guide This document provides an overall user guide for ModusToolbox GUI and CLI tools, including getting started and exporting to various IDEs, including Visual Studio Code, IAR Embedded Workbench, and Keil µVision.
Eclipse IDE for ModusToolbox Quick Start Guide This is a short step-by-step guide specifically for using the Eclipse-based IDE to create and build applications for ModusToolbox.
Eclipse IDE for ModusToolbox User Guide This guide also focuses on the Eclipse IDE, covering more details about the IDE and software features.
Eclipse Survival Guide This document is also online only. It offers tips on using the Eclipse environment.
PSoC® Creator™ to ModusToolbox Porting Guide Information to port an application from PSoC Creator to ModusToolbox.
Configurator and Tool Documents
These documents are located in the "tools" directory in each individual configurator and tool "docs" subfolder.
Name Description
Project Creator Guide Covers how to use the stand-alone tool to create projects for ModusToolbox.
Library Manager User Guide Covers how to add/remove BSPs and libraries for your ModusToolbox project.
Firmware Loader on GitHub This is a link to the Firmware Loader tool with the latest version of KitProg3 firmware. Use this tool to upgrade the firmware on your development/evaluation kit.
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.
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).

IoT Solutions

ModusToolbox is rapidly establishing itself as the most adaptable development system for IoT and includes carefully packaged solutions to support the popular ecosystems and cloud management tools in use today. Cypress’ 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, and technical support for our users. ModusToolbox enables three IoT solutions today.

  • Arm Pelion Cloud Management and Mbed OS
  • Amazon Web Services (AWS) IoT and FreeRTOS
  • Cypress AnyCloud IoT

Arm Pelion Cloud Management and Mbed OS

Arm 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 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 os.mbed.com/teams/Cypress, where you will find information about the supported and Mbed-enabled kits plus links to download and install the Mbed CLI.

Amazon Web Services (AWS) IoT and FreeRTOS

Amazon FreeRTOS

FreeRTOS has been extended by Amazon into a market-leading real-time operating system (RTOS) for microcontrollers, built with an emphasis on reliability and ease of use. It includes a kernel and a growing set of libraries that provide connectivity, security, and over-the-air (OTA) updates.

PSoC 6 is fully integrated into FreeRTOS, using libraries and examples from the ModusToolbox GitHub repos. Together, this enables the creation of highly secure, low power products that connect seamlessly to AWS cloud services like AWS IoT Core.

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

Cypress AnyCloud IoT

A fascinating aspect of the growth of IoT is that as fast as the number and type of edge devices is growing, so is the number and type of ways of managing them all. Only you know the best way to keep your wireless products secure and up to date. Cypress AnyCloud is a development solution for IoT applications that is not tied to a specific cloud provider or management tool. It provides the core functionality – connectivity, security, firmware upgrade support, and application layer protocols like MQTT – but is flexible so you can modify or extend it to match your needs. AnyCloud leverages the ModusToolbox Project Creator and Library Manager tools to help you get started with the basics and leaves you free to optimize the application any way you please. For additional information and support, please visit the AnyCloud SDK page in the Cypress Developer Community.

AnyCloud Connectivity libraries in the Library Manager

PSoC 6

ModusToolbox supports PSoC 6 with a set of fantastic set of tools for setting up peripherals and complementing your projects with world-class middleware. The cypresssemiconductorco GitHub repos include BSPs for all the Cypress kits, libraries for popular functionality like CapSense and emWin, and a comprehensive array of example applications to get you started.

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. PSoC 6 applications 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.

Flexible Project Management Tools

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 more 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

Library Manager

Easy Device and Middleware Configuration

ModusToolbox is all about making life easier for PSoC developers. We have an easy-to-use HAL firmware API that makes it quick and easy to do the things that every embedded application needs; set up a UART for printf(), start a timer, toggle an LED, and so on. Sometimes you need to get into the more advanced features of a peripheral and, with our unique configurator technology, that’s not difficult either.

You can start with the Device Configurator for the core set of peripherals like clocks, pins, TCPWMs, and SCBs. There are also the CapSense, Smart I/O™ and QSPI Configurators that are dedicated to helping you quickly unleash the famous PSoC device features. Each one generates simple C code that is really easy to understand and use.

Device Configurator

We also give you application-level configurators, such as the Bluetooth, Segment LCD, and USB tools. The tools generate the glue between the hardware and the libraries that provide higher-level functionality than the HAL and peripheral configurators. There is no easier way to set up your Bluetooth Low Energy profiles and services, USB descriptors and end points, and to map LCD segments to pins than with our uniquely powerful an intuitive middleware configurators.

Bluetooth Configurator

Bluetooth SDK (Bluetooth)

The Bluetooth SDK contains everything you need to build applications for the following dual mode (BR + EDR + Bluetooth Low Energy) Bluetooth 5.0 core spec compliant solutions: CYW20706, CYW20719B2, CYW20721B2, CYW20735B1, 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 BluetoothSpy 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 Bluetooth/Bluetooth Low Energy connectivity
  • Various sample applications that serve as examples of how to utilize the Bluetooth/Bluetooth Low Energy APIs
  • More complex code examples that utilize various APIs and middleware to create a more complete solution

Bluetooth Documentation

Bluetooth SDK Documentation for the WICED Bluetooth devices are available on the Cypress semiconductor github: https://cypresssemiconductorco.github.io/btsdk-docs/BT-SDK/index.html

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